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

Reply via email to