Markos Zaharioudakis has proposed merging lp:~zorba-coders/zorba/markos-scratch 
into lp:zorba.

Commit message:
Fixed bug #1148335 (where-clause expression was not always reset when it should 
be)

Requested reviews:
  Markos Zaharioudakis (markos-za)

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/markos-scratch/+merge/151906

Fixed bug #1148335 (where-clause expression was not always reset when it should 
be)
-- 
https://code.launchpad.net/~zorba-coders/zorba/markos-scratch/+merge/151906
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'ChangeLog'
--- ChangeLog	2013-03-04 16:17:30 +0000
+++ ChangeLog	2013-03-06 10:00:32 +0000
@@ -29,6 +29,7 @@
   * Fixed bug in index join rule (copy var ids after cloning index domain expr).
   * Added missing wrapper expressions around some variable references.
   * Fixed bug in the throwing of error XQTY0086 during node construction.
+  * Fixed bug #1148335 (where-clause expression was not always reset when it should be)
   * Fixed bug #1122396 (Associate origin/destination URI to I/O stream)
   * Fixed bug #1111786 (xml/json parse error location in catch clause).
   * NaN items are considered equal to each other during grouping

=== modified file 'src/runtime/core/flwor_iterator.cpp'
--- src/runtime/core/flwor_iterator.cpp	2013-02-26 04:12:43 +0000
+++ src/runtime/core/flwor_iterator.cpp	2013-03-06 10:00:32 +0000
@@ -1310,7 +1310,10 @@
 {
   store::Item_t boolValue;
   if (!consumeNext(boolValue, predicateIter.getp(), planState))
+  {
+    predicateIter->reset(planState);
     return false;
+  }
 
   bool value = boolValue->getBooleanValue();
   predicateIter->reset(planState);

=== added file 'test/rbkt/ExpQueryResults/zorba/flwor/flwor23.xml.res'
=== added file 'test/rbkt/Queries/zorba/flwor/flwor23.xq'
--- test/rbkt/Queries/zorba/flwor/flwor23.xq	1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/flwor/flwor23.xq	2013-03-06 10:00:32 +0000
@@ -0,0 +1,10 @@
+
+let $foo := (
+  { "foo" : "bar" },
+  { "foo" : "bar" },
+  { "foo" : "bar" },
+  { "foo" : "bar" },
+  { "foo" : "bar" },
+  { "foo" : "bar" }
+)
+return $foo[position() lt 4 and .("id") eq 3]

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to     : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp

Reply via email to