Hi Marc,
Am 21.03.2015 um 15:12 schrieb Marc van Grootel:
I think I found a bug in 8.0.3 (and earlier)
declare function local:shortcircuit($a) { if ($a castable as xs:double and xs:double($a) gt 0) then $a else () };
local:shortcircuit('foo')
=> [FORG0001] Cannot cast to xs:double: "foo".
thanks! This is a bug in the code implementing variable inlining for the `and` and `or` expression. I opened an issue [1] and submitted a fix [2] to GitHub, which Christian will surely merge as soon as he is back from his business trip.
Cheers, Leo
[1] https://github.com/BaseXdb/basex/issues/1108 [2] https://github.com/BaseXdb/basex/pull/1109