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