zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #18724
[Merge] lp:~zorba-coders/zorba/markos-scratch into lp:zorba
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]
Follow ups