We have some code generation and it produced a syntax error. However, running 9.2.4 in production, the server gave a stack overflow tail recursion instead of "Cannot convert xs:integer to xs:date: 1970." (like the GUI did).
Here was the error reported: java.lang.RuntimeException: org.basex.core.BaseXException: Stack Overflow: Try tail recursion?
Here is the snippet of code that originally cause the 'stack overflow'. The issue is the date is not in quotes.
function($endDate as xs:date?) as xs:Boolean { let $intervalBeginDate := xs:date(2019-09-30) let $intervalEndDate := xs:date(2019-09-30) return ($endDate ge $intervalBeginDate) and ($endDate le $intervalEndDate) };
However, when I fix the code generation, everything is fine (see new code below). Just seems "strange" that this would cause the server to throw a 'stack overflow' error.
function($endDate as xs:date?) as xs:Boolean { let $intervalBeginDate := xs:date('2019-09-30') let $intervalEndDate := xs:date('2019-09-30') return ($endDate ge $intervalBeginDate) and ($endDate le $intervalEndDate) };
Buddy
Hi Buddy,
Here is the snippet of code that originally cause the ‘stack overflow’. The issue is the date is not in quotes.
function($endDate as xs:date?) as xs:Boolean
There are various syntactical bugs in your example: The "declare" is missing, as well as the function name, and it must be "xs:boolean".
Once again, please provide us with an SSCCE ;) …otherwise, I am sorry we cannot give any helpful advice.
Thanks Christian
Sorry for that - with was actually a definition stored in a map. I will get a SSCCE together for you.
Buddy
-----Original Message----- From: Christian Grün christian.gruen@gmail.com Sent: Wednesday, September 11, 2019 4:24 AM To: Buddy Kresge buddy.kresge@known2u.com Cc: basex-talk@mailman.uni-konstanz.de Subject: Re: [basex-talk] Stack overflow instead of syntax error
Hi Buddy,
Here is the snippet of code that originally cause the ‘stack overflow’. The issue is the date is not in quotes.
function($endDate as xs:date?) as xs:Boolean
There are various syntactical bugs in your example: The "declare" is missing, as well as the function name, and it must be "xs:boolean".
Once again, please provide us with an SSCCE ;) …otherwise, I am sorry we cannot give any helpful advice.
Thanks Christian
basex-talk@mailman.uni-konstanz.de