errors not caught if raised during temp index creation

Bug #967428 reported by Matthias Brantner
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Zorba
Fix Released
Low
Markos Zaharioudakis

Bug Description

Errors might not be caught by a try-catch expression if they are raised during the creation of a temporary index. The following example should return "caught" but instead the error is propagated up.

declare function local:foo() as element()*
{
  for $i in 1 to 10
  return if ($i mod 2 eq 0) then <a id="{$i}"/> else fn:error()
};

declare function local:bar() as element()*
{
  for $i in 1 to 10
  return <b id="{$i}"/>
};

try {
  for $i in local:bar()/@id
  for $j in local:foo()/@id
  where xs:string($i) eq xs:string($j)
  return $i
} catch * {
  "caught"
}

Changed in zorba:
importance: High → Low
Changed in zorba:
status: New → In Progress
Changed in zorba:
milestone: 2.5 → 2.7
Changed in zorba:
status: In Progress → Fix Committed
Changed in zorba:
milestone: 2.7 → 2.6
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.