Merge lp:~paul-lucas/zorba/pjl-misc into lp:zorba
- pjl-misc
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Paul J. Lucas |
Approved revision: | 11450 |
Merged at revision: | 11698 |
Proposed branch: | lp:~paul-lucas/zorba/pjl-misc |
Merge into: | lp:zorba |
Diff against target: |
40111 lines (+18865/-19244) 193 files modified
bin/zorbacmd_args.cpp (+18/-2) src/compiler/codegen/plan_visitor.cpp (+8/-9) src/runtime/visitors/iterprinter.cpp (+110/-111) src/runtime/visitors/iterprinter.h (+85/-120) src/runtime/visitors/printer_visitor_api.cpp (+8/-8) src/runtime/visitors/printer_visitor_impl.cpp (+1/-1) test/iterplans/apitest_args.cpp (+30/-1) test/iterplans/update_iter_plans (+13/-3) test/iterplans/zorba/collections/count_dynamic_zorba_collection.iter (+17/-17) test/iterplans/zorba/collections/count_static_zorba_collection.iter (+35/-35) test/iterplans/zorba/collections/count_w3c_collection.iter (+27/-27) test/iterplans/zorba/collections/no_copy_01.iter (+61/-61) test/iterplans/zorba/dblp/q0.iter (+178/-178) test/iterplans/zorba/error/trace1.iter (+8/-8) test/iterplans/zorba/flwor/flwor24.iter (+54/-54) test/iterplans/zorba/flwor/flwor25.iter (+54/-54) test/iterplans/zorba/flwor/flwor26.iter (+64/-64) test/iterplans/zorba/flwor/flwor27.iter (+60/-60) test/iterplans/zorba/flwor/flwor28.iter (+54/-54) test/iterplans/zorba/flwor/flwor_op00.iter (+26/-26) test/iterplans/zorba/flwor/flwor_op01.iter (+32/-32) test/iterplans/zorba/flwor/flwor_op02.iter (+37/-37) test/iterplans/zorba/hashjoins/9065.iter (+54/-54) test/iterplans/zorba/hashjoins/9066.iter (+44/-44) test/iterplans/zorba/hashjoins/9067.iter (+63/-63) test/iterplans/zorba/hashjoins/9068.iter (+71/-71) test/iterplans/zorba/hashjoins/9197.iter (+68/-68) test/iterplans/zorba/hashjoins/9198.iter (+69/-69) test/iterplans/zorba/hashjoins/9199.iter (+69/-69) test/iterplans/zorba/hashjoins/9204.iter (+70/-70) test/iterplans/zorba/hashjoins/9206.iter (+63/-63) test/iterplans/zorba/hashjoins/9207.iter (+69/-69) test/iterplans/zorba/hashjoins/9210.iter (+63/-63) test/iterplans/zorba/hashjoins/9211.iter (+66/-66) test/iterplans/zorba/hashjoins/9212.iter (+73/-73) test/iterplans/zorba/hashjoins/9389.iter (+65/-65) test/iterplans/zorba/hashjoins/9390.iter (+65/-65) test/iterplans/zorba/hashjoins/9391.iter (+70/-70) test/iterplans/zorba/hashjoins/9392.iter (+66/-66) test/iterplans/zorba/hashjoins/9399.iter (+64/-64) test/iterplans/zorba/hashjoins/9400.iter (+61/-61) test/iterplans/zorba/hashjoins/gary1.iter (+194/-194) test/iterplans/zorba/hashjoins/gflwor_02.iter (+209/-209) test/iterplans/zorba/hashjoins/gflwor_03.iter (+194/-194) test/iterplans/zorba/hashjoins/gflwor_04.iter (+120/-120) test/iterplans/zorba/hashjoins/gflwor_05.iter (+124/-124) test/iterplans/zorba/hashjoins/idx1.iter (+90/-90) test/iterplans/zorba/hashjoins/idx10.iter (+127/-127) test/iterplans/zorba/hashjoins/idx11.iter (+75/-75) test/iterplans/zorba/hashjoins/idx2.iter (+86/-86) test/iterplans/zorba/hashjoins/idx3.iter (+82/-82) test/iterplans/zorba/hashjoins/idx4.iter (+158/-158) test/iterplans/zorba/hashjoins/idx5.iter (+24/-24) test/iterplans/zorba/hashjoins/idx8.iter (+93/-93) test/iterplans/zorba/hashjoins/idx9.iter (+88/-88) test/iterplans/zorba/hashjoins/no_idx1.iter (+64/-64) test/iterplans/zorba/hashjoins/q8.iter (+90/-90) test/iterplans/zorba/index/match_veq_01.iter (+123/-123) test/iterplans/zorba/index/match_veq_02.iter (+165/-165) test/iterplans/zorba/index/match_veq_03.iter (+165/-165) test/iterplans/zorba/index/match_veq_04.iter (+229/-229) test/iterplans/zorba/index/match_veq_05.iter (+317/-317) test/iterplans/zorba/index/match_veq_06.iter (+309/-309) test/iterplans/zorba/index/match_veq_07.iter (+144/-144) test/iterplans/zorba/index/match_veq_08b.iter (+112/-112) test/iterplans/zorba/index/match_veq_09.iter (+112/-112) test/iterplans/zorba/index/match_veq_10.iter (+126/-126) test/iterplans/zorba/index/match_veq_11.iter (+182/-182) test/iterplans/zorba/index/match_vrange_01.iter (+237/-237) test/iterplans/zorba/index/match_vrange_02.iter (+279/-279) test/iterplans/zorba/index/match_vrange_02a.iter (+317/-317) test/iterplans/zorba/index/match_vrange_02b.iter (+301/-301) test/iterplans/zorba/index/match_vrange_03.iter (+292/-292) test/iterplans/zorba/index/match_vrange_04.iter (+47/-47) test/iterplans/zorba/index/match_vrange_05.iter (+67/-67) test/iterplans/zorba/index/match_vrange_06.iter (+88/-88) test/iterplans/zorba/jsoniq/member_01.iter (+31/-31) test/iterplans/zorba/misc/hoist4.iter (+103/-103) test/iterplans/zorba/misc/inline_var1.iter (+63/-63) test/iterplans/zorba/no-copy/dataguide-c.iter (+320/-320) test/iterplans/zorba/no-copy/dataguide-nc.iter (+320/-320) test/iterplans/zorba/no-copy/dataguide2-c.iter (+120/-120) test/iterplans/zorba/no-copy/dataguide2-nc.iter (+120/-120) test/iterplans/zorba/no-copy/dblp-q0.iter (+178/-178) test/iterplans/zorba/no-copy/hashjoin-9065.iter (+54/-54) test/iterplans/zorba/no-copy/hashjoin-9198.iter (+69/-69) test/iterplans/zorba/no-copy/hashjoin-9199.iter (+69/-69) test/iterplans/zorba/no-copy/hashjoin-9212.iter (+73/-73) test/iterplans/zorba/no-copy/hashjoin-9389.iter (+65/-65) test/iterplans/zorba/no-copy/hashjoin-9390.iter (+65/-65) test/iterplans/zorba/no-copy/hashjoin-9392.iter (+66/-66) test/iterplans/zorba/no-copy/hashjoin-gary1.iter (+194/-194) test/iterplans/zorba/no-copy/hashjoin-idx1.iter (+90/-90) test/iterplans/zorba/no-copy/hashjoin-idx4.iter (+158/-158) test/iterplans/zorba/no-copy/hashjoin-q8.iter (+90/-90) test/iterplans/zorba/no-copy/node-copy-01.iter (+30/-30) test/iterplans/zorba/no-copy/node-copy-02.iter (+30/-30) test/iterplans/zorba/no-copy/node-copy-03.iter (+30/-30) test/iterplans/zorba/no-copy/path17.iter (+67/-67) test/iterplans/zorba/no-copy/q1.iter (+47/-47) test/iterplans/zorba/no-copy/q10.iter (+239/-239) test/iterplans/zorba/no-copy/q11.iter (+98/-98) test/iterplans/zorba/no-copy/q12.iter (+111/-111) test/iterplans/zorba/no-copy/q13.iter (+40/-40) test/iterplans/zorba/no-copy/q14.iter (+39/-39) test/iterplans/zorba/no-copy/q15.iter (+38/-38) test/iterplans/zorba/no-copy/q16.iter (+54/-54) test/iterplans/zorba/no-copy/q17.iter (+46/-46) test/iterplans/zorba/no-copy/q18.iter (+36/-36) test/iterplans/zorba/no-copy/q19.iter (+51/-51) test/iterplans/zorba/no-copy/q2.iter (+32/-32) test/iterplans/zorba/no-copy/q20.iter (+172/-172) test/iterplans/zorba/no-copy/q3.iter (+106/-106) test/iterplans/zorba/no-copy/q4.iter (+105/-105) test/iterplans/zorba/no-copy/q5.iter (+41/-41) test/iterplans/zorba/no-copy/q6.iter (+28/-28) test/iterplans/zorba/no-copy/q7.iter (+34/-34) test/iterplans/zorba/no-copy/q8.iter (+97/-97) test/iterplans/zorba/no-copy/q9.iter (+155/-155) test/iterplans/zorba/no-copy/ser_03.iter (+31/-31) test/iterplans/zorba/no-copy/test5.iter (+47/-47) test/iterplans/zorba/no-copy/test6.iter (+43/-43) test/iterplans/zorba/no-copy/udfs1.iter (+69/-69) test/iterplans/zorba/optim/doc_order_01.iter (+46/-46) test/iterplans/zorba/optim/hoist01.iter (+25/-25) test/iterplans/zorba/optim/hoist_trycatch_01.iter (+206/-206) test/iterplans/zorba/optim/hoist_window_01.iter (+272/-272) test/iterplans/zorba/optim/pos_pred10.iter (+18/-18) test/iterplans/zorba/optim/pos_pred11.iter (+52/-52) test/iterplans/zorba/optim/pos_pred12.iter (+210/-210) test/iterplans/zorba/optim/pos_pred13.iter (+84/-84) test/iterplans/zorba/optim/pos_pred2.iter (+63/-63) test/iterplans/zorba/optim/pos_pred3.iter (+76/-76) test/iterplans/zorba/optim/pos_pred4.iter (+63/-63) test/iterplans/zorba/optim/pos_pred5.iter (+30/-30) test/iterplans/zorba/optim/pos_pred6.iter (+18/-18) test/iterplans/zorba/optim/pos_pred7.iter (+21/-21) test/iterplans/zorba/optim/pos_pred8.iter (+27/-27) test/iterplans/zorba/optim/pos_pred9.iter (+36/-36) test/iterplans/zorba/optim/positioned-access.iter (+47/-47) test/iterplans/zorba/optim/var_elim_01.iter (+5/-5) test/iterplans/zorba/optim/var_inline_01.iter (+51/-51) test/iterplans/zorba/optim/var_inline_02.iter (+22/-22) test/iterplans/zorba/optim/var_inline_03.iter (+35/-35) test/iterplans/zorba/optim/var_inline_04.iter (+50/-50) test/iterplans/zorba/optim/var_inline_05.iter (+72/-72) test/iterplans/zorba/paths/path10.iter (+65/-65) test/iterplans/zorba/paths/path11.iter (+35/-35) test/iterplans/zorba/paths/path13.iter (+53/-53) test/iterplans/zorba/paths/path17.iter (+67/-67) test/iterplans/zorba/paths/path24.iter (+8/-8) test/iterplans/zorba/paths/path_pred4.iter (+56/-56) test/iterplans/zorba/paths/path_pred5.iter (+48/-48) test/iterplans/zorba/paths/pred_order.iter (+30/-30) test/iterplans/zorba/string/SubstringFunc/SubstringFunc2.iter (+10/-10) test/iterplans/zorba/string/SubstringFunc/SubstringFunc3.iter (+14/-14) test/iterplans/zorba/trycatch/trycatch7.iter (+14/-14) test/iterplans/zorba/udf/udf-fib-rec2.iter (+40/-40) test/iterplans/zorba/udf/udf-recursive-1.iter (+59/-59) test/iterplans/zorba/udf/udf-recursive-2.iter (+49/-49) test/iterplans/zorba/udf/udf1.iter (+53/-53) test/iterplans/zorba/w3c/ForExpr010.iter (+47/-47) test/iterplans/zorba/w3c/ForExpr025.iter (+36/-36) test/iterplans/zorba/w3c/WhereExpr001.iter (+48/-48) test/iterplans/zorba/w3c/fn-namespace-uri-17.iter (+13/-13) test/iterplans/zorba/w3c/nodeexpression47.iter (+504/-504) test/iterplans/zorba/w3c/rdb-queries-results-q5.iter (+279/-279) test/iterplans/zorba/windowing/q10.iter (+129/-129) test/iterplans/zorba/windowing/q4.iter (+77/-77) test/iterplans/zorba/windowing/q9.iter (+122/-122) test/iterplans/zorba/windowing/tumpling40.iter (+0/-397) test/iterplans/zorba/windowing/windowing12.iter (+34/-34) test/iterplans/zorba/xmark/q1.iter (+47/-47) test/iterplans/zorba/xmark/q10.iter (+239/-239) test/iterplans/zorba/xmark/q11.iter (+98/-98) test/iterplans/zorba/xmark/q12.iter (+111/-111) test/iterplans/zorba/xmark/q13.iter (+40/-40) test/iterplans/zorba/xmark/q14.iter (+39/-39) test/iterplans/zorba/xmark/q15.iter (+38/-38) test/iterplans/zorba/xmark/q16.iter (+54/-54) test/iterplans/zorba/xmark/q17.iter (+46/-46) test/iterplans/zorba/xmark/q18.iter (+36/-36) test/iterplans/zorba/xmark/q19.iter (+51/-51) test/iterplans/zorba/xmark/q2.iter (+32/-32) test/iterplans/zorba/xmark/q20.iter (+172/-172) test/iterplans/zorba/xmark/q3.iter (+106/-106) test/iterplans/zorba/xmark/q4.iter (+105/-105) test/iterplans/zorba/xmark/q5.iter (+41/-41) test/iterplans/zorba/xmark/q6.iter (+28/-28) test/iterplans/zorba/xmark/q7.iter (+34/-34) test/iterplans/zorba/xmark/q8.iter (+97/-97) test/iterplans/zorba/xmark/q9.iter (+155/-155) test/iterplans/zorba/xray/ppm_10.iter (+2070/-2070) |
To merge this branch: | bzr merge lp:~paul-lucas/zorba/pjl-misc |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Matthias Brantner | Approve | ||
Paul J. Lucas | Approve | ||
Review via email: mp+207355@code.launchpad.net |
Commit message
Better iterator tree printing: it's either pure JSON or pure XML.
Description of the change
Better iterator tree printing: it's either pure JSON or pure XML.
Paul J. Lucas (paul-lucas) : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Voting criteria failed for the following merge proposals:
https:/
Votes: {'Approve': 1}
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "CommitZorba" failed.
Check console output at http://
Matthias Brantner (matthias-brantner) wrote : | # |
It's actually not pure JSON or pure XML.
JSON doesn't support a sequence of objects. This would need to become an array.
Same for XML, where we would need introduce an artificial root element.
Paul J. Lucas (paul-lucas) wrote : | # |
> JSON doesn't support a sequence of objects. This would need to become an
> array.
> Same for XML, where we would need introduce an artificial root element.
The problem with that is that the local code has no way to know whether it's the last time it will ever be called to emit either a closing XML element or a ']' for JSON. Any ideas?
- 11451. By Paul J. Lucas
-
Now really XML and JSON.
Paul J. Lucas (paul-lucas) wrote : | # |
Added a work-around. See if you like it.
- 11452. By Paul J. Lucas
-
Handling description properly.
- 11453. By Paul J. Lucas
-
Added --debug-stream argument.
Matthias Brantner (matthias-brantner) : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue result for https:/
Stage "TestZorbaUbuntu" failed.
4 tests failed (8754 total tests run).
Check test results at http://
- 11454. By Paul J. Lucas
-
Removed wrappers.
- 11455. By Paul J. Lucas
-
Updated test results.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for the following merge proposals:
https:/
Progress dashboard at http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue succeeded - proposal merged!
Preview Diff
1 | === modified file 'bin/zorbacmd_args.cpp' |
2 | --- bin/zorbacmd_args.cpp 2014-02-19 04:27:02 +0000 |
3 | +++ bin/zorbacmd_args.cpp 2014-02-24 20:09:23 +0000 |
4 | @@ -114,6 +114,9 @@ |
5 | HELP_OPT( "--debug-file" ) |
6 | "Sets the file to write developer debugging information to.\n\n" |
7 | |
8 | + HELP_OPT( "--debug-stream <stream>" ) |
9 | + "Sets the stream to write developer debugging information to.\n\n" |
10 | + |
11 | #ifdef ZORBA_WITH_DEBUGGER |
12 | HELP_OPT( "--debug-host, -h" ) |
13 | "The host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n" |
14 | @@ -160,8 +163,8 @@ |
15 | HELP_OPT( "--inline-udf" ) |
16 | "Inline user-defined functions.\n\n" |
17 | |
18 | - HELP_OPT( "--iterator-tree <type>" ) |
19 | - "Print the iterator tree in in one of DOT, JSON, or XML\n\n" |
20 | + HELP_OPT( "--iterator-tree <format>" ) |
21 | + "Print the iterator tree in in one of DOT, JSON, or XML formats.\n\n" |
22 | |
23 | ////////// j ////////////////////////////////////////////////////////////// |
24 | |
25 | @@ -466,6 +469,19 @@ |
26 | PARSE_ARG( "--debug-file" ); |
27 | z_props.setDebugFile( ARG_VAL ); |
28 | } |
29 | + else if ( IS_LONG_OPT( "--debug-stream" ) ) { |
30 | + PARSE_ARG( "--debug-stream" ); |
31 | + string val( ARG_VAL ); |
32 | + to_lower( val ); |
33 | + if ( val == "1" || val == "stdout" || val == "cout" ) |
34 | + z_props.setDebugStream( cout ); |
35 | + else if ( val == "2" || val == "stderr" || val == "cerr" ) |
36 | + z_props.setDebugStream( cerr ); |
37 | + else { |
38 | + error = "--debug-stream argument must be one of: 1, stdout, cout, 2, stderr, or cerr.\n"; |
39 | + break; |
40 | + } |
41 | + } |
42 | #ifdef ZORBA_WITH_DEBUGGER |
43 | else if ( IS_OPT( "--debug-host", "-h" ) ) { |
44 | PARSE_ARG( "--debug-host" ); |
45 | |
46 | === modified file 'src/compiler/codegen/plan_visitor.cpp' |
47 | --- src/compiler/codegen/plan_visitor.cpp 2014-02-19 01:53:34 +0000 |
48 | +++ src/compiler/codegen/plan_visitor.cpp 2014-02-24 20:09:23 +0000 |
49 | @@ -27,6 +27,7 @@ |
50 | |
51 | #include "diagnostics/assert.h" |
52 | #include "util/hashmap32.h" |
53 | +#include "util/indent.h" |
54 | #include "util/stl_util.h" |
55 | #include "util/tracer.h" |
56 | |
57 | @@ -3812,23 +3813,21 @@ |
58 | Zorba_plan_format_t const format = Properties::instance().getPlanFormat(); |
59 | if ( result && descr && format ) { |
60 | std::ostream &os = Properties::instance().getDebugStream(); |
61 | - os << "Iterator tree for " << descr << ":\n"; |
62 | unique_ptr<IterPrinter> printer; |
63 | switch ( format ) { |
64 | - case PLAN_FORMAT_NONE: |
65 | - return result; |
66 | case PLAN_FORMAT_DOT: |
67 | - printer.reset( new DOTIterPrinter( os ) ); |
68 | + printer.reset( new DOTIterPrinter( os, descr ) ); |
69 | break; |
70 | case PLAN_FORMAT_JSON: |
71 | - printer.reset( new JSONIterPrinter( os ) ); |
72 | + printer.reset( new JSONIterPrinter( os, descr ) ); |
73 | break; |
74 | case PLAN_FORMAT_XML: |
75 | - printer.reset( new XMLIterPrinter( os ) ); |
76 | - break; |
77 | - } |
78 | + printer.reset( new XMLIterPrinter( os, descr ) ); |
79 | + break; |
80 | + default: // to silence warning |
81 | + break; |
82 | + } // switch |
83 | print_iter_plan( *printer, result ); |
84 | - os << std::endl; |
85 | } |
86 | |
87 | return result; |
88 | |
89 | === modified file 'src/runtime/visitors/iterprinter.cpp' |
90 | --- src/runtime/visitors/iterprinter.cpp 2014-02-18 19:52:39 +0000 |
91 | +++ src/runtime/visitors/iterprinter.cpp 2014-02-24 20:09:23 +0000 |
92 | @@ -22,6 +22,7 @@ |
93 | // Zorba |
94 | #include "runtime/visitors/iterprinter.h" |
95 | #include "util/ascii_util.h" |
96 | +#include "util/indent.h" |
97 | #include "util/xml_util.h" |
98 | |
99 | using namespace std; |
100 | @@ -30,49 +31,65 @@ |
101 | |
102 | /////////////////////////////////////////////////////////////////////////////// |
103 | |
104 | -XMLIterPrinter::XMLIterPrinter(ostream& aOStream) : |
105 | - IterPrinter(aOStream), |
106 | - theOpenStart(false) |
107 | -{ |
108 | +IterPrinter::IterPrinter( ostream &os, char const *descr ) : |
109 | + os_( os ), descr_( descr ) |
110 | +{ |
111 | +} |
112 | + |
113 | +IterPrinter::~IterPrinter() { |
114 | + // out-of-line since it's virtual |
115 | +} |
116 | + |
117 | +/////////////////////////////////////////////////////////////////////////////// |
118 | + |
119 | +XMLIterPrinter::XMLIterPrinter( ostream &os, char const *descr ) : |
120 | + IterPrinter( os, descr ), |
121 | + theOpenStart( false ) |
122 | +{ |
123 | +} |
124 | + |
125 | +XMLIterPrinter::~XMLIterPrinter() { |
126 | + // out-of-line since it's virtual |
127 | } |
128 | |
129 | void XMLIterPrinter::start() { |
130 | + os_ << indent << "<iterator-tree"; |
131 | + if ( !descr_.empty() ) |
132 | + os_ << " description=\"" << descr_ << '"'; |
133 | + os_ << ">\n" << inc_indent; |
134 | } |
135 | |
136 | void XMLIterPrinter::stop() { |
137 | + os_ << dec_indent << indent << "</iterator-tree>\n"; |
138 | } |
139 | |
140 | -void XMLIterPrinter::startBeginVisit(const string& aName, int) { |
141 | - if (theOpenStart) |
142 | - theOStream << ">\n"; |
143 | - printSpaces(2 * theNameStack.size()); |
144 | - theOStream << '<' << aName; |
145 | - theNameStack.push(aName); |
146 | +void XMLIterPrinter::startBeginVisit( string const &name, int ) { |
147 | + if ( theOpenStart ) |
148 | + os_ << ">\n"; |
149 | + os_ << indent << '<' << name << inc_indent; |
150 | + theNameStack.push( name ); |
151 | theOpenStart = true; |
152 | } |
153 | |
154 | -void XMLIterPrinter::endBeginVisit(int) { |
155 | -} |
156 | - |
157 | -void XMLIterPrinter::addAttribute(const string& aName, const string& aValue) { |
158 | - assert(theOpenStart); |
159 | - theOStream << ' ' << aName << "=\"" << aValue << "\""; |
160 | -} |
161 | - |
162 | -void XMLIterPrinter::addAttribute(const string& aName, xs_long aValue) { |
163 | - assert(theOpenStart); |
164 | - theOStream << ' ' << aName << "=\"" << aValue << "\""; |
165 | +void XMLIterPrinter::endBeginVisit( int ) { |
166 | +} |
167 | + |
168 | +void XMLIterPrinter::addAttribute( string const &name, string const &value) { |
169 | + assert( theOpenStart ); |
170 | + os_ << ' ' << name << "=\"" << value << "\""; |
171 | +} |
172 | + |
173 | +void XMLIterPrinter::addAttribute( string const &name, xs_long value) { |
174 | + assert( theOpenStart ); |
175 | + os_ << ' ' << name << "=\"" << value << "\""; |
176 | } |
177 | |
178 | void XMLIterPrinter::startEndVisit() { |
179 | - assert(!theNameStack.empty()); |
180 | - if (theOpenStart) |
181 | - theOStream << "/>" << endl; |
182 | + assert( !theNameStack.empty() ); |
183 | + if ( theOpenStart ) |
184 | + os_ << "/>\n" << dec_indent; |
185 | else |
186 | - { |
187 | - printSpaces(2 * (theNameStack.size() - 1)); |
188 | - theOStream << "</" << theNameStack.top() << '>' << endl; |
189 | - } |
190 | + os_ << dec_indent << indent << "</" << theNameStack.top() << ">\n"; |
191 | theNameStack.pop(); |
192 | theOpenStart = false; |
193 | } |
194 | @@ -82,48 +99,44 @@ |
195 | |
196 | /////////////////////////////////////////////////////////////////////////////// |
197 | |
198 | -DOTIterPrinter::DOTIterPrinter(ostream& aOStream) : |
199 | - IterPrinter(aOStream), |
200 | - theIndent(0) |
201 | +DOTIterPrinter::DOTIterPrinter( ostream &os, char const *descr ) : |
202 | + IterPrinter( os, descr ) |
203 | { |
204 | } |
205 | |
206 | +DOTIterPrinter::~DOTIterPrinter() { |
207 | + // out-of-line since it's virtual |
208 | +} |
209 | + |
210 | void DOTIterPrinter::start() { |
211 | - theOStream << "digraph {" << endl; |
212 | - theOStream << "node [ color=gray, fontname=\"Arial\" ]" << endl; |
213 | + os_ << indent << "digraph {\n" << inc_indent |
214 | + << indent << "node [ color=gray, fontname=\"Arial\" ]\n"; |
215 | } |
216 | |
217 | void DOTIterPrinter::stop() { |
218 | - theOStream << '}' << endl; |
219 | -} |
220 | - |
221 | -void DOTIterPrinter::startBeginVisit(const string& aName, int aAddr) { |
222 | - printSpaces(theIndent); |
223 | - theOStream << aAddr << " [ label=\"" << aName; |
224 | - ++theIndent; |
225 | -} |
226 | - |
227 | -void DOTIterPrinter::endBeginVisit(int aAddr) { |
228 | - --theIndent; |
229 | - printSpaces(theIndent); |
230 | - theOStream << "\"];" << endl; |
231 | - printSpaces(theIndent); |
232 | - if (!theNameStack.empty() && theNameStack.top() != aAddr) |
233 | - theOStream << theNameStack.top() << "->" << aAddr << endl; |
234 | - theNameStack.push(aAddr); |
235 | -} |
236 | - |
237 | -void DOTIterPrinter::addAttribute(const string& aName, const string& aValue) { |
238 | - printSpaces(theIndent); |
239 | - string mvalue( aValue ); |
240 | - ascii::replace_all(mvalue, "\"", "\\\""); |
241 | - ascii::replace_all(mvalue, "\n", " \\n "); |
242 | - theOStream << "\\n" << aName << '=' << mvalue; |
243 | -} |
244 | - |
245 | -void DOTIterPrinter::addAttribute(const string& aName, xs_long aValue) { |
246 | - printSpaces(theIndent); |
247 | - theOStream << "\\n" << aName << '=' << aValue; |
248 | + os_ << dec_indent << indent << "}\n"; |
249 | +} |
250 | + |
251 | +void DOTIterPrinter::startBeginVisit( string const &name, int addr ) { |
252 | + os_ << indent << addr << " [ label=\"" << name; |
253 | +} |
254 | + |
255 | +void DOTIterPrinter::endBeginVisit( int addr ) { |
256 | + os_ << "\" ];\n"; |
257 | + if ( !theNameStack.empty() && theNameStack.top() != addr ) |
258 | + os_ << indent << theNameStack.top() << " -> " << addr << '\n'; |
259 | + theNameStack.push( addr ); |
260 | +} |
261 | + |
262 | +void DOTIterPrinter::addAttribute( string const &name, string const &value) { |
263 | + string temp( value ); |
264 | + ascii::replace_all( temp, "\"", "\\\"" ); |
265 | + ascii::replace_all( temp, "\n", " \\n " ); |
266 | + os_ << "\\n" << name << '=' << temp; |
267 | +} |
268 | + |
269 | +void DOTIterPrinter::addAttribute( string const &name, xs_long value) { |
270 | + os_ << indent << "\\n" << name << '=' << value; |
271 | } |
272 | |
273 | void DOTIterPrinter::startEndVisit() { |
274 | @@ -135,68 +148,54 @@ |
275 | |
276 | /////////////////////////////////////////////////////////////////////////////// |
277 | |
278 | -JSONIterPrinter::JSONIterPrinter(ostream& aOStream) : |
279 | - IterPrinter(aOStream), theIndent(0) |
280 | +JSONIterPrinter::JSONIterPrinter( ostream &os, char const *descr ) : |
281 | + IterPrinter( os, descr ) |
282 | { |
283 | } |
284 | |
285 | +JSONIterPrinter::~JSONIterPrinter() { |
286 | + // out-of-line since it's virtual |
287 | +} |
288 | + |
289 | void JSONIterPrinter::start() { |
290 | + os_ << indent << "{\n" << inc_indent; |
291 | + if ( !descr_.empty() ) |
292 | + os_ << indent << "\"description\": \"" << descr_ << "\",\n"; |
293 | + os_ << indent << "\"iterator-tree\":\n" << inc_indent; |
294 | } |
295 | |
296 | void JSONIterPrinter::stop() { |
297 | - theOStream << endl; |
298 | + os_ << '\n' << dec_indent << dec_indent << indent << "}\n"; |
299 | } |
300 | |
301 | -void JSONIterPrinter::startBeginVisit(const string& aName, int) { |
302 | - if (!theListStack.empty()) |
303 | - theOStream << ',' << endl; |
304 | - |
305 | - if (!theListStack.empty() && !theListStack.top()) { |
306 | - printSpaces(2 * theIndent); |
307 | - theOStream << "\"iterators\":" << endl; |
308 | - printSpaces(2 * theIndent); |
309 | - theOStream << '['; |
310 | +void JSONIterPrinter::startBeginVisit( string const &name, int ) { |
311 | + if ( !theListStack.empty() ) |
312 | + os_ << ",\n"; |
313 | + if ( !theListStack.empty() && !theListStack.top() ) { |
314 | + os_ << indent << "\"iterators\": [\n" << inc_indent; |
315 | theListStack.pop(); |
316 | - theListStack.push(true); |
317 | - theIndent++; |
318 | - theOStream << endl; |
319 | + theListStack.push( true ); |
320 | } |
321 | - |
322 | - printSpaces(2 * theIndent); |
323 | - theOStream << "{" << endl; |
324 | - printSpaces(2 * (1+theIndent)); |
325 | - theOStream << "\"kind\": \"" << aName << "\""; |
326 | - theIndent++; |
327 | - theListStack.push(false); |
328 | -} |
329 | - |
330 | -void JSONIterPrinter::endBeginVisit(int) { |
331 | -} |
332 | - |
333 | -void JSONIterPrinter::addAttribute(const string& aName, const string& aValue) { |
334 | - theOStream << ',' << endl; |
335 | - printSpaces(2 * theIndent); |
336 | - theOStream << "\"" << aName << "\": \"" << aValue << "\""; |
337 | -} |
338 | - |
339 | -void JSONIterPrinter::addAttribute(const string& aName, xs_long aValue) { |
340 | - theOStream << ',' << endl; |
341 | - printSpaces(2 * theIndent); |
342 | - theOStream << "\"" << aName << "\": " << aValue; |
343 | + os_ << indent << "{\n" << inc_indent |
344 | + << indent << "\"kind\": \"" << name << "\""; |
345 | + theListStack.push( false ); |
346 | +} |
347 | + |
348 | +void JSONIterPrinter::endBeginVisit( int ) { |
349 | +} |
350 | + |
351 | +void JSONIterPrinter::addAttribute( string const &name, string const &value ) { |
352 | + os_ << ",\n" << indent << "\"" << name << "\": \"" << value << "\""; |
353 | +} |
354 | + |
355 | +void JSONIterPrinter::addAttribute( string const &name, xs_long value ) { |
356 | + os_ << ",\n" << indent << "\"" << name << "\": " << value; |
357 | } |
358 | |
359 | void JSONIterPrinter::startEndVisit() { |
360 | - if (theListStack.top()) { |
361 | - theOStream << endl; |
362 | - printSpaces(2 * (theIndent - 1)); |
363 | - theOStream << ']'; |
364 | - theIndent--; |
365 | - } |
366 | - |
367 | - theOStream << endl; |
368 | - printSpaces(2 * (theIndent - 1)); |
369 | - theOStream << '}'; |
370 | - theIndent--; |
371 | + if ( theListStack.top() ) |
372 | + os_ << '\n' << dec_indent << indent << ']'; |
373 | + os_ << '\n' << dec_indent << indent << '}'; |
374 | theListStack.pop(); |
375 | } |
376 | |
377 | |
378 | === modified file 'src/runtime/visitors/iterprinter.h' |
379 | --- src/runtime/visitors/iterprinter.h 2014-02-18 19:52:39 +0000 |
380 | +++ src/runtime/visitors/iterprinter.h 2014-02-24 20:09:23 +0000 |
381 | @@ -17,152 +17,117 @@ |
382 | #ifndef ZORBA_VISITORPRINTER_H |
383 | #define ZORBA_VISITORPRINTER_H |
384 | |
385 | -#include <string> |
386 | +// standard |
387 | #include <ostream> |
388 | #include <stack> |
389 | +#include <string> |
390 | |
391 | +// Zorba |
392 | #include "common/common.h" |
393 | #include "zorbatypes/schema_types.h" |
394 | |
395 | - |
396 | -namespace yy |
397 | -{ |
398 | - class location; |
399 | -} |
400 | - |
401 | namespace zorba { |
402 | |
403 | -/** |
404 | - * Interface to print the PlanIterators. |
405 | - */ |
406 | -class IterPrinter |
407 | -{ |
408 | +/////////////////////////////////////////////////////////////////////////////// |
409 | + |
410 | +class IterPrinter { |
411 | public: |
412 | - IterPrinter(std::ostream& aOStream) : theOStream(aOStream) {} |
413 | - |
414 | - virtual ~IterPrinter() {} |
415 | + IterPrinter( std::ostream &os, char const *descr = "" ); |
416 | + virtual ~IterPrinter(); |
417 | |
418 | virtual void start() = 0; |
419 | virtual void stop() = 0; |
420 | |
421 | - virtual void startBeginVisit(const std::string& aName, int aAddr) = 0; |
422 | - virtual void endBeginVisit(int aAddr) = 0; |
423 | - |
424 | - virtual void addAttribute(const std::string& aName, const std::string& aValue) = 0; |
425 | - |
426 | - virtual void addAttribute(const std::string& aName, xs_long aValue) = 0; |
427 | + virtual void startBeginVisit( std::string const &name, int addr ) = 0; |
428 | + virtual void endBeginVisit( int addr ) = 0; |
429 | + |
430 | + virtual void addAttribute( std::string const &name, std::string const &value ) = 0; |
431 | + |
432 | + virtual void addAttribute( std::string const &name, xs_long value ) = 0; |
433 | |
434 | virtual void startEndVisit() = 0; |
435 | - |
436 | virtual void endEndVisit() = 0; |
437 | |
438 | protected: |
439 | - std::ostream& theOStream; |
440 | - void printSpaces(size_t aNr) { theOStream << std::string(aNr, ' '); } |
441 | -}; /* class VisitorPrinter */ |
442 | - |
443 | - |
444 | -/** |
445 | - * Implementation of IterPrinter to print a PlanIterator tree in XML format |
446 | - */ |
447 | -class XMLIterPrinter : public IterPrinter |
448 | -{ |
449 | + zstring descr_; |
450 | + std::ostream &os_; |
451 | +}; |
452 | + |
453 | +/////////////////////////////////////////////////////////////////////////////// |
454 | + |
455 | +class XMLIterPrinter : public IterPrinter { |
456 | +public: |
457 | + XMLIterPrinter( std::ostream&, char const* = "" ); |
458 | + ~XMLIterPrinter(); |
459 | + |
460 | + void start(); |
461 | + void stop(); |
462 | + |
463 | + void startBeginVisit( std::string const &name, int addr ); |
464 | + void endBeginVisit( int addr ); |
465 | + |
466 | + void addAttribute( std::string const &name, std::string const &value ); |
467 | + void addAttribute( std::string const &name, xs_long value ); |
468 | + |
469 | + void startEndVisit(); |
470 | + void endEndVisit(); |
471 | + |
472 | private: |
473 | + std::stack<std::string> theNameStack; |
474 | bool theOpenStart; |
475 | - std::stack<std::string> theNameStack; |
476 | +}; |
477 | + |
478 | +/////////////////////////////////////////////////////////////////////////////// |
479 | + |
480 | +class DOTIterPrinter : public IterPrinter { |
481 | +public: |
482 | + DOTIterPrinter( std::ostream&, char const* = "" ); |
483 | + ~DOTIterPrinter(); |
484 | |
485 | -public: |
486 | - XMLIterPrinter(std::ostream& aOStream); |
487 | - |
488 | - virtual ~XMLIterPrinter(){} |
489 | - |
490 | - virtual void start(); |
491 | - |
492 | - virtual void stop(); |
493 | - |
494 | - virtual void startBeginVisit(const std::string& aName, int aAddr); |
495 | - |
496 | - virtual void endBeginVisit(int aAddr); |
497 | - |
498 | - virtual void addAttribute(const std::string& aName, const std::string& aValue); |
499 | - |
500 | - virtual void addAttribute(const std::string& aName, xs_long aValue); |
501 | - |
502 | - virtual void startEndVisit(); |
503 | - |
504 | - virtual void endEndVisit(); |
505 | -}; /* class XMLVisitorPrinter */ |
506 | - |
507 | - |
508 | -/** |
509 | - * Implementation of IterPrinter to print a PlanIterator tree in DOT format |
510 | - */ |
511 | -class DOTIterPrinter : public IterPrinter |
512 | -{ |
513 | + void start(); |
514 | + void stop(); |
515 | + |
516 | + void startBeginVisit( std::string const &name, int addr ); |
517 | + void endBeginVisit( int addr ); |
518 | + |
519 | + void addAttribute( std::string const &name, std::string const &value ); |
520 | + void addAttribute( std::string const &name, xs_long value ); |
521 | + |
522 | + void startEndVisit(); |
523 | + void endEndVisit(); |
524 | + |
525 | private: |
526 | std::stack<int> theNameStack; |
527 | - uint32_t theIndent; |
528 | - |
529 | +}; |
530 | + |
531 | +/////////////////////////////////////////////////////////////////////////////// |
532 | + |
533 | +class JSONIterPrinter : public IterPrinter { |
534 | public: |
535 | - DOTIterPrinter(std::ostream& aOStream); |
536 | - |
537 | - virtual ~DOTIterPrinter(){} |
538 | - |
539 | - virtual void start(); |
540 | - |
541 | - virtual void stop(); |
542 | - |
543 | - virtual void startBeginVisit(const std::string& aName, int aAddr); |
544 | - |
545 | - virtual void endBeginVisit(int aAddr); |
546 | - |
547 | - virtual void addAttribute(const std::string& aName, const std::string& aValue); |
548 | - |
549 | - virtual void addAttribute(const std::string& aName, xs_long aValue); |
550 | - |
551 | - virtual void startEndVisit(); |
552 | - |
553 | - virtual void endEndVisit(); |
554 | - |
555 | -}; /* class DOTVisitorPrinter */ |
556 | - |
557 | -/** |
558 | - * Implementation of IterPrinter to print a PlanIterator tree in JSON format |
559 | - */ |
560 | -class JSONIterPrinter : public IterPrinter |
561 | -{ |
562 | + JSONIterPrinter( std::ostream&, char const* = "" ); |
563 | + ~JSONIterPrinter(); |
564 | + |
565 | + void start(); |
566 | + void stop(); |
567 | + |
568 | + void startBeginVisit( std::string const &name, int addr ); |
569 | + void endBeginVisit( int addr ); |
570 | + |
571 | + void addAttribute( std::string const &name, std::string const &value ); |
572 | + void addAttribute( std::string const &name, xs_long value ); |
573 | + |
574 | + void startEndVisit(); |
575 | + void endEndVisit(); |
576 | + |
577 | private: |
578 | - uint32_t theIndent; |
579 | std::stack<bool> theListStack; |
580 | - |
581 | -public: |
582 | - JSONIterPrinter(std::ostream& aOStream); |
583 | - |
584 | - virtual ~JSONIterPrinter(){} |
585 | - |
586 | - virtual void start(); |
587 | - |
588 | - virtual void stop(); |
589 | - |
590 | - virtual void startBeginVisit(const std::string& aName, int aAddr); |
591 | - |
592 | - virtual void endBeginVisit(int aAddr); |
593 | - |
594 | - virtual void addAttribute(const std::string& aName, const std::string& aValue); |
595 | - |
596 | - virtual void addAttribute(const std::string& aName, xs_long aValue); |
597 | - |
598 | - virtual void startEndVisit(); |
599 | - |
600 | - virtual void endEndVisit(); |
601 | -}; /* class JSONVisitorPrinter */ |
602 | - |
603 | - |
604 | - |
605 | -} /* namespace zorba */ |
606 | - |
607 | -#endif |
608 | - |
609 | +}; |
610 | + |
611 | +/////////////////////////////////////////////////////////////////////////////// |
612 | + |
613 | +} // namespace zorba |
614 | + |
615 | +#endif /* ZORBA_VISITORPRINTER_H */ |
616 | /* |
617 | * Local variables: |
618 | * mode: c++ |
619 | |
620 | === modified file 'src/runtime/visitors/printer_visitor_api.cpp' |
621 | --- src/runtime/visitors/printer_visitor_api.cpp 2013-02-07 17:24:36 +0000 |
622 | +++ src/runtime/visitors/printer_visitor_api.cpp 2014-02-24 20:09:23 +0000 |
623 | @@ -16,19 +16,19 @@ |
624 | #include "stdafx.h" |
625 | |
626 | #include "runtime/visitors/printer_visitor_api.h" |
627 | - |
628 | #include "runtime/visitors/printer_visitor.h" |
629 | |
630 | -namespace zorba |
631 | -{ |
632 | - |
633 | -void print_iter_plan(IterPrinter& aPrinter, PlanIterator* aIter) |
634 | -{ |
635 | - PrinterVisitor v(aPrinter, aIter); |
636 | +namespace zorba { |
637 | + |
638 | +/////////////////////////////////////////////////////////////////////////////// |
639 | + |
640 | +void print_iter_plan( IterPrinter &p, PlanIterator *pi ) { |
641 | + PrinterVisitor v( p, pi ); |
642 | v.print(); |
643 | } |
644 | |
645 | +/////////////////////////////////////////////////////////////////////////////// |
646 | |
647 | -} /* namespace zorba */ |
648 | +} // namespace zorba |
649 | |
650 | /* vim:set et sw=2 ts=2: */ |
651 | |
652 | === modified file 'src/runtime/visitors/printer_visitor_impl.cpp' |
653 | --- src/runtime/visitors/printer_visitor_impl.cpp 2014-02-19 01:28:17 +0000 |
654 | +++ src/runtime/visitors/printer_visitor_impl.cpp 2014-02-24 20:09:23 +0000 |
655 | @@ -74,7 +74,7 @@ |
656 | |
657 | void PrinterVisitor::print() { |
658 | thePrinter.start(); |
659 | - theIterator->accept(*this); |
660 | + theIterator->accept( *this ); |
661 | thePrinter.stop(); |
662 | } |
663 | |
664 | |
665 | === modified file 'test/iterplans/apitest_args.cpp' |
666 | --- test/iterplans/apitest_args.cpp 2014-02-19 00:43:31 +0000 |
667 | +++ test/iterplans/apitest_args.cpp 2014-02-24 20:09:23 +0000 |
668 | @@ -53,14 +53,24 @@ |
669 | |
670 | ////////// d ////////////////////////////////////////////////////////////// |
671 | |
672 | +#ifdef ZORBA_WITH_DEBUGGER |
673 | HELP_OPT( "--debug, -d" ) |
674 | "Launch the Zorba debugger server and connect to a DBGP-enabled debugger client.\n\n" |
675 | - |
676 | +#endif /* ZORBA_WITH_DEBUGGER */ |
677 | + |
678 | + HELP_OPT( "--debug-file" ) |
679 | + "Sets the file to write developer debugging information to.\n\n" |
680 | + |
681 | + HELP_OPT( "--debug-stream <stream>" ) |
682 | + "Sets the stream to write developer debugging information to.\n\n" |
683 | + |
684 | +#ifdef ZORBA_WITH_DEBUGGER |
685 | HELP_OPT( "--debug-host, -h" ) |
686 | "The host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n" |
687 | |
688 | HELP_OPT( "--debug-port, -p" ) |
689 | "The port on which the DBGP-enabled debugger client listens for connections. Defaults to: 28028\n\n" |
690 | +#endif /* ZORBA_WITH_DEBUGGER */ |
691 | |
692 | ////////// e ////////////////////////////////////////////////////////////// |
693 | |
694 | @@ -301,6 +311,25 @@ |
695 | PARSE_ARG( "--debug-host" ); |
696 | at_props.debug_host_ = ARG_VAL; |
697 | } |
698 | +#endif /* ZORBA_WITH_DEBUGGER */ |
699 | + else if ( IS_LONG_OPT( "--debug-file" ) ) { |
700 | + PARSE_ARG( "--debug-file" ); |
701 | + z_props.setDebugFile( ARG_VAL ); |
702 | + } |
703 | + else if ( IS_LONG_OPT( "--debug-stream" ) ) { |
704 | + PARSE_ARG( "--debug-stream" ); |
705 | + string val( ARG_VAL ); |
706 | + to_lower( val ); |
707 | + if ( val == "1" || val == "stdout" || val == "cout" ) |
708 | + z_props.setDebugStream( cout ); |
709 | + else if ( val == "2" || val == "stderr" || val == "cerr" ) |
710 | + z_props.setDebugStream( cerr ); |
711 | + else { |
712 | + error = "--debug-stream argument must be one of: 1, stdout, cout, 2, stderr, or cerr.\n"; |
713 | + break; |
714 | + } |
715 | + } |
716 | +#ifdef ZORBA_WITH_DEBUGGER |
717 | else if ( IS_OPT( "--debug-port", "-p" ) ) { |
718 | PARSE_ARG( "--debug-port" ); |
719 | SET_ATPROP( debug_port_ ); |
720 | |
721 | === modified file 'test/iterplans/update_iter_plans' |
722 | --- test/iterplans/update_iter_plans 2013-07-11 06:54:25 +0000 |
723 | +++ test/iterplans/update_iter_plans 2014-02-24 20:09:23 +0000 |
724 | @@ -1,7 +1,17 @@ |
725 | -#!/bin/bash |
726 | +#! /bin/bash |
727 | + |
728 | +# uncomment for dry run |
729 | +#ECHO=echo |
730 | + |
731 | BUILDDIR=$1 |
732 | test -e "$BUILDDIR" || { echo "Arguments: BUILD_DIR"; exit 1; } |
733 | + |
734 | D=$BUILDDIR/test/iterplans |
735 | -for f in `cd $D; find . -name *.iter`; do |
736 | - cp $D/$f `dirname $0`/iterplans/$f |
737 | + |
738 | +for src_file in `cd $D; find . -name *.spec` |
739 | +do |
740 | + dst_file=${src_file%.spec}.iter |
741 | + $ECHO cp $D/$src_file $dst_file |
742 | done |
743 | + |
744 | +# vim:set et sw=2 ts=2: |
745 | |
746 | === modified file 'test/iterplans/zorba/collections/count_dynamic_zorba_collection.iter' |
747 | --- test/iterplans/zorba/collections/count_dynamic_zorba_collection.iter 2013-03-24 20:40:03 +0000 |
748 | +++ test/iterplans/zorba/collections/count_dynamic_zorba_collection.iter 2014-02-24 20:09:23 +0000 |
749 | @@ -1,19 +1,19 @@ |
750 | -Iterator tree for main query: |
751 | -<SequentialIterator> |
752 | - <CtxVarDeclareIterator varid="4" varname="coll"> |
753 | - <SingletonIterator value="xs:QName(,,collection)"/> |
754 | - </CtxVarDeclareIterator> |
755 | +<iterator-tree description="main query"> |
756 | <SequentialIterator> |
757 | - <ApplyIterator> |
758 | - <ZorbaCreateCollectionIterator> |
759 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
760 | - </ZorbaCreateCollectionIterator> |
761 | - </ApplyIterator> |
762 | - <FnCountIterator> |
763 | - <ZorbaCollectionIterator> |
764 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
765 | - </ZorbaCollectionIterator> |
766 | - </FnCountIterator> |
767 | + <CtxVarDeclareIterator varid="4" varname="coll"> |
768 | + <SingletonIterator value="xs:QName(,,collection)"/> |
769 | + </CtxVarDeclareIterator> |
770 | + <SequentialIterator> |
771 | + <ApplyIterator> |
772 | + <ZorbaCreateCollectionIterator> |
773 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
774 | + </ZorbaCreateCollectionIterator> |
775 | + </ApplyIterator> |
776 | + <FnCountIterator> |
777 | + <ZorbaCollectionIterator> |
778 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
779 | + </ZorbaCollectionIterator> |
780 | + </FnCountIterator> |
781 | + </SequentialIterator> |
782 | </SequentialIterator> |
783 | -</SequentialIterator> |
784 | - |
785 | +</iterator-tree> |
786 | |
787 | === modified file 'test/iterplans/zorba/collections/count_static_zorba_collection.iter' |
788 | --- test/iterplans/zorba/collections/count_static_zorba_collection.iter 2013-03-24 20:40:03 +0000 |
789 | +++ test/iterplans/zorba/collections/count_static_zorba_collection.iter 2014-02-24 20:09:23 +0000 |
790 | @@ -1,37 +1,37 @@ |
791 | -Iterator tree for main query: |
792 | -<SequentialIterator> |
793 | - <CtxVarDeclareIterator varid="4" varname="ns:collection_1"> |
794 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_1)"/> |
795 | - </CtxVarDeclareIterator> |
796 | - <CtxVarDeclareIterator varid="5" varname="ns:collection_2"> |
797 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_2)"/> |
798 | - </CtxVarDeclareIterator> |
799 | - <CtxVarDeclareIterator varid="6" varname="ns:http"> |
800 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,http)"/> |
801 | - </CtxVarDeclareIterator> |
802 | - <CtxVarDeclareIterator varid="7" varname="ns:test1"> |
803 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> |
804 | - </CtxVarDeclareIterator> |
805 | - <CtxVarDeclareIterator varid="8" varname="ns:test2"> |
806 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test2)"/> |
807 | - </CtxVarDeclareIterator> |
808 | - <CtxVarDeclareIterator varid="9" varname="ns:test3"> |
809 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test3)"/> |
810 | - </CtxVarDeclareIterator> |
811 | - <CtxVarDeclareIterator varid="10" varname="coll"> |
812 | - <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> |
813 | - </CtxVarDeclareIterator> |
814 | +<iterator-tree description="main query"> |
815 | <SequentialIterator> |
816 | - <ApplyIterator> |
817 | - <ZorbaCreateCollectionIterator> |
818 | - <CtxVarIterator varid="10" varname="coll" varkind="global"/> |
819 | - </ZorbaCreateCollectionIterator> |
820 | - </ApplyIterator> |
821 | - <FnCountIterator> |
822 | - <ZorbaCollectionIterator> |
823 | - <CtxVarIterator varid="10" varname="coll" varkind="global"/> |
824 | - </ZorbaCollectionIterator> |
825 | - </FnCountIterator> |
826 | + <CtxVarDeclareIterator varid="4" varname="ns:collection_1"> |
827 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_1)"/> |
828 | + </CtxVarDeclareIterator> |
829 | + <CtxVarDeclareIterator varid="5" varname="ns:collection_2"> |
830 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_2)"/> |
831 | + </CtxVarDeclareIterator> |
832 | + <CtxVarDeclareIterator varid="6" varname="ns:http"> |
833 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,http)"/> |
834 | + </CtxVarDeclareIterator> |
835 | + <CtxVarDeclareIterator varid="7" varname="ns:test1"> |
836 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> |
837 | + </CtxVarDeclareIterator> |
838 | + <CtxVarDeclareIterator varid="8" varname="ns:test2"> |
839 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test2)"/> |
840 | + </CtxVarDeclareIterator> |
841 | + <CtxVarDeclareIterator varid="9" varname="ns:test3"> |
842 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test3)"/> |
843 | + </CtxVarDeclareIterator> |
844 | + <CtxVarDeclareIterator varid="10" varname="coll"> |
845 | + <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> |
846 | + </CtxVarDeclareIterator> |
847 | + <SequentialIterator> |
848 | + <ApplyIterator> |
849 | + <ZorbaCreateCollectionIterator> |
850 | + <CtxVarIterator varid="10" varname="coll" varkind="global"/> |
851 | + </ZorbaCreateCollectionIterator> |
852 | + </ApplyIterator> |
853 | + <FnCountIterator> |
854 | + <ZorbaCollectionIterator> |
855 | + <CtxVarIterator varid="10" varname="coll" varkind="global"/> |
856 | + </ZorbaCollectionIterator> |
857 | + </FnCountIterator> |
858 | + </SequentialIterator> |
859 | </SequentialIterator> |
860 | -</SequentialIterator> |
861 | - |
862 | +</iterator-tree> |
863 | |
864 | === modified file 'test/iterplans/zorba/collections/count_w3c_collection.iter' |
865 | --- test/iterplans/zorba/collections/count_w3c_collection.iter 2013-10-09 02:40:46 +0000 |
866 | +++ test/iterplans/zorba/collections/count_w3c_collection.iter 2014-02-24 20:09:23 +0000 |
867 | @@ -1,29 +1,29 @@ |
868 | -Iterator tree for main query: |
869 | -<SequentialIterator> |
870 | - <CtxVarDeclareIterator varid="4" varname="coll"> |
871 | - <SingletonIterator value="xs:string(http://zorba.io/collection)"/> |
872 | - </CtxVarDeclareIterator> |
873 | +<iterator-tree description="main query"> |
874 | <SequentialIterator> |
875 | - <ApplyIterator> |
876 | - <UDFunctionCallIterator function="ddl:create"> |
877 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
878 | - </UDFunctionCallIterator> |
879 | - </ApplyIterator> |
880 | - <FnCountIterator> |
881 | - <FnCollectionIterator> |
882 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
883 | - </FnCollectionIterator> |
884 | - </FnCountIterator> |
885 | + <CtxVarDeclareIterator varid="4" varname="coll"> |
886 | + <SingletonIterator value="xs:string(http://zorba.io/collection)"/> |
887 | + </CtxVarDeclareIterator> |
888 | + <SequentialIterator> |
889 | + <ApplyIterator> |
890 | + <UDFunctionCallIterator function="ddl:create"> |
891 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
892 | + </UDFunctionCallIterator> |
893 | + </ApplyIterator> |
894 | + <FnCountIterator> |
895 | + <FnCollectionIterator> |
896 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
897 | + </FnCollectionIterator> |
898 | + </FnCountIterator> |
899 | + </SequentialIterator> |
900 | </SequentialIterator> |
901 | -</SequentialIterator> |
902 | - |
903 | -Iterator tree for ddl:create: |
904 | -<ZorbaCreateCollectionIterator> |
905 | - <FunctionTraceIterator> |
906 | - <QNameIterator> |
907 | - <LetVarIterator varname="uri"/> |
908 | - <SingletonIterator value="xs:string(zorba-internal-name-for-w3c-collections)"/> |
909 | - </QNameIterator> |
910 | - </FunctionTraceIterator> |
911 | -</ZorbaCreateCollectionIterator> |
912 | - |
913 | +</iterator-tree> |
914 | +<iterator-tree description="ddl:create"> |
915 | + <ZorbaCreateCollectionIterator> |
916 | + <FunctionTraceIterator> |
917 | + <QNameIterator> |
918 | + <LetVarIterator varname="uri"/> |
919 | + <SingletonIterator value="xs:string(zorba-internal-name-for-w3c-collections)"/> |
920 | + </QNameIterator> |
921 | + </FunctionTraceIterator> |
922 | + </ZorbaCreateCollectionIterator> |
923 | +</iterator-tree> |
924 | |
925 | === modified file 'test/iterplans/zorba/collections/no_copy_01.iter' |
926 | --- test/iterplans/zorba/collections/no_copy_01.iter 2014-02-19 01:28:17 +0000 |
927 | +++ test/iterplans/zorba/collections/no_copy_01.iter 2014-02-24 20:09:23 +0000 |
928 | @@ -1,61 +1,61 @@ |
929 | -Iterator tree for main query: |
930 | -<SequentialIterator> |
931 | - <ApplyIterator> |
932 | - <ZorbaCreateCollectionIterator> |
933 | - <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
934 | - </ZorbaCreateCollectionIterator> |
935 | - </ApplyIterator> |
936 | - <FnConcatIterator> |
937 | - <MaterializeIterator> |
938 | - <FLWORIterator> |
939 | - <ForVariable name="n"> |
940 | - <ElementIterator> |
941 | - <SingletonIterator value="xs:QName(,,a)"/> |
942 | - </ElementIterator> |
943 | - </ForVariable> |
944 | - <MaterializeClause> |
945 | - <MaterializeForVariable inputVar="n : "/> |
946 | - </MaterializeClause> |
947 | - <ReturnClause> |
948 | - <IsSameNodeIterator> |
949 | - <ForVarIterator varname="n"/> |
950 | - <MaterializeIterator> |
951 | - <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
952 | - <ZorbaApplyInsertLastIterator is-dynamic="true" need-to-copy="true"> |
953 | - <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
954 | - <ForVarIterator varname="n"/> |
955 | - </ZorbaApplyInsertLastIterator> |
956 | - </TreatIterator> |
957 | - </MaterializeIterator> |
958 | - </IsSameNodeIterator> |
959 | - </ReturnClause> |
960 | - </FLWORIterator> |
961 | - </MaterializeIterator> |
962 | - <MaterializeIterator> |
963 | - <FLWORIterator> |
964 | - <ForVariable name="n"> |
965 | - <ElementIterator> |
966 | - <SingletonIterator value="xs:QName(,,a)"/> |
967 | - </ElementIterator> |
968 | - </ForVariable> |
969 | - <MaterializeClause> |
970 | - <MaterializeForVariable inputVar="n : "/> |
971 | - </MaterializeClause> |
972 | - <ReturnClause> |
973 | - <IsSameNodeIterator> |
974 | - <ForVarIterator varname="n"/> |
975 | - <MaterializeIterator> |
976 | - <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
977 | - <ZorbaApplyInsertLastIterator is-dynamic="true"> |
978 | - <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
979 | - <ForVarIterator varname="n"/> |
980 | - </ZorbaApplyInsertLastIterator> |
981 | - </TreatIterator> |
982 | - </MaterializeIterator> |
983 | - </IsSameNodeIterator> |
984 | - </ReturnClause> |
985 | - </FLWORIterator> |
986 | - </MaterializeIterator> |
987 | - </FnConcatIterator> |
988 | -</SequentialIterator> |
989 | - |
990 | +<iterator-tree description="main query"> |
991 | + <SequentialIterator> |
992 | + <ApplyIterator> |
993 | + <ZorbaCreateCollectionIterator> |
994 | + <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
995 | + </ZorbaCreateCollectionIterator> |
996 | + </ApplyIterator> |
997 | + <FnConcatIterator> |
998 | + <MaterializeIterator> |
999 | + <FLWORIterator> |
1000 | + <ForVariable name="n"> |
1001 | + <ElementIterator> |
1002 | + <SingletonIterator value="xs:QName(,,a)"/> |
1003 | + </ElementIterator> |
1004 | + </ForVariable> |
1005 | + <MaterializeClause> |
1006 | + <MaterializeForVariable inputVar="n : "/> |
1007 | + </MaterializeClause> |
1008 | + <ReturnClause> |
1009 | + <IsSameNodeIterator> |
1010 | + <ForVarIterator varname="n"/> |
1011 | + <MaterializeIterator> |
1012 | + <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1013 | + <ZorbaApplyInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1014 | + <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
1015 | + <ForVarIterator varname="n"/> |
1016 | + </ZorbaApplyInsertLastIterator> |
1017 | + </TreatIterator> |
1018 | + </MaterializeIterator> |
1019 | + </IsSameNodeIterator> |
1020 | + </ReturnClause> |
1021 | + </FLWORIterator> |
1022 | + </MaterializeIterator> |
1023 | + <MaterializeIterator> |
1024 | + <FLWORIterator> |
1025 | + <ForVariable name="n"> |
1026 | + <ElementIterator> |
1027 | + <SingletonIterator value="xs:QName(,,a)"/> |
1028 | + </ElementIterator> |
1029 | + </ForVariable> |
1030 | + <MaterializeClause> |
1031 | + <MaterializeForVariable inputVar="n : "/> |
1032 | + </MaterializeClause> |
1033 | + <ReturnClause> |
1034 | + <IsSameNodeIterator> |
1035 | + <ForVarIterator varname="n"/> |
1036 | + <MaterializeIterator> |
1037 | + <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1038 | + <ZorbaApplyInsertLastIterator is-dynamic="true"> |
1039 | + <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
1040 | + <ForVarIterator varname="n"/> |
1041 | + </ZorbaApplyInsertLastIterator> |
1042 | + </TreatIterator> |
1043 | + </MaterializeIterator> |
1044 | + </IsSameNodeIterator> |
1045 | + </ReturnClause> |
1046 | + </FLWORIterator> |
1047 | + </MaterializeIterator> |
1048 | + </FnConcatIterator> |
1049 | + </SequentialIterator> |
1050 | +</iterator-tree> |
1051 | |
1052 | === modified file 'test/iterplans/zorba/dblp/q0.iter' |
1053 | --- test/iterplans/zorba/dblp/q0.iter 2014-02-19 01:28:17 +0000 |
1054 | +++ test/iterplans/zorba/dblp/q0.iter 2014-02-24 20:09:23 +0000 |
1055 | @@ -1,182 +1,182 @@ |
1056 | -Iterator tree for const-folded expr: |
1057 | -<OrIterator> |
1058 | - <SingletonIterator value="xs:boolean(false)"/> |
1059 | - <SingletonIterator value="xs:boolean(false)"/> |
1060 | - <SingletonIterator value="xs:boolean(false)"/> |
1061 | -</OrIterator> |
1062 | - |
1063 | -Iterator tree for const-folded expr: |
1064 | -<OrIterator> |
1065 | - <SingletonIterator value="xs:boolean(false)"/> |
1066 | - <SingletonIterator value="xs:boolean(false)"/> |
1067 | - <SingletonIterator value="xs:boolean(false)"/> |
1068 | -</OrIterator> |
1069 | - |
1070 | -Iterator tree for main query: |
1071 | -<SequentialIterator> |
1072 | - <CtxVarDeclareIterator varid="4" varname="input-context"/> |
1073 | - <FLWORIterator> |
1074 | - <LetVariable name="doc" materialize="true"> |
1075 | - <FnDocIterator> |
1076 | - <PromoteIterator type="xs:string"> |
1077 | - <FnDataIterator> |
1078 | - <CtxVarIterator varid="4" varname="input-context" varkind="global"/> |
1079 | - </FnDataIterator> |
1080 | - </PromoteIterator> |
1081 | - </FnDocIterator> |
1082 | - </LetVariable> |
1083 | - <LetVariable name="$$opt_temp_1" materialize="true"> |
1084 | - <HoistIterator> |
1085 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1086 | - <LetVarIterator varname="doc"/> |
1087 | - </ChildAxisIterator> |
1088 | - </HoistIterator> |
1089 | - </LetVariable> |
1090 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
1091 | - <HoistIterator> |
1092 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1093 | - <LetVarIterator varname="doc"/> |
1094 | - </ChildAxisIterator> |
1095 | - </HoistIterator> |
1096 | - </LetVariable> |
1097 | - <ReturnClause> |
1098 | - <ElementIterator> |
1099 | - <SingletonIterator value="xs:QName(,,statistics)"/> |
1100 | - <FnConcatIterator> |
1101 | - <ElementIterator> |
1102 | - <SingletonIterator value="xs:QName(,,total)"/> |
1103 | - <FnConcatIterator> |
1104 | - <ElementIterator> |
1105 | - <SingletonIterator value="xs:QName(,,paper)"/> |
1106 | - <EnclosedIterator attr_cont="false"> |
1107 | - <FnCountIterator> |
1108 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1109 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1110 | - <LetVarIterator varname="doc"/> |
1111 | +<iterator-tree description="const-folded expr"> |
1112 | + <OrIterator> |
1113 | + <SingletonIterator value="xs:boolean(false)"/> |
1114 | + <SingletonIterator value="xs:boolean(false)"/> |
1115 | + <SingletonIterator value="xs:boolean(false)"/> |
1116 | + </OrIterator> |
1117 | +</iterator-tree> |
1118 | +<iterator-tree description="const-folded expr"> |
1119 | + <OrIterator> |
1120 | + <SingletonIterator value="xs:boolean(false)"/> |
1121 | + <SingletonIterator value="xs:boolean(false)"/> |
1122 | + <SingletonIterator value="xs:boolean(false)"/> |
1123 | + </OrIterator> |
1124 | +</iterator-tree> |
1125 | +<iterator-tree description="main query"> |
1126 | + <SequentialIterator> |
1127 | + <CtxVarDeclareIterator varid="4" varname="input-context"/> |
1128 | + <FLWORIterator> |
1129 | + <LetVariable name="doc" materialize="true"> |
1130 | + <FnDocIterator> |
1131 | + <PromoteIterator type="xs:string"> |
1132 | + <FnDataIterator> |
1133 | + <CtxVarIterator varid="4" varname="input-context" varkind="global"/> |
1134 | + </FnDataIterator> |
1135 | + </PromoteIterator> |
1136 | + </FnDocIterator> |
1137 | + </LetVariable> |
1138 | + <LetVariable name="$$opt_temp_1" materialize="true"> |
1139 | + <HoistIterator> |
1140 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1141 | + <LetVarIterator varname="doc"/> |
1142 | + </ChildAxisIterator> |
1143 | + </HoistIterator> |
1144 | + </LetVariable> |
1145 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
1146 | + <HoistIterator> |
1147 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1148 | + <LetVarIterator varname="doc"/> |
1149 | + </ChildAxisIterator> |
1150 | + </HoistIterator> |
1151 | + </LetVariable> |
1152 | + <ReturnClause> |
1153 | + <ElementIterator> |
1154 | + <SingletonIterator value="xs:QName(,,statistics)"/> |
1155 | + <FnConcatIterator> |
1156 | + <ElementIterator> |
1157 | + <SingletonIterator value="xs:QName(,,total)"/> |
1158 | + <FnConcatIterator> |
1159 | + <ElementIterator> |
1160 | + <SingletonIterator value="xs:QName(,,paper)"/> |
1161 | + <EnclosedIterator attr_cont="false"> |
1162 | + <FnCountIterator> |
1163 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1164 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1165 | + <LetVarIterator varname="doc"/> |
1166 | + </ChildAxisIterator> |
1167 | </ChildAxisIterator> |
1168 | - </ChildAxisIterator> |
1169 | - </FnCountIterator> |
1170 | - </EnclosedIterator> |
1171 | - </ElementIterator> |
1172 | - <ElementIterator> |
1173 | - <SingletonIterator value="xs:QName(,,author)"/> |
1174 | - <EnclosedIterator attr_cont="false"> |
1175 | - <FnCountIterator> |
1176 | - <FnDistinctValuesIterator> |
1177 | - <FnDataIterator> |
1178 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
1179 | - <LetVarIterator varname="doc"/> |
1180 | - </DescendantAxisIterator> |
1181 | - </FnDataIterator> |
1182 | - </FnDistinctValuesIterator> |
1183 | - </FnCountIterator> |
1184 | - </EnclosedIterator> |
1185 | - </ElementIterator> |
1186 | - </FnConcatIterator> |
1187 | - </ElementIterator> |
1188 | - <ElementIterator> |
1189 | - <SingletonIterator value="xs:QName(,,conferences)"/> |
1190 | - <EnclosedIterator attr_cont="false"> |
1191 | - <FLWORIterator> |
1192 | - <ForVariable name="conference"> |
1193 | - <FnConcatIterator> |
1194 | - <SingletonIterator value="xs:string(EDBT)"/> |
1195 | - <SingletonIterator value="xs:string(ICDT)"/> |
1196 | - <SingletonIterator value="xs:string(ICDE)"/> |
1197 | - <SingletonIterator value="xs:string(PODS)"/> |
1198 | - <SingletonIterator value="xs:string(VLDB)"/> |
1199 | - <SingletonIterator value="xs:string(SIGMOD Conference)"/> |
1200 | - </FnConcatIterator> |
1201 | - </ForVariable> |
1202 | - <ReturnClause> |
1203 | - <ElementIterator> |
1204 | - <SingletonIterator value="xs:QName(,,conference)"/> |
1205 | + </FnCountIterator> |
1206 | + </EnclosedIterator> |
1207 | + </ElementIterator> |
1208 | + <ElementIterator> |
1209 | + <SingletonIterator value="xs:QName(,,author)"/> |
1210 | + <EnclosedIterator attr_cont="false"> |
1211 | + <FnCountIterator> |
1212 | + <FnDistinctValuesIterator> |
1213 | + <FnDataIterator> |
1214 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
1215 | + <LetVarIterator varname="doc"/> |
1216 | + </DescendantAxisIterator> |
1217 | + </FnDataIterator> |
1218 | + </FnDistinctValuesIterator> |
1219 | + </FnCountIterator> |
1220 | + </EnclosedIterator> |
1221 | + </ElementIterator> |
1222 | + </FnConcatIterator> |
1223 | + </ElementIterator> |
1224 | + <ElementIterator> |
1225 | + <SingletonIterator value="xs:QName(,,conferences)"/> |
1226 | + <EnclosedIterator attr_cont="false"> |
1227 | + <FLWORIterator> |
1228 | + <ForVariable name="conference"> |
1229 | <FnConcatIterator> |
1230 | - <ElementIterator> |
1231 | - <SingletonIterator value="xs:QName(,,name)"/> |
1232 | - <EnclosedIterator attr_cont="false"> |
1233 | - <ForVarIterator varname="conference"/> |
1234 | - </EnclosedIterator> |
1235 | - </ElementIterator> |
1236 | - <ElementIterator> |
1237 | - <SingletonIterator value="xs:QName(,,paper)"/> |
1238 | - <EnclosedIterator attr_cont="false"> |
1239 | - <FnCountIterator> |
1240 | - <FLWORIterator> |
1241 | - <ForVariable name="$$context-item"> |
1242 | - <UnhoistIterator> |
1243 | - <LetVarIterator varname="$$opt_temp_0"/> |
1244 | - </UnhoistIterator> |
1245 | - </ForVariable> |
1246 | - <ForVariable name="$$context-item"> |
1247 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1248 | - <ForVarIterator varname="$$context-item"/> |
1249 | - </ChildAxisIterator> |
1250 | - </ForVariable> |
1251 | - <WhereClause> |
1252 | - <CompareIterator> |
1253 | - <FnDataIterator> |
1254 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> |
1255 | - <ForVarIterator varname="$$context-item"/> |
1256 | - </ChildAxisIterator> |
1257 | - </FnDataIterator> |
1258 | - <ForVarIterator varname="conference"/> |
1259 | - </CompareIterator> |
1260 | - </WhereClause> |
1261 | - <ReturnClause> |
1262 | - <SingletonIterator value="xs:boolean(true)"/> |
1263 | - </ReturnClause> |
1264 | - </FLWORIterator> |
1265 | - </FnCountIterator> |
1266 | - </EnclosedIterator> |
1267 | - </ElementIterator> |
1268 | - <ElementIterator> |
1269 | - <SingletonIterator value="xs:QName(,,author)"/> |
1270 | - <EnclosedIterator attr_cont="false"> |
1271 | - <FnCountIterator> |
1272 | - <FnDistinctValuesIterator> |
1273 | - <FnDataIterator> |
1274 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
1275 | - <FLWORIterator> |
1276 | - <ForVariable name="$$context-item"> |
1277 | - <UnhoistIterator> |
1278 | - <LetVarIterator varname="$$opt_temp_1"/> |
1279 | - </UnhoistIterator> |
1280 | - </ForVariable> |
1281 | - <ForVariable name="$$context-item"> |
1282 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1283 | + <SingletonIterator value="xs:string(EDBT)"/> |
1284 | + <SingletonIterator value="xs:string(ICDT)"/> |
1285 | + <SingletonIterator value="xs:string(ICDE)"/> |
1286 | + <SingletonIterator value="xs:string(PODS)"/> |
1287 | + <SingletonIterator value="xs:string(VLDB)"/> |
1288 | + <SingletonIterator value="xs:string(SIGMOD Conference)"/> |
1289 | + </FnConcatIterator> |
1290 | + </ForVariable> |
1291 | + <ReturnClause> |
1292 | + <ElementIterator> |
1293 | + <SingletonIterator value="xs:QName(,,conference)"/> |
1294 | + <FnConcatIterator> |
1295 | + <ElementIterator> |
1296 | + <SingletonIterator value="xs:QName(,,name)"/> |
1297 | + <EnclosedIterator attr_cont="false"> |
1298 | + <ForVarIterator varname="conference"/> |
1299 | + </EnclosedIterator> |
1300 | + </ElementIterator> |
1301 | + <ElementIterator> |
1302 | + <SingletonIterator value="xs:QName(,,paper)"/> |
1303 | + <EnclosedIterator attr_cont="false"> |
1304 | + <FnCountIterator> |
1305 | + <FLWORIterator> |
1306 | + <ForVariable name="$$context-item"> |
1307 | + <UnhoistIterator> |
1308 | + <LetVarIterator varname="$$opt_temp_0"/> |
1309 | + </UnhoistIterator> |
1310 | + </ForVariable> |
1311 | + <ForVariable name="$$context-item"> |
1312 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1313 | + <ForVarIterator varname="$$context-item"/> |
1314 | + </ChildAxisIterator> |
1315 | + </ForVariable> |
1316 | + <WhereClause> |
1317 | + <CompareIterator> |
1318 | + <FnDataIterator> |
1319 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> |
1320 | <ForVarIterator varname="$$context-item"/> |
1321 | </ChildAxisIterator> |
1322 | - </ForVariable> |
1323 | - <WhereClause> |
1324 | - <CompareIterator> |
1325 | - <FnDataIterator> |
1326 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> |
1327 | - <ForVarIterator varname="$$context-item"/> |
1328 | - </ChildAxisIterator> |
1329 | - </FnDataIterator> |
1330 | - <ForVarIterator varname="conference"/> |
1331 | - </CompareIterator> |
1332 | - </WhereClause> |
1333 | - <ReturnClause> |
1334 | - <ForVarIterator varname="$$context-item"/> |
1335 | - </ReturnClause> |
1336 | - </FLWORIterator> |
1337 | - </ChildAxisIterator> |
1338 | - </FnDataIterator> |
1339 | - </FnDistinctValuesIterator> |
1340 | - </FnCountIterator> |
1341 | - </EnclosedIterator> |
1342 | - </ElementIterator> |
1343 | - </FnConcatIterator> |
1344 | - </ElementIterator> |
1345 | - </ReturnClause> |
1346 | - </FLWORIterator> |
1347 | - </EnclosedIterator> |
1348 | - </ElementIterator> |
1349 | - </FnConcatIterator> |
1350 | - </ElementIterator> |
1351 | - </ReturnClause> |
1352 | - </FLWORIterator> |
1353 | -</SequentialIterator> |
1354 | - |
1355 | + </FnDataIterator> |
1356 | + <ForVarIterator varname="conference"/> |
1357 | + </CompareIterator> |
1358 | + </WhereClause> |
1359 | + <ReturnClause> |
1360 | + <SingletonIterator value="xs:boolean(true)"/> |
1361 | + </ReturnClause> |
1362 | + </FLWORIterator> |
1363 | + </FnCountIterator> |
1364 | + </EnclosedIterator> |
1365 | + </ElementIterator> |
1366 | + <ElementIterator> |
1367 | + <SingletonIterator value="xs:QName(,,author)"/> |
1368 | + <EnclosedIterator attr_cont="false"> |
1369 | + <FnCountIterator> |
1370 | + <FnDistinctValuesIterator> |
1371 | + <FnDataIterator> |
1372 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
1373 | + <FLWORIterator> |
1374 | + <ForVariable name="$$context-item"> |
1375 | + <UnhoistIterator> |
1376 | + <LetVarIterator varname="$$opt_temp_1"/> |
1377 | + </UnhoistIterator> |
1378 | + </ForVariable> |
1379 | + <ForVariable name="$$context-item"> |
1380 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1381 | + <ForVarIterator varname="$$context-item"/> |
1382 | + </ChildAxisIterator> |
1383 | + </ForVariable> |
1384 | + <WhereClause> |
1385 | + <CompareIterator> |
1386 | + <FnDataIterator> |
1387 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> |
1388 | + <ForVarIterator varname="$$context-item"/> |
1389 | + </ChildAxisIterator> |
1390 | + </FnDataIterator> |
1391 | + <ForVarIterator varname="conference"/> |
1392 | + </CompareIterator> |
1393 | + </WhereClause> |
1394 | + <ReturnClause> |
1395 | + <ForVarIterator varname="$$context-item"/> |
1396 | + </ReturnClause> |
1397 | + </FLWORIterator> |
1398 | + </ChildAxisIterator> |
1399 | + </FnDataIterator> |
1400 | + </FnDistinctValuesIterator> |
1401 | + </FnCountIterator> |
1402 | + </EnclosedIterator> |
1403 | + </ElementIterator> |
1404 | + </FnConcatIterator> |
1405 | + </ElementIterator> |
1406 | + </ReturnClause> |
1407 | + </FLWORIterator> |
1408 | + </EnclosedIterator> |
1409 | + </ElementIterator> |
1410 | + </FnConcatIterator> |
1411 | + </ElementIterator> |
1412 | + </ReturnClause> |
1413 | + </FLWORIterator> |
1414 | + </SequentialIterator> |
1415 | +</iterator-tree> |
1416 | |
1417 | === modified file 'test/iterplans/zorba/error/trace1.iter' |
1418 | --- test/iterplans/zorba/error/trace1.iter 2013-02-07 17:24:36 +0000 |
1419 | +++ test/iterplans/zorba/error/trace1.iter 2014-02-24 20:09:23 +0000 |
1420 | @@ -1,8 +1,8 @@ |
1421 | -Iterator tree for main query: |
1422 | -<FunctionTraceIterator> |
1423 | - <TraceIterator> |
1424 | - <SingletonIterator value="xs:integer(3)"/> |
1425 | - <SingletonIterator value="xs:string(foo)"/> |
1426 | - </TraceIterator> |
1427 | -</FunctionTraceIterator> |
1428 | - |
1429 | +<iterator-tree description="main query"> |
1430 | + <FunctionTraceIterator> |
1431 | + <TraceIterator> |
1432 | + <SingletonIterator value="xs:integer(3)"/> |
1433 | + <SingletonIterator value="xs:string(foo)"/> |
1434 | + </TraceIterator> |
1435 | + </FunctionTraceIterator> |
1436 | +</iterator-tree> |
1437 | |
1438 | === modified file 'test/iterplans/zorba/flwor/flwor24.iter' |
1439 | --- test/iterplans/zorba/flwor/flwor24.iter 2014-02-19 01:28:17 +0000 |
1440 | +++ test/iterplans/zorba/flwor/flwor24.iter 2014-02-24 20:09:23 +0000 |
1441 | @@ -1,56 +1,56 @@ |
1442 | -Iterator tree for const-folded expr: |
1443 | -<FunctionTraceIterator> |
1444 | - <FnConcatIterator/> |
1445 | -</FunctionTraceIterator> |
1446 | - |
1447 | -Iterator tree for main query: |
1448 | -<SequentialIterator> |
1449 | - <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1450 | - <UDFunctionCallIterator function="fetch:content"> |
1451 | - <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1452 | - </UDFunctionCallIterator> |
1453 | - </CtxVarDeclareIterator> |
1454 | - <FLWORIterator> |
1455 | - <ForVariable name="w"> |
1456 | - <FnZorbaParseXmlFragmentIterator> |
1457 | - <PromoteIterator type="xs:string"> |
1458 | - <FnDataIterator> |
1459 | - <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1460 | - </FnDataIterator> |
1461 | - </PromoteIterator> |
1462 | - <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1463 | - <ElementIterator> |
1464 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1465 | +<iterator-tree description="const-folded expr"> |
1466 | + <FunctionTraceIterator> |
1467 | + <FnConcatIterator/> |
1468 | + </FunctionTraceIterator> |
1469 | +</iterator-tree> |
1470 | +<iterator-tree description="main query"> |
1471 | + <SequentialIterator> |
1472 | + <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1473 | + <UDFunctionCallIterator function="fetch:content"> |
1474 | + <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1475 | + </UDFunctionCallIterator> |
1476 | + </CtxVarDeclareIterator> |
1477 | + <FLWORIterator> |
1478 | + <ForVariable name="w"> |
1479 | + <FnZorbaParseXmlFragmentIterator> |
1480 | + <PromoteIterator type="xs:string"> |
1481 | + <FnDataIterator> |
1482 | + <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1483 | + </FnDataIterator> |
1484 | + </PromoteIterator> |
1485 | + <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1486 | <ElementIterator> |
1487 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1488 | - <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1489 | - <SingletonIterator value="xs:string(1)"/> |
1490 | - </AttributeIterator> |
1491 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1492 | + <ElementIterator> |
1493 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1494 | + <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1495 | + <SingletonIterator value="xs:string(1)"/> |
1496 | + </AttributeIterator> |
1497 | + </ElementIterator> |
1498 | </ElementIterator> |
1499 | - </ElementIterator> |
1500 | - </TreatIterator> |
1501 | - </FnZorbaParseXmlFragmentIterator> |
1502 | - </ForVariable> |
1503 | - <MaterializeClause> |
1504 | - <MaterializeForVariable inputVar="w : "/> |
1505 | - </MaterializeClause> |
1506 | - <ReturnClause> |
1507 | - <SequentialIterator> |
1508 | - <ApplyIterator> |
1509 | - <FnConcatIterator/> |
1510 | - </ApplyIterator> |
1511 | - <ForVarIterator varname="w"/> |
1512 | - </SequentialIterator> |
1513 | - </ReturnClause> |
1514 | - </FLWORIterator> |
1515 | -</SequentialIterator> |
1516 | - |
1517 | -Iterator tree for fetch:content: |
1518 | -<FunctionTraceIterator> |
1519 | - <FetchContentIterator> |
1520 | - <LetVarIterator varname="uri"/> |
1521 | - <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1522 | - <SingletonIterator value="xs:string(UTF-8)"/> |
1523 | - </FetchContentIterator> |
1524 | -</FunctionTraceIterator> |
1525 | - |
1526 | + </TreatIterator> |
1527 | + </FnZorbaParseXmlFragmentIterator> |
1528 | + </ForVariable> |
1529 | + <MaterializeClause> |
1530 | + <MaterializeForVariable inputVar="w : "/> |
1531 | + </MaterializeClause> |
1532 | + <ReturnClause> |
1533 | + <SequentialIterator> |
1534 | + <ApplyIterator> |
1535 | + <FnConcatIterator/> |
1536 | + </ApplyIterator> |
1537 | + <ForVarIterator varname="w"/> |
1538 | + </SequentialIterator> |
1539 | + </ReturnClause> |
1540 | + </FLWORIterator> |
1541 | + </SequentialIterator> |
1542 | +</iterator-tree> |
1543 | +<iterator-tree description="fetch:content"> |
1544 | + <FunctionTraceIterator> |
1545 | + <FetchContentIterator> |
1546 | + <LetVarIterator varname="uri"/> |
1547 | + <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1548 | + <SingletonIterator value="xs:string(UTF-8)"/> |
1549 | + </FetchContentIterator> |
1550 | + </FunctionTraceIterator> |
1551 | +</iterator-tree> |
1552 | |
1553 | === modified file 'test/iterplans/zorba/flwor/flwor25.iter' |
1554 | --- test/iterplans/zorba/flwor/flwor25.iter 2014-02-19 01:28:17 +0000 |
1555 | +++ test/iterplans/zorba/flwor/flwor25.iter 2014-02-24 20:09:23 +0000 |
1556 | @@ -1,56 +1,56 @@ |
1557 | -Iterator tree for const-folded expr: |
1558 | -<FunctionTraceIterator> |
1559 | - <FnConcatIterator/> |
1560 | -</FunctionTraceIterator> |
1561 | - |
1562 | -Iterator tree for main query: |
1563 | -<SequentialIterator> |
1564 | - <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1565 | - <UDFunctionCallIterator function="fetch:content"> |
1566 | - <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1567 | - </UDFunctionCallIterator> |
1568 | - </CtxVarDeclareIterator> |
1569 | - <CtxVarDeclareIterator varid="5" varname="contents"> |
1570 | - <FnZorbaParseXmlFragmentIterator> |
1571 | - <PromoteIterator type="xs:string"> |
1572 | - <FnDataIterator> |
1573 | - <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1574 | - </FnDataIterator> |
1575 | - </PromoteIterator> |
1576 | - <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1577 | - <ElementIterator> |
1578 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1579 | +<iterator-tree description="const-folded expr"> |
1580 | + <FunctionTraceIterator> |
1581 | + <FnConcatIterator/> |
1582 | + </FunctionTraceIterator> |
1583 | +</iterator-tree> |
1584 | +<iterator-tree description="main query"> |
1585 | + <SequentialIterator> |
1586 | + <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1587 | + <UDFunctionCallIterator function="fetch:content"> |
1588 | + <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1589 | + </UDFunctionCallIterator> |
1590 | + </CtxVarDeclareIterator> |
1591 | + <CtxVarDeclareIterator varid="5" varname="contents"> |
1592 | + <FnZorbaParseXmlFragmentIterator> |
1593 | + <PromoteIterator type="xs:string"> |
1594 | + <FnDataIterator> |
1595 | + <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1596 | + </FnDataIterator> |
1597 | + </PromoteIterator> |
1598 | + <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1599 | <ElementIterator> |
1600 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1601 | - <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1602 | - <SingletonIterator value="xs:string(1)"/> |
1603 | - </AttributeIterator> |
1604 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1605 | + <ElementIterator> |
1606 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1607 | + <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1608 | + <SingletonIterator value="xs:string(1)"/> |
1609 | + </AttributeIterator> |
1610 | + </ElementIterator> |
1611 | </ElementIterator> |
1612 | - </ElementIterator> |
1613 | - </TreatIterator> |
1614 | - </FnZorbaParseXmlFragmentIterator> |
1615 | - </CtxVarDeclareIterator> |
1616 | - <FLWORIterator> |
1617 | - <ForVariable name="w"> |
1618 | - <CtxVarIterator varid="5" varname="contents" varkind="local"/> |
1619 | - </ForVariable> |
1620 | - <ReturnClause> |
1621 | - <SequentialIterator> |
1622 | - <ApplyIterator> |
1623 | - <FnConcatIterator/> |
1624 | - </ApplyIterator> |
1625 | - <ForVarIterator varname="w"/> |
1626 | - </SequentialIterator> |
1627 | - </ReturnClause> |
1628 | - </FLWORIterator> |
1629 | -</SequentialIterator> |
1630 | - |
1631 | -Iterator tree for fetch:content: |
1632 | -<FunctionTraceIterator> |
1633 | - <FetchContentIterator> |
1634 | - <LetVarIterator varname="uri"/> |
1635 | - <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1636 | - <SingletonIterator value="xs:string(UTF-8)"/> |
1637 | - </FetchContentIterator> |
1638 | -</FunctionTraceIterator> |
1639 | - |
1640 | + </TreatIterator> |
1641 | + </FnZorbaParseXmlFragmentIterator> |
1642 | + </CtxVarDeclareIterator> |
1643 | + <FLWORIterator> |
1644 | + <ForVariable name="w"> |
1645 | + <CtxVarIterator varid="5" varname="contents" varkind="local"/> |
1646 | + </ForVariable> |
1647 | + <ReturnClause> |
1648 | + <SequentialIterator> |
1649 | + <ApplyIterator> |
1650 | + <FnConcatIterator/> |
1651 | + </ApplyIterator> |
1652 | + <ForVarIterator varname="w"/> |
1653 | + </SequentialIterator> |
1654 | + </ReturnClause> |
1655 | + </FLWORIterator> |
1656 | + </SequentialIterator> |
1657 | +</iterator-tree> |
1658 | +<iterator-tree description="fetch:content"> |
1659 | + <FunctionTraceIterator> |
1660 | + <FetchContentIterator> |
1661 | + <LetVarIterator varname="uri"/> |
1662 | + <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1663 | + <SingletonIterator value="xs:string(UTF-8)"/> |
1664 | + </FetchContentIterator> |
1665 | + </FunctionTraceIterator> |
1666 | +</iterator-tree> |
1667 | |
1668 | === modified file 'test/iterplans/zorba/flwor/flwor26.iter' |
1669 | --- test/iterplans/zorba/flwor/flwor26.iter 2014-02-19 01:28:17 +0000 |
1670 | +++ test/iterplans/zorba/flwor/flwor26.iter 2014-02-24 20:09:23 +0000 |
1671 | @@ -1,66 +1,66 @@ |
1672 | -Iterator tree for main query: |
1673 | -<SequentialIterator> |
1674 | - <CtxVarDeclareIterator varid="4" varname="coll"> |
1675 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> |
1676 | - </CtxVarDeclareIterator> |
1677 | +<iterator-tree description="main query"> |
1678 | <SequentialIterator> |
1679 | - <ApplyIterator> |
1680 | - <ZorbaCreateCollectionIterator> |
1681 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1682 | - </ZorbaCreateCollectionIterator> |
1683 | - </ApplyIterator> |
1684 | - <ApplyIterator> |
1685 | - <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1686 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1687 | - <FnConcatIterator> |
1688 | - <ElementIterator> |
1689 | - <SingletonIterator value="xs:QName(,,a)"/> |
1690 | - </ElementIterator> |
1691 | - <ElementIterator> |
1692 | - <SingletonIterator value="xs:QName(,,c)"/> |
1693 | - </ElementIterator> |
1694 | - <ElementIterator> |
1695 | - <SingletonIterator value="xs:QName(,,b)"/> |
1696 | - </ElementIterator> |
1697 | - </FnConcatIterator> |
1698 | - </ZorbaInsertLastIterator> |
1699 | - </ApplyIterator> |
1700 | - <FLWORIterator> |
1701 | - <ForVariable name="w"> |
1702 | - <ZorbaCollectionIterator> |
1703 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1704 | - </ZorbaCollectionIterator> |
1705 | - </ForVariable> |
1706 | - <ReturnClause> |
1707 | - <SequentialIterator> |
1708 | - <ApplyIterator> |
1709 | - <FunctionTraceIterator> |
1710 | - <IfThenElseIterator> |
1711 | - <TypedValueCompareIterator_INTEGER> |
1712 | - <ForVarIterator varname="pos"/> |
1713 | - <SingletonIterator value="xs:integer(1)"/> |
1714 | - </TypedValueCompareIterator_INTEGER> |
1715 | - <ApplyIterator> |
1716 | - <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1717 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1718 | - <ElementIterator> |
1719 | - <SingletonIterator value="xs:QName(,,d)"/> |
1720 | - <EnclosedIterator attr_cont="false"> |
1721 | - <ForVarIterator varname="pos"/> |
1722 | - </EnclosedIterator> |
1723 | - </ElementIterator> |
1724 | - </ZorbaInsertLastIterator> |
1725 | - </ApplyIterator> |
1726 | - <ApplyIterator> |
1727 | - <FnConcatIterator/> |
1728 | - </ApplyIterator> |
1729 | - </IfThenElseIterator> |
1730 | - </FunctionTraceIterator> |
1731 | - </ApplyIterator> |
1732 | - <ForVarIterator varname="w"/> |
1733 | - </SequentialIterator> |
1734 | - </ReturnClause> |
1735 | - </FLWORIterator> |
1736 | + <CtxVarDeclareIterator varid="4" varname="coll"> |
1737 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> |
1738 | + </CtxVarDeclareIterator> |
1739 | + <SequentialIterator> |
1740 | + <ApplyIterator> |
1741 | + <ZorbaCreateCollectionIterator> |
1742 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1743 | + </ZorbaCreateCollectionIterator> |
1744 | + </ApplyIterator> |
1745 | + <ApplyIterator> |
1746 | + <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1747 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1748 | + <FnConcatIterator> |
1749 | + <ElementIterator> |
1750 | + <SingletonIterator value="xs:QName(,,a)"/> |
1751 | + </ElementIterator> |
1752 | + <ElementIterator> |
1753 | + <SingletonIterator value="xs:QName(,,c)"/> |
1754 | + </ElementIterator> |
1755 | + <ElementIterator> |
1756 | + <SingletonIterator value="xs:QName(,,b)"/> |
1757 | + </ElementIterator> |
1758 | + </FnConcatIterator> |
1759 | + </ZorbaInsertLastIterator> |
1760 | + </ApplyIterator> |
1761 | + <FLWORIterator> |
1762 | + <ForVariable name="w"> |
1763 | + <ZorbaCollectionIterator> |
1764 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1765 | + </ZorbaCollectionIterator> |
1766 | + </ForVariable> |
1767 | + <ReturnClause> |
1768 | + <SequentialIterator> |
1769 | + <ApplyIterator> |
1770 | + <FunctionTraceIterator> |
1771 | + <IfThenElseIterator> |
1772 | + <TypedValueCompareIterator_INTEGER> |
1773 | + <ForVarIterator varname="pos"/> |
1774 | + <SingletonIterator value="xs:integer(1)"/> |
1775 | + </TypedValueCompareIterator_INTEGER> |
1776 | + <ApplyIterator> |
1777 | + <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1778 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1779 | + <ElementIterator> |
1780 | + <SingletonIterator value="xs:QName(,,d)"/> |
1781 | + <EnclosedIterator attr_cont="false"> |
1782 | + <ForVarIterator varname="pos"/> |
1783 | + </EnclosedIterator> |
1784 | + </ElementIterator> |
1785 | + </ZorbaInsertLastIterator> |
1786 | + </ApplyIterator> |
1787 | + <ApplyIterator> |
1788 | + <FnConcatIterator/> |
1789 | + </ApplyIterator> |
1790 | + </IfThenElseIterator> |
1791 | + </FunctionTraceIterator> |
1792 | + </ApplyIterator> |
1793 | + <ForVarIterator varname="w"/> |
1794 | + </SequentialIterator> |
1795 | + </ReturnClause> |
1796 | + </FLWORIterator> |
1797 | + </SequentialIterator> |
1798 | </SequentialIterator> |
1799 | -</SequentialIterator> |
1800 | - |
1801 | +</iterator-tree> |
1802 | |
1803 | === modified file 'test/iterplans/zorba/flwor/flwor27.iter' |
1804 | --- test/iterplans/zorba/flwor/flwor27.iter 2014-02-19 01:28:17 +0000 |
1805 | +++ test/iterplans/zorba/flwor/flwor27.iter 2014-02-24 20:09:23 +0000 |
1806 | @@ -1,63 +1,63 @@ |
1807 | -Iterator tree for const-folded expr: |
1808 | -<FunctionTraceIterator> |
1809 | - <FnConcatIterator/> |
1810 | -</FunctionTraceIterator> |
1811 | - |
1812 | -Iterator tree for main query: |
1813 | -<SequentialIterator> |
1814 | - <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1815 | - <UDFunctionCallIterator function="fetch:content"> |
1816 | - <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1817 | - </UDFunctionCallIterator> |
1818 | - </CtxVarDeclareIterator> |
1819 | - <CtxVarDeclareIterator varid="5" varname="contents"> |
1820 | - <FnZorbaParseXmlFragmentIterator> |
1821 | - <PromoteIterator type="xs:string"> |
1822 | - <FnDataIterator> |
1823 | - <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1824 | - </FnDataIterator> |
1825 | - </PromoteIterator> |
1826 | - <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1827 | - <ElementIterator> |
1828 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1829 | +<iterator-tree description="const-folded expr"> |
1830 | + <FunctionTraceIterator> |
1831 | + <FnConcatIterator/> |
1832 | + </FunctionTraceIterator> |
1833 | +</iterator-tree> |
1834 | +<iterator-tree description="main query"> |
1835 | + <SequentialIterator> |
1836 | + <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1837 | + <UDFunctionCallIterator function="fetch:content"> |
1838 | + <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1839 | + </UDFunctionCallIterator> |
1840 | + </CtxVarDeclareIterator> |
1841 | + <CtxVarDeclareIterator varid="5" varname="contents"> |
1842 | + <FnZorbaParseXmlFragmentIterator> |
1843 | + <PromoteIterator type="xs:string"> |
1844 | + <FnDataIterator> |
1845 | + <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1846 | + </FnDataIterator> |
1847 | + </PromoteIterator> |
1848 | + <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1849 | <ElementIterator> |
1850 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1851 | - <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1852 | - <SingletonIterator value="xs:string(1)"/> |
1853 | - </AttributeIterator> |
1854 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1855 | + <ElementIterator> |
1856 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1857 | + <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1858 | + <SingletonIterator value="xs:string(1)"/> |
1859 | + </AttributeIterator> |
1860 | + </ElementIterator> |
1861 | </ElementIterator> |
1862 | - </ElementIterator> |
1863 | - </TreatIterator> |
1864 | - </FnZorbaParseXmlFragmentIterator> |
1865 | - </CtxVarDeclareIterator> |
1866 | - <FLWORIterator> |
1867 | - <ForVariable name="w"> |
1868 | - <CtxVarIterator varid="5" varname="contents" varkind="local"/> |
1869 | - </ForVariable> |
1870 | - <OrderBySpec> |
1871 | - <FnLocalNameIterator> |
1872 | - <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1873 | + </TreatIterator> |
1874 | + </FnZorbaParseXmlFragmentIterator> |
1875 | + </CtxVarDeclareIterator> |
1876 | + <FLWORIterator> |
1877 | + <ForVariable name="w"> |
1878 | + <CtxVarIterator varid="5" varname="contents" varkind="local"/> |
1879 | + </ForVariable> |
1880 | + <OrderBySpec> |
1881 | + <FnLocalNameIterator> |
1882 | + <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1883 | + <ForVarIterator varname="w"/> |
1884 | + </TreatIterator> |
1885 | + </FnLocalNameIterator> |
1886 | + </OrderBySpec> |
1887 | + <ReturnClause> |
1888 | + <SequentialIterator> |
1889 | + <ApplyIterator> |
1890 | + <FnConcatIterator/> |
1891 | + </ApplyIterator> |
1892 | <ForVarIterator varname="w"/> |
1893 | - </TreatIterator> |
1894 | - </FnLocalNameIterator> |
1895 | - </OrderBySpec> |
1896 | - <ReturnClause> |
1897 | - <SequentialIterator> |
1898 | - <ApplyIterator> |
1899 | - <FnConcatIterator/> |
1900 | - </ApplyIterator> |
1901 | - <ForVarIterator varname="w"/> |
1902 | - </SequentialIterator> |
1903 | - </ReturnClause> |
1904 | - </FLWORIterator> |
1905 | -</SequentialIterator> |
1906 | - |
1907 | -Iterator tree for fetch:content: |
1908 | -<FunctionTraceIterator> |
1909 | - <FetchContentIterator> |
1910 | - <LetVarIterator varname="uri"/> |
1911 | - <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1912 | - <SingletonIterator value="xs:string(UTF-8)"/> |
1913 | - </FetchContentIterator> |
1914 | -</FunctionTraceIterator> |
1915 | - |
1916 | + </SequentialIterator> |
1917 | + </ReturnClause> |
1918 | + </FLWORIterator> |
1919 | + </SequentialIterator> |
1920 | +</iterator-tree> |
1921 | +<iterator-tree description="fetch:content"> |
1922 | + <FunctionTraceIterator> |
1923 | + <FetchContentIterator> |
1924 | + <LetVarIterator varname="uri"/> |
1925 | + <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1926 | + <SingletonIterator value="xs:string(UTF-8)"/> |
1927 | + </FetchContentIterator> |
1928 | + </FunctionTraceIterator> |
1929 | +</iterator-tree> |
1930 | |
1931 | === modified file 'test/iterplans/zorba/flwor/flwor28.iter' |
1932 | --- test/iterplans/zorba/flwor/flwor28.iter 2014-02-19 01:28:17 +0000 |
1933 | +++ test/iterplans/zorba/flwor/flwor28.iter 2014-02-24 20:09:23 +0000 |
1934 | @@ -1,57 +1,57 @@ |
1935 | -Iterator tree for const-folded expr: |
1936 | -<FunctionTraceIterator> |
1937 | - <FnConcatIterator/> |
1938 | -</FunctionTraceIterator> |
1939 | - |
1940 | -Iterator tree for main query: |
1941 | -<SequentialIterator> |
1942 | - <CtxVarDeclareIterator varid="4" varname="coll"> |
1943 | - <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> |
1944 | - </CtxVarDeclareIterator> |
1945 | +<iterator-tree description="const-folded expr"> |
1946 | + <FunctionTraceIterator> |
1947 | + <FnConcatIterator/> |
1948 | + </FunctionTraceIterator> |
1949 | +</iterator-tree> |
1950 | +<iterator-tree description="main query"> |
1951 | <SequentialIterator> |
1952 | - <ApplyIterator> |
1953 | - <ZorbaCreateCollectionIterator> |
1954 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1955 | - </ZorbaCreateCollectionIterator> |
1956 | - </ApplyIterator> |
1957 | - <ApplyIterator> |
1958 | - <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1959 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1960 | - <FnConcatIterator> |
1961 | - <ElementIterator> |
1962 | - <SingletonIterator value="xs:QName(,,a)"/> |
1963 | - </ElementIterator> |
1964 | - <ElementIterator> |
1965 | - <SingletonIterator value="xs:QName(,,c)"/> |
1966 | - </ElementIterator> |
1967 | - <ElementIterator> |
1968 | - <SingletonIterator value="xs:QName(,,b)"/> |
1969 | - </ElementIterator> |
1970 | - </FnConcatIterator> |
1971 | - </ZorbaInsertLastIterator> |
1972 | - </ApplyIterator> |
1973 | - <FLWORIterator> |
1974 | - <ForVariable name="w"> |
1975 | - <ZorbaCollectionIterator> |
1976 | - <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1977 | - </ZorbaCollectionIterator> |
1978 | - </ForVariable> |
1979 | - <OrderBySpec> |
1980 | - <FnLocalNameIterator> |
1981 | - <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1982 | + <CtxVarDeclareIterator varid="4" varname="coll"> |
1983 | + <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> |
1984 | + </CtxVarDeclareIterator> |
1985 | + <SequentialIterator> |
1986 | + <ApplyIterator> |
1987 | + <ZorbaCreateCollectionIterator> |
1988 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1989 | + </ZorbaCreateCollectionIterator> |
1990 | + </ApplyIterator> |
1991 | + <ApplyIterator> |
1992 | + <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1993 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1994 | + <FnConcatIterator> |
1995 | + <ElementIterator> |
1996 | + <SingletonIterator value="xs:QName(,,a)"/> |
1997 | + </ElementIterator> |
1998 | + <ElementIterator> |
1999 | + <SingletonIterator value="xs:QName(,,c)"/> |
2000 | + </ElementIterator> |
2001 | + <ElementIterator> |
2002 | + <SingletonIterator value="xs:QName(,,b)"/> |
2003 | + </ElementIterator> |
2004 | + </FnConcatIterator> |
2005 | + </ZorbaInsertLastIterator> |
2006 | + </ApplyIterator> |
2007 | + <FLWORIterator> |
2008 | + <ForVariable name="w"> |
2009 | + <ZorbaCollectionIterator> |
2010 | + <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
2011 | + </ZorbaCollectionIterator> |
2012 | + </ForVariable> |
2013 | + <OrderBySpec> |
2014 | + <FnLocalNameIterator> |
2015 | + <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
2016 | + <ForVarIterator varname="w"/> |
2017 | + </TreatIterator> |
2018 | + </FnLocalNameIterator> |
2019 | + </OrderBySpec> |
2020 | + <ReturnClause> |
2021 | + <SequentialIterator> |
2022 | + <ApplyIterator> |
2023 | + <FnConcatIterator/> |
2024 | + </ApplyIterator> |
2025 | <ForVarIterator varname="w"/> |
2026 | - </TreatIterator> |
2027 | - </FnLocalNameIterator> |
2028 | - </OrderBySpec> |
2029 | - <ReturnClause> |
2030 | - <SequentialIterator> |
2031 | - <ApplyIterator> |
2032 | - <FnConcatIterator/> |
2033 | - </ApplyIterator> |
2034 | - <ForVarIterator varname="w"/> |
2035 | - </SequentialIterator> |
2036 | - </ReturnClause> |
2037 | - </FLWORIterator> |
2038 | + </SequentialIterator> |
2039 | + </ReturnClause> |
2040 | + </FLWORIterator> |
2041 | + </SequentialIterator> |
2042 | </SequentialIterator> |
2043 | -</SequentialIterator> |
2044 | - |
2045 | +</iterator-tree> |
2046 | |
2047 | === modified file 'test/iterplans/zorba/flwor/flwor_op00.iter' |
2048 | --- test/iterplans/zorba/flwor/flwor_op00.iter 2014-02-19 01:28:17 +0000 |
2049 | +++ test/iterplans/zorba/flwor/flwor_op00.iter 2014-02-24 20:09:23 +0000 |
2050 | @@ -1,27 +1,27 @@ |
2051 | -Iterator tree for main query: |
2052 | -<FLWORIterator> |
2053 | - <ForVariable name="x"> |
2054 | - <FnConcatIterator> |
2055 | - <SingletonIterator value="xs:integer(1)"/> |
2056 | - <SingletonIterator value="xs:integer(2)"/> |
2057 | - <SingletonIterator value="xs:integer(3)"/> |
2058 | - <SingletonIterator value="xs:integer(4)"/> |
2059 | - <SingletonIterator value="xs:integer(5)"/> |
2060 | - <SingletonIterator value="xs:integer(6)"/> |
2061 | - <SingletonIterator value="xs:integer(7)"/> |
2062 | - <SingletonIterator value="xs:integer(8)"/> |
2063 | - <SingletonIterator value="xs:integer(9)"/> |
2064 | - <SingletonIterator value="xs:integer(10)"/> |
2065 | - </FnConcatIterator> |
2066 | - </ForVariable> |
2067 | - <WhereClause> |
2068 | - <TypedValueCompareIterator_INTEGER> |
2069 | +<iterator-tree description="main query"> |
2070 | + <FLWORIterator> |
2071 | + <ForVariable name="x"> |
2072 | + <FnConcatIterator> |
2073 | + <SingletonIterator value="xs:integer(1)"/> |
2074 | + <SingletonIterator value="xs:integer(2)"/> |
2075 | + <SingletonIterator value="xs:integer(3)"/> |
2076 | + <SingletonIterator value="xs:integer(4)"/> |
2077 | + <SingletonIterator value="xs:integer(5)"/> |
2078 | + <SingletonIterator value="xs:integer(6)"/> |
2079 | + <SingletonIterator value="xs:integer(7)"/> |
2080 | + <SingletonIterator value="xs:integer(8)"/> |
2081 | + <SingletonIterator value="xs:integer(9)"/> |
2082 | + <SingletonIterator value="xs:integer(10)"/> |
2083 | + </FnConcatIterator> |
2084 | + </ForVariable> |
2085 | + <WhereClause> |
2086 | + <TypedValueCompareIterator_INTEGER> |
2087 | + <ForVarIterator varname="x"/> |
2088 | + <SingletonIterator value="xs:integer(2)"/> |
2089 | + </TypedValueCompareIterator_INTEGER> |
2090 | + </WhereClause> |
2091 | + <ReturnClause> |
2092 | <ForVarIterator varname="x"/> |
2093 | - <SingletonIterator value="xs:integer(2)"/> |
2094 | - </TypedValueCompareIterator_INTEGER> |
2095 | - </WhereClause> |
2096 | - <ReturnClause> |
2097 | - <ForVarIterator varname="x"/> |
2098 | - </ReturnClause> |
2099 | -</FLWORIterator> |
2100 | - |
2101 | + </ReturnClause> |
2102 | + </FLWORIterator> |
2103 | +</iterator-tree> |
2104 | |
2105 | === modified file 'test/iterplans/zorba/flwor/flwor_op01.iter' |
2106 | --- test/iterplans/zorba/flwor/flwor_op01.iter 2014-02-19 01:28:17 +0000 |
2107 | +++ test/iterplans/zorba/flwor/flwor_op01.iter 2014-02-24 20:09:23 +0000 |
2108 | @@ -1,33 +1,33 @@ |
2109 | -Iterator tree for main query: |
2110 | -<FLWORIterator> |
2111 | - <ForVariable name="x"> |
2112 | - <FnConcatIterator> |
2113 | - <SingletonIterator value="xs:integer(1)"/> |
2114 | - <SingletonIterator value="xs:integer(2)"/> |
2115 | - <SingletonIterator value="xs:integer(3)"/> |
2116 | - <SingletonIterator value="xs:integer(4)"/> |
2117 | - <SingletonIterator value="xs:integer(5)"/> |
2118 | - <SingletonIterator value="xs:integer(6)"/> |
2119 | - <SingletonIterator value="xs:integer(7)"/> |
2120 | - <SingletonIterator value="xs:integer(8)"/> |
2121 | - <SingletonIterator value="xs:integer(9)"/> |
2122 | - <SingletonIterator value="xs:integer(10)"/> |
2123 | - </FnConcatIterator> |
2124 | - </ForVariable> |
2125 | - <WhereClause> |
2126 | - <AndIterator> |
2127 | - <TypedValueCompareIterator_INTEGER> |
2128 | - <ForVarIterator varname="x"/> |
2129 | +<iterator-tree description="main query"> |
2130 | + <FLWORIterator> |
2131 | + <ForVariable name="x"> |
2132 | + <FnConcatIterator> |
2133 | + <SingletonIterator value="xs:integer(1)"/> |
2134 | + <SingletonIterator value="xs:integer(2)"/> |
2135 | + <SingletonIterator value="xs:integer(3)"/> |
2136 | + <SingletonIterator value="xs:integer(4)"/> |
2137 | + <SingletonIterator value="xs:integer(5)"/> |
2138 | + <SingletonIterator value="xs:integer(6)"/> |
2139 | + <SingletonIterator value="xs:integer(7)"/> |
2140 | <SingletonIterator value="xs:integer(8)"/> |
2141 | - </TypedValueCompareIterator_INTEGER> |
2142 | - <TypedValueCompareIterator_INTEGER> |
2143 | - <ForVarIterator varname="x"/> |
2144 | - <SingletonIterator value="xs:integer(2)"/> |
2145 | - </TypedValueCompareIterator_INTEGER> |
2146 | - </AndIterator> |
2147 | - </WhereClause> |
2148 | - <ReturnClause> |
2149 | - <ForVarIterator varname="x"/> |
2150 | - </ReturnClause> |
2151 | -</FLWORIterator> |
2152 | - |
2153 | + <SingletonIterator value="xs:integer(9)"/> |
2154 | + <SingletonIterator value="xs:integer(10)"/> |
2155 | + </FnConcatIterator> |
2156 | + </ForVariable> |
2157 | + <WhereClause> |
2158 | + <AndIterator> |
2159 | + <TypedValueCompareIterator_INTEGER> |
2160 | + <ForVarIterator varname="x"/> |
2161 | + <SingletonIterator value="xs:integer(8)"/> |
2162 | + </TypedValueCompareIterator_INTEGER> |
2163 | + <TypedValueCompareIterator_INTEGER> |
2164 | + <ForVarIterator varname="x"/> |
2165 | + <SingletonIterator value="xs:integer(2)"/> |
2166 | + </TypedValueCompareIterator_INTEGER> |
2167 | + </AndIterator> |
2168 | + </WhereClause> |
2169 | + <ReturnClause> |
2170 | + <ForVarIterator varname="x"/> |
2171 | + </ReturnClause> |
2172 | + </FLWORIterator> |
2173 | +</iterator-tree> |
2174 | |
2175 | === modified file 'test/iterplans/zorba/flwor/flwor_op02.iter' |
2176 | --- test/iterplans/zorba/flwor/flwor_op02.iter 2014-02-19 01:28:17 +0000 |
2177 | +++ test/iterplans/zorba/flwor/flwor_op02.iter 2014-02-24 20:09:23 +0000 |
2178 | @@ -1,40 +1,40 @@ |
2179 | -Iterator tree for main query: |
2180 | -<FLWORIterator> |
2181 | - <ForVariable name="x"> |
2182 | - <FnConcatIterator> |
2183 | - <SingletonIterator value="xs:integer(1)"/> |
2184 | - <SingletonIterator value="xs:integer(2)"/> |
2185 | - <SingletonIterator value="xs:integer(3)"/> |
2186 | - <SingletonIterator value="xs:integer(4)"/> |
2187 | - <SingletonIterator value="xs:integer(5)"/> |
2188 | - <SingletonIterator value="xs:integer(6)"/> |
2189 | - <SingletonIterator value="xs:integer(7)"/> |
2190 | - <SingletonIterator value="xs:integer(8)"/> |
2191 | - <SingletonIterator value="xs:integer(9)"/> |
2192 | - <SingletonIterator value="xs:integer(10)"/> |
2193 | - </FnConcatIterator> |
2194 | - </ForVariable> |
2195 | - <WhereClause> |
2196 | - <AndIterator> |
2197 | - <TypedValueCompareIterator_INTEGER> |
2198 | - <ForVarIterator varname="x"/> |
2199 | +<iterator-tree description="main query"> |
2200 | + <FLWORIterator> |
2201 | + <ForVariable name="x"> |
2202 | + <FnConcatIterator> |
2203 | + <SingletonIterator value="xs:integer(1)"/> |
2204 | + <SingletonIterator value="xs:integer(2)"/> |
2205 | + <SingletonIterator value="xs:integer(3)"/> |
2206 | + <SingletonIterator value="xs:integer(4)"/> |
2207 | + <SingletonIterator value="xs:integer(5)"/> |
2208 | + <SingletonIterator value="xs:integer(6)"/> |
2209 | + <SingletonIterator value="xs:integer(7)"/> |
2210 | <SingletonIterator value="xs:integer(8)"/> |
2211 | - </TypedValueCompareIterator_INTEGER> |
2212 | - <TypedValueCompareIterator_INTEGER> |
2213 | - <ForVarIterator varname="x"/> |
2214 | - <SingletonIterator value="xs:integer(2)"/> |
2215 | - </TypedValueCompareIterator_INTEGER> |
2216 | - <TypedValueCompareIterator_INTEGER> |
2217 | - <NumArithIterator_ModOperation> |
2218 | + <SingletonIterator value="xs:integer(9)"/> |
2219 | + <SingletonIterator value="xs:integer(10)"/> |
2220 | + </FnConcatIterator> |
2221 | + </ForVariable> |
2222 | + <WhereClause> |
2223 | + <AndIterator> |
2224 | + <TypedValueCompareIterator_INTEGER> |
2225 | + <ForVarIterator varname="x"/> |
2226 | + <SingletonIterator value="xs:integer(8)"/> |
2227 | + </TypedValueCompareIterator_INTEGER> |
2228 | + <TypedValueCompareIterator_INTEGER> |
2229 | <ForVarIterator varname="x"/> |
2230 | <SingletonIterator value="xs:integer(2)"/> |
2231 | - </NumArithIterator_ModOperation> |
2232 | - <SingletonIterator value="xs:integer(0)"/> |
2233 | - </TypedValueCompareIterator_INTEGER> |
2234 | - </AndIterator> |
2235 | - </WhereClause> |
2236 | - <ReturnClause> |
2237 | - <ForVarIterator varname="x"/> |
2238 | - </ReturnClause> |
2239 | -</FLWORIterator> |
2240 | - |
2241 | + </TypedValueCompareIterator_INTEGER> |
2242 | + <TypedValueCompareIterator_INTEGER> |
2243 | + <NumArithIterator_ModOperation> |
2244 | + <ForVarIterator varname="x"/> |
2245 | + <SingletonIterator value="xs:integer(2)"/> |
2246 | + </NumArithIterator_ModOperation> |
2247 | + <SingletonIterator value="xs:integer(0)"/> |
2248 | + </TypedValueCompareIterator_INTEGER> |
2249 | + </AndIterator> |
2250 | + </WhereClause> |
2251 | + <ReturnClause> |
2252 | + <ForVarIterator varname="x"/> |
2253 | + </ReturnClause> |
2254 | + </FLWORIterator> |
2255 | +</iterator-tree> |
2256 | |
2257 | === modified file 'test/iterplans/zorba/hashjoins/9065.iter' |
2258 | --- test/iterplans/zorba/hashjoins/9065.iter 2014-02-19 01:28:17 +0000 |
2259 | +++ test/iterplans/zorba/hashjoins/9065.iter 2014-02-24 20:09:23 +0000 |
2260 | @@ -1,62 +1,62 @@ |
2261 | -Iterator tree for main query: |
2262 | -<FLWORIterator> |
2263 | - <ForVariable name="b"> |
2264 | - <FnDocIterator> |
2265 | - <SingletonIterator value="xs:string(books.xml)"/> |
2266 | - </FnDocIterator> |
2267 | - </ForVariable> |
2268 | - <LetVariable name="$$opt_temp_1" materialize="true"> |
2269 | - <HoistIterator> |
2270 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> |
2271 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2272 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2273 | - <ForVarIterator varname="b"/> |
2274 | - </ChildAxisIterator> |
2275 | - </ChildAxisIterator> |
2276 | - </ChildAxisIterator> |
2277 | - </HoistIterator> |
2278 | - </LetVariable> |
2279 | - <ForVariable name="$$opt_temp_0"> |
2280 | - <HoistIterator> |
2281 | - <FnCountIterator> |
2282 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2283 | +<iterator-tree description="main query"> |
2284 | + <FLWORIterator> |
2285 | + <ForVariable name="b"> |
2286 | + <FnDocIterator> |
2287 | + <SingletonIterator value="xs:string(books.xml)"/> |
2288 | + </FnDocIterator> |
2289 | + </ForVariable> |
2290 | + <LetVariable name="$$opt_temp_1" materialize="true"> |
2291 | + <HoistIterator> |
2292 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> |
2293 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2294 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2295 | <ForVarIterator varname="b"/> |
2296 | </ChildAxisIterator> |
2297 | </ChildAxisIterator> |
2298 | </ChildAxisIterator> |
2299 | - </FnCountIterator> |
2300 | - </HoistIterator> |
2301 | - </ForVariable> |
2302 | - <ForVariable name="er"> |
2303 | - <OpToIterator> |
2304 | - <SingletonIterator value="xs:integer(1)"/> |
2305 | - <SingletonIterator value="xs:integer(3)"/> |
2306 | - </OpToIterator> |
2307 | - </ForVariable> |
2308 | - <WhereClause> |
2309 | - <TypedValueCompareIterator_INTEGER> |
2310 | - <UnhoistIterator> |
2311 | - <ForVarIterator varname="$$opt_temp_0"/> |
2312 | - </UnhoistIterator> |
2313 | - <ForVarIterator varname="er"/> |
2314 | - </TypedValueCompareIterator_INTEGER> |
2315 | - </WhereClause> |
2316 | - <ReturnClause> |
2317 | - <ElementIterator> |
2318 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
2319 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
2320 | - <EnclosedIterator attr_cont="true"> |
2321 | - <ForVarIterator varname="er"/> |
2322 | - </EnclosedIterator> |
2323 | - </AttributeIterator> |
2324 | - <EnclosedIterator attr_cont="false"> |
2325 | + </HoistIterator> |
2326 | + </LetVariable> |
2327 | + <ForVariable name="$$opt_temp_0"> |
2328 | + <HoistIterator> |
2329 | + <FnCountIterator> |
2330 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2331 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2332 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2333 | + <ForVarIterator varname="b"/> |
2334 | + </ChildAxisIterator> |
2335 | + </ChildAxisIterator> |
2336 | + </ChildAxisIterator> |
2337 | + </FnCountIterator> |
2338 | + </HoistIterator> |
2339 | + </ForVariable> |
2340 | + <ForVariable name="er"> |
2341 | + <OpToIterator> |
2342 | + <SingletonIterator value="xs:integer(1)"/> |
2343 | + <SingletonIterator value="xs:integer(3)"/> |
2344 | + </OpToIterator> |
2345 | + </ForVariable> |
2346 | + <WhereClause> |
2347 | + <TypedValueCompareIterator_INTEGER> |
2348 | <UnhoistIterator> |
2349 | - <LetVarIterator varname="$$opt_temp_1"/> |
2350 | + <ForVarIterator varname="$$opt_temp_0"/> |
2351 | </UnhoistIterator> |
2352 | - </EnclosedIterator> |
2353 | - </ElementIterator> |
2354 | - </ReturnClause> |
2355 | -</FLWORIterator> |
2356 | - |
2357 | + <ForVarIterator varname="er"/> |
2358 | + </TypedValueCompareIterator_INTEGER> |
2359 | + </WhereClause> |
2360 | + <ReturnClause> |
2361 | + <ElementIterator> |
2362 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
2363 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
2364 | + <EnclosedIterator attr_cont="true"> |
2365 | + <ForVarIterator varname="er"/> |
2366 | + </EnclosedIterator> |
2367 | + </AttributeIterator> |
2368 | + <EnclosedIterator attr_cont="false"> |
2369 | + <UnhoistIterator> |
2370 | + <LetVarIterator varname="$$opt_temp_1"/> |
2371 | + </UnhoistIterator> |
2372 | + </EnclosedIterator> |
2373 | + </ElementIterator> |
2374 | + </ReturnClause> |
2375 | + </FLWORIterator> |
2376 | +</iterator-tree> |
2377 | |
2378 | === modified file 'test/iterplans/zorba/hashjoins/9066.iter' |
2379 | --- test/iterplans/zorba/hashjoins/9066.iter 2014-02-19 01:28:17 +0000 |
2380 | +++ test/iterplans/zorba/hashjoins/9066.iter 2014-02-24 20:09:23 +0000 |
2381 | @@ -1,46 +1,46 @@ |
2382 | -Iterator tree for main query: |
2383 | -<FLWORIterator> |
2384 | - <ForVariable name="b"> |
2385 | - <FnDocIterator> |
2386 | - <SingletonIterator value="xs:string(books.xml)"/> |
2387 | - </FnDocIterator> |
2388 | - </ForVariable> |
2389 | - <ForVariable name="$$opt_temp_0"> |
2390 | - <HoistIterator> |
2391 | - <FnCountIterator> |
2392 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2393 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2394 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2395 | - <ForVarIterator varname="b"/> |
2396 | +<iterator-tree description="main query"> |
2397 | + <FLWORIterator> |
2398 | + <ForVariable name="b"> |
2399 | + <FnDocIterator> |
2400 | + <SingletonIterator value="xs:string(books.xml)"/> |
2401 | + </FnDocIterator> |
2402 | + </ForVariable> |
2403 | + <ForVariable name="$$opt_temp_0"> |
2404 | + <HoistIterator> |
2405 | + <FnCountIterator> |
2406 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2407 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2408 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2409 | + <ForVarIterator varname="b"/> |
2410 | + </ChildAxisIterator> |
2411 | </ChildAxisIterator> |
2412 | </ChildAxisIterator> |
2413 | - </ChildAxisIterator> |
2414 | - </FnCountIterator> |
2415 | - </HoistIterator> |
2416 | - </ForVariable> |
2417 | - <ForVariable name="er"> |
2418 | - <OpToIterator> |
2419 | - <SingletonIterator value="xs:integer(1)"/> |
2420 | - <SingletonIterator value="xs:integer(3)"/> |
2421 | - </OpToIterator> |
2422 | - </ForVariable> |
2423 | - <WhereClause> |
2424 | - <TypedValueCompareIterator_INTEGER> |
2425 | - <UnhoistIterator> |
2426 | - <ForVarIterator varname="$$opt_temp_0"/> |
2427 | - </UnhoistIterator> |
2428 | - <ForVarIterator varname="er"/> |
2429 | - </TypedValueCompareIterator_INTEGER> |
2430 | - </WhereClause> |
2431 | - <ReturnClause> |
2432 | - <ElementIterator> |
2433 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
2434 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
2435 | - <EnclosedIterator attr_cont="true"> |
2436 | - <ForVarIterator varname="er"/> |
2437 | - </EnclosedIterator> |
2438 | - </AttributeIterator> |
2439 | - </ElementIterator> |
2440 | - </ReturnClause> |
2441 | -</FLWORIterator> |
2442 | - |
2443 | + </FnCountIterator> |
2444 | + </HoistIterator> |
2445 | + </ForVariable> |
2446 | + <ForVariable name="er"> |
2447 | + <OpToIterator> |
2448 | + <SingletonIterator value="xs:integer(1)"/> |
2449 | + <SingletonIterator value="xs:integer(3)"/> |
2450 | + </OpToIterator> |
2451 | + </ForVariable> |
2452 | + <WhereClause> |
2453 | + <TypedValueCompareIterator_INTEGER> |
2454 | + <UnhoistIterator> |
2455 | + <ForVarIterator varname="$$opt_temp_0"/> |
2456 | + </UnhoistIterator> |
2457 | + <ForVarIterator varname="er"/> |
2458 | + </TypedValueCompareIterator_INTEGER> |
2459 | + </WhereClause> |
2460 | + <ReturnClause> |
2461 | + <ElementIterator> |
2462 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
2463 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
2464 | + <EnclosedIterator attr_cont="true"> |
2465 | + <ForVarIterator varname="er"/> |
2466 | + </EnclosedIterator> |
2467 | + </AttributeIterator> |
2468 | + </ElementIterator> |
2469 | + </ReturnClause> |
2470 | + </FLWORIterator> |
2471 | +</iterator-tree> |
2472 | |
2473 | === modified file 'test/iterplans/zorba/hashjoins/9067.iter' |
2474 | --- test/iterplans/zorba/hashjoins/9067.iter 2014-02-19 01:28:17 +0000 |
2475 | +++ test/iterplans/zorba/hashjoins/9067.iter 2014-02-24 20:09:23 +0000 |
2476 | @@ -1,63 +1,63 @@ |
2477 | -Iterator tree for main query: |
2478 | -<FLWORIterator> |
2479 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
2480 | - <HoistIterator> |
2481 | - <OpToIterator> |
2482 | - <SingletonIterator value="xs:integer(1)"/> |
2483 | - <SingletonIterator value="xs:integer(3)"/> |
2484 | - </OpToIterator> |
2485 | - </HoistIterator> |
2486 | - </LetVariable> |
2487 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
2488 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2489 | - <FLWORIterator> |
2490 | - <ForVariable name="$$opt_temp_2"> |
2491 | - <UnhoistIterator> |
2492 | - <LetVarIterator varname="$$opt_temp_0"/> |
2493 | - </UnhoistIterator> |
2494 | - </ForVariable> |
2495 | - <ReturnClause> |
2496 | - <ValueIndexEntryBuilderIterator> |
2497 | - <ForVarIterator varname="$$opt_temp_2"/> |
2498 | - <ForVarIterator varname="$$opt_temp_2"/> |
2499 | - </ValueIndexEntryBuilderIterator> |
2500 | - </ReturnClause> |
2501 | - </FLWORIterator> |
2502 | - </CreateInternalIndexIterator> |
2503 | - </LetVariable> |
2504 | - <ForVariable name="b"> |
2505 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2506 | - <FnDocIterator> |
2507 | - <SingletonIterator value="xs:string(books.xml)"/> |
2508 | - </FnDocIterator> |
2509 | - </DescendantAxisIterator> |
2510 | - </ForVariable> |
2511 | - <ForVariable name="$$opt_temp_1"> |
2512 | - <HoistIterator> |
2513 | - <FnCountIterator> |
2514 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2515 | - <ForVarIterator varname="b"/> |
2516 | - </ChildAxisIterator> |
2517 | - </FnCountIterator> |
2518 | - </HoistIterator> |
2519 | - </ForVariable> |
2520 | - <ForVariable name="er"> |
2521 | - <ProbeIndexPointValueIterator> |
2522 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2523 | - <UnhoistIterator> |
2524 | - <ForVarIterator varname="$$opt_temp_1"/> |
2525 | - </UnhoistIterator> |
2526 | - </ProbeIndexPointValueIterator> |
2527 | - </ForVariable> |
2528 | - <ReturnClause> |
2529 | - <ElementIterator> |
2530 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
2531 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
2532 | - <EnclosedIterator attr_cont="true"> |
2533 | - <ForVarIterator varname="er"/> |
2534 | - </EnclosedIterator> |
2535 | - </AttributeIterator> |
2536 | - </ElementIterator> |
2537 | - </ReturnClause> |
2538 | -</FLWORIterator> |
2539 | - |
2540 | +<iterator-tree description="main query"> |
2541 | + <FLWORIterator> |
2542 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
2543 | + <HoistIterator> |
2544 | + <OpToIterator> |
2545 | + <SingletonIterator value="xs:integer(1)"/> |
2546 | + <SingletonIterator value="xs:integer(3)"/> |
2547 | + </OpToIterator> |
2548 | + </HoistIterator> |
2549 | + </LetVariable> |
2550 | + <LetVariable name="$$opt_temp_4" materialize="true"> |
2551 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2552 | + <FLWORIterator> |
2553 | + <ForVariable name="$$opt_temp_2"> |
2554 | + <UnhoistIterator> |
2555 | + <LetVarIterator varname="$$opt_temp_0"/> |
2556 | + </UnhoistIterator> |
2557 | + </ForVariable> |
2558 | + <ReturnClause> |
2559 | + <ValueIndexEntryBuilderIterator> |
2560 | + <ForVarIterator varname="$$opt_temp_2"/> |
2561 | + <ForVarIterator varname="$$opt_temp_2"/> |
2562 | + </ValueIndexEntryBuilderIterator> |
2563 | + </ReturnClause> |
2564 | + </FLWORIterator> |
2565 | + </CreateInternalIndexIterator> |
2566 | + </LetVariable> |
2567 | + <ForVariable name="b"> |
2568 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2569 | + <FnDocIterator> |
2570 | + <SingletonIterator value="xs:string(books.xml)"/> |
2571 | + </FnDocIterator> |
2572 | + </DescendantAxisIterator> |
2573 | + </ForVariable> |
2574 | + <ForVariable name="$$opt_temp_1"> |
2575 | + <HoistIterator> |
2576 | + <FnCountIterator> |
2577 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2578 | + <ForVarIterator varname="b"/> |
2579 | + </ChildAxisIterator> |
2580 | + </FnCountIterator> |
2581 | + </HoistIterator> |
2582 | + </ForVariable> |
2583 | + <ForVariable name="er"> |
2584 | + <ProbeIndexPointValueIterator> |
2585 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2586 | + <UnhoistIterator> |
2587 | + <ForVarIterator varname="$$opt_temp_1"/> |
2588 | + </UnhoistIterator> |
2589 | + </ProbeIndexPointValueIterator> |
2590 | + </ForVariable> |
2591 | + <ReturnClause> |
2592 | + <ElementIterator> |
2593 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
2594 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
2595 | + <EnclosedIterator attr_cont="true"> |
2596 | + <ForVarIterator varname="er"/> |
2597 | + </EnclosedIterator> |
2598 | + </AttributeIterator> |
2599 | + </ElementIterator> |
2600 | + </ReturnClause> |
2601 | + </FLWORIterator> |
2602 | +</iterator-tree> |
2603 | |
2604 | === modified file 'test/iterplans/zorba/hashjoins/9068.iter' |
2605 | --- test/iterplans/zorba/hashjoins/9068.iter 2014-02-19 01:28:17 +0000 |
2606 | +++ test/iterplans/zorba/hashjoins/9068.iter 2014-02-24 20:09:23 +0000 |
2607 | @@ -1,75 +1,75 @@ |
2608 | -Iterator tree for main query: |
2609 | -<FLWORIterator> |
2610 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
2611 | - <HoistIterator> |
2612 | - <OpToIterator> |
2613 | - <SingletonIterator value="xs:integer(1)"/> |
2614 | - <SingletonIterator value="xs:integer(3)"/> |
2615 | - </OpToIterator> |
2616 | - </HoistIterator> |
2617 | - </LetVariable> |
2618 | - <LetVariable name="$$opt_temp_5" materialize="true"> |
2619 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2620 | - <FLWORIterator> |
2621 | - <ForVariable name="$$opt_temp_3"> |
2622 | - <UnhoistIterator> |
2623 | - <LetVarIterator varname="$$opt_temp_0"/> |
2624 | - </UnhoistIterator> |
2625 | - </ForVariable> |
2626 | - <ReturnClause> |
2627 | - <ValueIndexEntryBuilderIterator> |
2628 | - <ForVarIterator varname="$$opt_temp_3"/> |
2629 | - <ForVarIterator varname="$$opt_temp_3"/> |
2630 | - </ValueIndexEntryBuilderIterator> |
2631 | - </ReturnClause> |
2632 | - </FLWORIterator> |
2633 | - </CreateInternalIndexIterator> |
2634 | - </LetVariable> |
2635 | - <ForVariable name="b"> |
2636 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2637 | - <FnDocIterator> |
2638 | - <SingletonIterator value="xs:string(books.xml)"/> |
2639 | - </FnDocIterator> |
2640 | - </DescendantAxisIterator> |
2641 | - </ForVariable> |
2642 | - <LetVariable name="$$opt_temp_2" materialize="true"> |
2643 | - <HoistIterator> |
2644 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> |
2645 | - <ForVarIterator varname="b"/> |
2646 | - </ChildAxisIterator> |
2647 | - </HoistIterator> |
2648 | - </LetVariable> |
2649 | - <ForVariable name="$$opt_temp_1"> |
2650 | - <HoistIterator> |
2651 | - <FnCountIterator> |
2652 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2653 | +<iterator-tree description="main query"> |
2654 | + <FLWORIterator> |
2655 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
2656 | + <HoistIterator> |
2657 | + <OpToIterator> |
2658 | + <SingletonIterator value="xs:integer(1)"/> |
2659 | + <SingletonIterator value="xs:integer(3)"/> |
2660 | + </OpToIterator> |
2661 | + </HoistIterator> |
2662 | + </LetVariable> |
2663 | + <LetVariable name="$$opt_temp_5" materialize="true"> |
2664 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2665 | + <FLWORIterator> |
2666 | + <ForVariable name="$$opt_temp_3"> |
2667 | + <UnhoistIterator> |
2668 | + <LetVarIterator varname="$$opt_temp_0"/> |
2669 | + </UnhoistIterator> |
2670 | + </ForVariable> |
2671 | + <ReturnClause> |
2672 | + <ValueIndexEntryBuilderIterator> |
2673 | + <ForVarIterator varname="$$opt_temp_3"/> |
2674 | + <ForVarIterator varname="$$opt_temp_3"/> |
2675 | + </ValueIndexEntryBuilderIterator> |
2676 | + </ReturnClause> |
2677 | + </FLWORIterator> |
2678 | + </CreateInternalIndexIterator> |
2679 | + </LetVariable> |
2680 | + <ForVariable name="b"> |
2681 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2682 | + <FnDocIterator> |
2683 | + <SingletonIterator value="xs:string(books.xml)"/> |
2684 | + </FnDocIterator> |
2685 | + </DescendantAxisIterator> |
2686 | + </ForVariable> |
2687 | + <LetVariable name="$$opt_temp_2" materialize="true"> |
2688 | + <HoistIterator> |
2689 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> |
2690 | <ForVarIterator varname="b"/> |
2691 | </ChildAxisIterator> |
2692 | - </FnCountIterator> |
2693 | - </HoistIterator> |
2694 | - </ForVariable> |
2695 | - <ForVariable name="er"> |
2696 | - <ProbeIndexPointValueIterator> |
2697 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2698 | - <UnhoistIterator> |
2699 | - <ForVarIterator varname="$$opt_temp_1"/> |
2700 | - </UnhoistIterator> |
2701 | - </ProbeIndexPointValueIterator> |
2702 | - </ForVariable> |
2703 | - <ReturnClause> |
2704 | - <ElementIterator> |
2705 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
2706 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
2707 | - <EnclosedIterator attr_cont="true"> |
2708 | - <ForVarIterator varname="er"/> |
2709 | - </EnclosedIterator> |
2710 | - </AttributeIterator> |
2711 | - <EnclosedIterator attr_cont="false"> |
2712 | + </HoistIterator> |
2713 | + </LetVariable> |
2714 | + <ForVariable name="$$opt_temp_1"> |
2715 | + <HoistIterator> |
2716 | + <FnCountIterator> |
2717 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2718 | + <ForVarIterator varname="b"/> |
2719 | + </ChildAxisIterator> |
2720 | + </FnCountIterator> |
2721 | + </HoistIterator> |
2722 | + </ForVariable> |
2723 | + <ForVariable name="er"> |
2724 | + <ProbeIndexPointValueIterator> |
2725 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2726 | <UnhoistIterator> |
2727 | - <LetVarIterator varname="$$opt_temp_2"/> |
2728 | + <ForVarIterator varname="$$opt_temp_1"/> |
2729 | </UnhoistIterator> |
2730 | - </EnclosedIterator> |
2731 | - </ElementIterator> |
2732 | - </ReturnClause> |
2733 | -</FLWORIterator> |
2734 | - |
2735 | + </ProbeIndexPointValueIterator> |
2736 | + </ForVariable> |
2737 | + <ReturnClause> |
2738 | + <ElementIterator> |
2739 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
2740 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
2741 | + <EnclosedIterator attr_cont="true"> |
2742 | + <ForVarIterator varname="er"/> |
2743 | + </EnclosedIterator> |
2744 | + </AttributeIterator> |
2745 | + <EnclosedIterator attr_cont="false"> |
2746 | + <UnhoistIterator> |
2747 | + <LetVarIterator varname="$$opt_temp_2"/> |
2748 | + </UnhoistIterator> |
2749 | + </EnclosedIterator> |
2750 | + </ElementIterator> |
2751 | + </ReturnClause> |
2752 | + </FLWORIterator> |
2753 | +</iterator-tree> |
2754 | |
2755 | === modified file 'test/iterplans/zorba/hashjoins/9197.iter' |
2756 | --- test/iterplans/zorba/hashjoins/9197.iter 2014-02-19 01:28:17 +0000 |
2757 | +++ test/iterplans/zorba/hashjoins/9197.iter 2014-02-24 20:09:23 +0000 |
2758 | @@ -1,68 +1,68 @@ |
2759 | -Iterator tree for main query: |
2760 | -<ElementIterator> |
2761 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
2762 | - <EnclosedIterator attr_cont="false"> |
2763 | - <FLWORIterator> |
2764 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
2765 | - <HoistIterator> |
2766 | - <OpToIterator> |
2767 | - <SingletonIterator value="xs:integer(1)"/> |
2768 | - <SingletonIterator value="xs:integer(2)"/> |
2769 | - </OpToIterator> |
2770 | - </HoistIterator> |
2771 | - </LetVariable> |
2772 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
2773 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2774 | - <FLWORIterator> |
2775 | - <ForVariable name="$$opt_temp_2"> |
2776 | - <UnhoistIterator> |
2777 | - <LetVarIterator varname="$$opt_temp_0"/> |
2778 | - </UnhoistIterator> |
2779 | - </ForVariable> |
2780 | - <ReturnClause> |
2781 | - <ValueIndexEntryBuilderIterator> |
2782 | - <ForVarIterator varname="$$opt_temp_2"/> |
2783 | - <ForVarIterator varname="$$opt_temp_2"/> |
2784 | - </ValueIndexEntryBuilderIterator> |
2785 | - </ReturnClause> |
2786 | - </FLWORIterator> |
2787 | - </CreateInternalIndexIterator> |
2788 | - </LetVariable> |
2789 | - <ForVariable name="book"> |
2790 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2791 | - <FnDocIterator> |
2792 | - <SingletonIterator value="xs:string(books.xml)"/> |
2793 | - </FnDocIterator> |
2794 | - </DescendantAxisIterator> |
2795 | - </ForVariable> |
2796 | - <ForVariable name="$$opt_temp_1"> |
2797 | - <HoistIterator> |
2798 | - <FnCountIterator> |
2799 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2800 | - <ForVarIterator varname="book"/> |
2801 | - </ChildAxisIterator> |
2802 | - </FnCountIterator> |
2803 | - </HoistIterator> |
2804 | - </ForVariable> |
2805 | - <ForVariable name="anzahl"> |
2806 | - <ProbeIndexPointValueIterator> |
2807 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2808 | - <UnhoistIterator> |
2809 | - <ForVarIterator varname="$$opt_temp_1"/> |
2810 | - </UnhoistIterator> |
2811 | - </ProbeIndexPointValueIterator> |
2812 | - </ForVariable> |
2813 | - <ReturnClause> |
2814 | - <ElementIterator> |
2815 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
2816 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
2817 | - <EnclosedIterator attr_cont="true"> |
2818 | - <ForVarIterator varname="anzahl"/> |
2819 | - </EnclosedIterator> |
2820 | - </AttributeIterator> |
2821 | - </ElementIterator> |
2822 | - </ReturnClause> |
2823 | - </FLWORIterator> |
2824 | - </EnclosedIterator> |
2825 | -</ElementIterator> |
2826 | - |
2827 | +<iterator-tree description="main query"> |
2828 | + <ElementIterator> |
2829 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
2830 | + <EnclosedIterator attr_cont="false"> |
2831 | + <FLWORIterator> |
2832 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
2833 | + <HoistIterator> |
2834 | + <OpToIterator> |
2835 | + <SingletonIterator value="xs:integer(1)"/> |
2836 | + <SingletonIterator value="xs:integer(2)"/> |
2837 | + </OpToIterator> |
2838 | + </HoistIterator> |
2839 | + </LetVariable> |
2840 | + <LetVariable name="$$opt_temp_4" materialize="true"> |
2841 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2842 | + <FLWORIterator> |
2843 | + <ForVariable name="$$opt_temp_2"> |
2844 | + <UnhoistIterator> |
2845 | + <LetVarIterator varname="$$opt_temp_0"/> |
2846 | + </UnhoistIterator> |
2847 | + </ForVariable> |
2848 | + <ReturnClause> |
2849 | + <ValueIndexEntryBuilderIterator> |
2850 | + <ForVarIterator varname="$$opt_temp_2"/> |
2851 | + <ForVarIterator varname="$$opt_temp_2"/> |
2852 | + </ValueIndexEntryBuilderIterator> |
2853 | + </ReturnClause> |
2854 | + </FLWORIterator> |
2855 | + </CreateInternalIndexIterator> |
2856 | + </LetVariable> |
2857 | + <ForVariable name="book"> |
2858 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2859 | + <FnDocIterator> |
2860 | + <SingletonIterator value="xs:string(books.xml)"/> |
2861 | + </FnDocIterator> |
2862 | + </DescendantAxisIterator> |
2863 | + </ForVariable> |
2864 | + <ForVariable name="$$opt_temp_1"> |
2865 | + <HoistIterator> |
2866 | + <FnCountIterator> |
2867 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2868 | + <ForVarIterator varname="book"/> |
2869 | + </ChildAxisIterator> |
2870 | + </FnCountIterator> |
2871 | + </HoistIterator> |
2872 | + </ForVariable> |
2873 | + <ForVariable name="anzahl"> |
2874 | + <ProbeIndexPointValueIterator> |
2875 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2876 | + <UnhoistIterator> |
2877 | + <ForVarIterator varname="$$opt_temp_1"/> |
2878 | + </UnhoistIterator> |
2879 | + </ProbeIndexPointValueIterator> |
2880 | + </ForVariable> |
2881 | + <ReturnClause> |
2882 | + <ElementIterator> |
2883 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
2884 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
2885 | + <EnclosedIterator attr_cont="true"> |
2886 | + <ForVarIterator varname="anzahl"/> |
2887 | + </EnclosedIterator> |
2888 | + </AttributeIterator> |
2889 | + </ElementIterator> |
2890 | + </ReturnClause> |
2891 | + </FLWORIterator> |
2892 | + </EnclosedIterator> |
2893 | + </ElementIterator> |
2894 | +</iterator-tree> |
2895 | |
2896 | === modified file 'test/iterplans/zorba/hashjoins/9198.iter' |
2897 | --- test/iterplans/zorba/hashjoins/9198.iter 2014-02-19 01:28:17 +0000 |
2898 | +++ test/iterplans/zorba/hashjoins/9198.iter 2014-02-24 20:09:23 +0000 |
2899 | @@ -1,71 +1,71 @@ |
2900 | -Iterator tree for main query: |
2901 | -<ElementIterator> |
2902 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
2903 | - <EnclosedIterator attr_cont="false"> |
2904 | - <FLWORIterator> |
2905 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
2906 | - <HoistIterator> |
2907 | - <OpToIterator> |
2908 | - <SingletonIterator value="xs:integer(1)"/> |
2909 | - <SingletonIterator value="xs:integer(2)"/> |
2910 | - </OpToIterator> |
2911 | - </HoistIterator> |
2912 | - </LetVariable> |
2913 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
2914 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2915 | - <FLWORIterator> |
2916 | - <ForVariable name="$$opt_temp_2"> |
2917 | - <UnhoistIterator> |
2918 | - <LetVarIterator varname="$$opt_temp_0"/> |
2919 | - </UnhoistIterator> |
2920 | - </ForVariable> |
2921 | - <ReturnClause> |
2922 | - <ValueIndexEntryBuilderIterator> |
2923 | - <ForVarIterator varname="$$opt_temp_2"/> |
2924 | - <ForVarIterator varname="$$opt_temp_2"/> |
2925 | - </ValueIndexEntryBuilderIterator> |
2926 | - </ReturnClause> |
2927 | - </FLWORIterator> |
2928 | - </CreateInternalIndexIterator> |
2929 | - </LetVariable> |
2930 | - <ForVariable name="book"> |
2931 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2932 | - <FnDocIterator> |
2933 | - <SingletonIterator value="xs:string(books.xml)"/> |
2934 | - </FnDocIterator> |
2935 | - </DescendantAxisIterator> |
2936 | - </ForVariable> |
2937 | - <ForVariable name="$$opt_temp_1"> |
2938 | - <HoistIterator> |
2939 | - <FnCountIterator> |
2940 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2941 | +<iterator-tree description="main query"> |
2942 | + <ElementIterator> |
2943 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
2944 | + <EnclosedIterator attr_cont="false"> |
2945 | + <FLWORIterator> |
2946 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
2947 | + <HoistIterator> |
2948 | + <OpToIterator> |
2949 | + <SingletonIterator value="xs:integer(1)"/> |
2950 | + <SingletonIterator value="xs:integer(2)"/> |
2951 | + </OpToIterator> |
2952 | + </HoistIterator> |
2953 | + </LetVariable> |
2954 | + <LetVariable name="$$opt_temp_4" materialize="true"> |
2955 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2956 | + <FLWORIterator> |
2957 | + <ForVariable name="$$opt_temp_2"> |
2958 | + <UnhoistIterator> |
2959 | + <LetVarIterator varname="$$opt_temp_0"/> |
2960 | + </UnhoistIterator> |
2961 | + </ForVariable> |
2962 | + <ReturnClause> |
2963 | + <ValueIndexEntryBuilderIterator> |
2964 | + <ForVarIterator varname="$$opt_temp_2"/> |
2965 | + <ForVarIterator varname="$$opt_temp_2"/> |
2966 | + </ValueIndexEntryBuilderIterator> |
2967 | + </ReturnClause> |
2968 | + </FLWORIterator> |
2969 | + </CreateInternalIndexIterator> |
2970 | + </LetVariable> |
2971 | + <ForVariable name="book"> |
2972 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2973 | + <FnDocIterator> |
2974 | + <SingletonIterator value="xs:string(books.xml)"/> |
2975 | + </FnDocIterator> |
2976 | + </DescendantAxisIterator> |
2977 | + </ForVariable> |
2978 | + <ForVariable name="$$opt_temp_1"> |
2979 | + <HoistIterator> |
2980 | + <FnCountIterator> |
2981 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2982 | + <ForVarIterator varname="book"/> |
2983 | + </ChildAxisIterator> |
2984 | + </FnCountIterator> |
2985 | + </HoistIterator> |
2986 | + </ForVariable> |
2987 | + <ForVariable name="anzahl"> |
2988 | + <ProbeIndexPointValueIterator> |
2989 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2990 | + <UnhoistIterator> |
2991 | + <ForVarIterator varname="$$opt_temp_1"/> |
2992 | + </UnhoistIterator> |
2993 | + </ProbeIndexPointValueIterator> |
2994 | + </ForVariable> |
2995 | + <ReturnClause> |
2996 | + <ElementIterator> |
2997 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
2998 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
2999 | + <EnclosedIterator attr_cont="true"> |
3000 | + <ForVarIterator varname="anzahl"/> |
3001 | + </EnclosedIterator> |
3002 | + </AttributeIterator> |
3003 | + <EnclosedIterator attr_cont="false"> |
3004 | <ForVarIterator varname="book"/> |
3005 | - </ChildAxisIterator> |
3006 | - </FnCountIterator> |
3007 | - </HoistIterator> |
3008 | - </ForVariable> |
3009 | - <ForVariable name="anzahl"> |
3010 | - <ProbeIndexPointValueIterator> |
3011 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3012 | - <UnhoistIterator> |
3013 | - <ForVarIterator varname="$$opt_temp_1"/> |
3014 | - </UnhoistIterator> |
3015 | - </ProbeIndexPointValueIterator> |
3016 | - </ForVariable> |
3017 | - <ReturnClause> |
3018 | - <ElementIterator> |
3019 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3020 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3021 | - <EnclosedIterator attr_cont="true"> |
3022 | - <ForVarIterator varname="anzahl"/> |
3023 | </EnclosedIterator> |
3024 | - </AttributeIterator> |
3025 | - <EnclosedIterator attr_cont="false"> |
3026 | - <ForVarIterator varname="book"/> |
3027 | - </EnclosedIterator> |
3028 | - </ElementIterator> |
3029 | - </ReturnClause> |
3030 | - </FLWORIterator> |
3031 | - </EnclosedIterator> |
3032 | -</ElementIterator> |
3033 | - |
3034 | + </ElementIterator> |
3035 | + </ReturnClause> |
3036 | + </FLWORIterator> |
3037 | + </EnclosedIterator> |
3038 | + </ElementIterator> |
3039 | +</iterator-tree> |
3040 | |
3041 | === modified file 'test/iterplans/zorba/hashjoins/9199.iter' |
3042 | --- test/iterplans/zorba/hashjoins/9199.iter 2014-02-19 01:28:17 +0000 |
3043 | +++ test/iterplans/zorba/hashjoins/9199.iter 2014-02-24 20:09:23 +0000 |
3044 | @@ -1,71 +1,71 @@ |
3045 | -Iterator tree for main query: |
3046 | -<ElementIterator> |
3047 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3048 | - <EnclosedIterator attr_cont="false"> |
3049 | - <FLWORIterator> |
3050 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3051 | - <HoistIterator> |
3052 | - <OpToIterator> |
3053 | - <SingletonIterator value="xs:integer(1)"/> |
3054 | - <SingletonIterator value="xs:integer(2)"/> |
3055 | - </OpToIterator> |
3056 | - </HoistIterator> |
3057 | - </LetVariable> |
3058 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
3059 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3060 | - <FLWORIterator> |
3061 | - <ForVariable name="$$opt_temp_2"> |
3062 | - <UnhoistIterator> |
3063 | - <LetVarIterator varname="$$opt_temp_0"/> |
3064 | - </UnhoistIterator> |
3065 | - </ForVariable> |
3066 | - <ReturnClause> |
3067 | - <ValueIndexEntryBuilderIterator> |
3068 | - <ForVarIterator varname="$$opt_temp_2"/> |
3069 | - <ForVarIterator varname="$$opt_temp_2"/> |
3070 | - </ValueIndexEntryBuilderIterator> |
3071 | - </ReturnClause> |
3072 | - </FLWORIterator> |
3073 | - </CreateInternalIndexIterator> |
3074 | - </LetVariable> |
3075 | - <ForVariable name="book"> |
3076 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3077 | - <FnDocIterator> |
3078 | - <SingletonIterator value="xs:string(books.xml)"/> |
3079 | - </FnDocIterator> |
3080 | - </DescendantAxisIterator> |
3081 | - </ForVariable> |
3082 | - <ForVariable name="$$opt_temp_1"> |
3083 | - <HoistIterator> |
3084 | - <FnCountIterator> |
3085 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3086 | +<iterator-tree description="main query"> |
3087 | + <ElementIterator> |
3088 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3089 | + <EnclosedIterator attr_cont="false"> |
3090 | + <FLWORIterator> |
3091 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3092 | + <HoistIterator> |
3093 | + <OpToIterator> |
3094 | + <SingletonIterator value="xs:integer(1)"/> |
3095 | + <SingletonIterator value="xs:integer(2)"/> |
3096 | + </OpToIterator> |
3097 | + </HoistIterator> |
3098 | + </LetVariable> |
3099 | + <LetVariable name="$$opt_temp_4" materialize="true"> |
3100 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3101 | + <FLWORIterator> |
3102 | + <ForVariable name="$$opt_temp_2"> |
3103 | + <UnhoistIterator> |
3104 | + <LetVarIterator varname="$$opt_temp_0"/> |
3105 | + </UnhoistIterator> |
3106 | + </ForVariable> |
3107 | + <ReturnClause> |
3108 | + <ValueIndexEntryBuilderIterator> |
3109 | + <ForVarIterator varname="$$opt_temp_2"/> |
3110 | + <ForVarIterator varname="$$opt_temp_2"/> |
3111 | + </ValueIndexEntryBuilderIterator> |
3112 | + </ReturnClause> |
3113 | + </FLWORIterator> |
3114 | + </CreateInternalIndexIterator> |
3115 | + </LetVariable> |
3116 | + <ForVariable name="book"> |
3117 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3118 | + <FnDocIterator> |
3119 | + <SingletonIterator value="xs:string(books.xml)"/> |
3120 | + </FnDocIterator> |
3121 | + </DescendantAxisIterator> |
3122 | + </ForVariable> |
3123 | + <ForVariable name="$$opt_temp_1"> |
3124 | + <HoistIterator> |
3125 | + <FnCountIterator> |
3126 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3127 | + <ForVarIterator varname="book"/> |
3128 | + </ChildAxisIterator> |
3129 | + </FnCountIterator> |
3130 | + </HoistIterator> |
3131 | + </ForVariable> |
3132 | + <ForVariable name="anzahl"> |
3133 | + <ProbeIndexPointValueIterator> |
3134 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3135 | + <UnhoistIterator> |
3136 | + <ForVarIterator varname="$$opt_temp_1"/> |
3137 | + </UnhoistIterator> |
3138 | + </ProbeIndexPointValueIterator> |
3139 | + </ForVariable> |
3140 | + <ReturnClause> |
3141 | + <ElementIterator> |
3142 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
3143 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
3144 | + <EnclosedIterator attr_cont="true"> |
3145 | + <ForVarIterator varname="anzahl"/> |
3146 | + </EnclosedIterator> |
3147 | + </AttributeIterator> |
3148 | + <EnclosedIterator attr_cont="false"> |
3149 | <ForVarIterator varname="book"/> |
3150 | - </ChildAxisIterator> |
3151 | - </FnCountIterator> |
3152 | - </HoistIterator> |
3153 | - </ForVariable> |
3154 | - <ForVariable name="anzahl"> |
3155 | - <ProbeIndexPointValueIterator> |
3156 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3157 | - <UnhoistIterator> |
3158 | - <ForVarIterator varname="$$opt_temp_1"/> |
3159 | - </UnhoistIterator> |
3160 | - </ProbeIndexPointValueIterator> |
3161 | - </ForVariable> |
3162 | - <ReturnClause> |
3163 | - <ElementIterator> |
3164 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3165 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3166 | - <EnclosedIterator attr_cont="true"> |
3167 | - <ForVarIterator varname="anzahl"/> |
3168 | </EnclosedIterator> |
3169 | - </AttributeIterator> |
3170 | - <EnclosedIterator attr_cont="false"> |
3171 | - <ForVarIterator varname="book"/> |
3172 | - </EnclosedIterator> |
3173 | - </ElementIterator> |
3174 | - </ReturnClause> |
3175 | - </FLWORIterator> |
3176 | - </EnclosedIterator> |
3177 | -</ElementIterator> |
3178 | - |
3179 | + </ElementIterator> |
3180 | + </ReturnClause> |
3181 | + </FLWORIterator> |
3182 | + </EnclosedIterator> |
3183 | + </ElementIterator> |
3184 | +</iterator-tree> |
3185 | |
3186 | === modified file 'test/iterplans/zorba/hashjoins/9204.iter' |
3187 | --- test/iterplans/zorba/hashjoins/9204.iter 2014-02-19 01:28:17 +0000 |
3188 | +++ test/iterplans/zorba/hashjoins/9204.iter 2014-02-24 20:09:23 +0000 |
3189 | @@ -1,75 +1,75 @@ |
3190 | -Iterator tree for main query: |
3191 | -<FLWORIterator> |
3192 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3193 | - <HoistIterator> |
3194 | - <OpToIterator> |
3195 | - <SingletonIterator value="xs:integer(1)"/> |
3196 | - <SingletonIterator value="xs:integer(2)"/> |
3197 | - </OpToIterator> |
3198 | - </HoistIterator> |
3199 | - </LetVariable> |
3200 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
3201 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3202 | - <FLWORIterator> |
3203 | - <ForVariable name="$$opt_temp_2"> |
3204 | - <UnhoistIterator> |
3205 | - <LetVarIterator varname="$$opt_temp_0"/> |
3206 | - </UnhoistIterator> |
3207 | - </ForVariable> |
3208 | - <ReturnClause> |
3209 | - <ValueIndexEntryBuilderIterator> |
3210 | - <ForVarIterator varname="$$opt_temp_2"/> |
3211 | - <ForVarIterator varname="$$opt_temp_2"/> |
3212 | - </ValueIndexEntryBuilderIterator> |
3213 | - </ReturnClause> |
3214 | - </FLWORIterator> |
3215 | - </CreateInternalIndexIterator> |
3216 | - </LetVariable> |
3217 | - <ForVariable name="book"> |
3218 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3219 | - <FnDocIterator> |
3220 | - <SingletonIterator value="xs:string(books.xml)"/> |
3221 | - </FnDocIterator> |
3222 | - </DescendantAxisIterator> |
3223 | - </ForVariable> |
3224 | - <ForVariable name="$$opt_temp_1"> |
3225 | - <HoistIterator> |
3226 | - <FnCountIterator> |
3227 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3228 | - <ForVarIterator varname="book"/> |
3229 | - </ChildAxisIterator> |
3230 | - </FnCountIterator> |
3231 | - </HoistIterator> |
3232 | - </ForVariable> |
3233 | - <ReturnClause> |
3234 | - <ElementIterator> |
3235 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3236 | - <EnclosedIterator attr_cont="false"> |
3237 | +<iterator-tree description="main query"> |
3238 | + <FLWORIterator> |
3239 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3240 | + <HoistIterator> |
3241 | + <OpToIterator> |
3242 | + <SingletonIterator value="xs:integer(1)"/> |
3243 | + <SingletonIterator value="xs:integer(2)"/> |
3244 | + </OpToIterator> |
3245 | + </HoistIterator> |
3246 | + </LetVariable> |
3247 | + <LetVariable name="$$opt_temp_4" materialize="true"> |
3248 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3249 | <FLWORIterator> |
3250 | - <ForVariable name="anzahl"> |
3251 | - <ProbeIndexPointValueIterator> |
3252 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3253 | - <UnhoistIterator> |
3254 | - <ForVarIterator varname="$$opt_temp_1"/> |
3255 | - </UnhoistIterator> |
3256 | - </ProbeIndexPointValueIterator> |
3257 | + <ForVariable name="$$opt_temp_2"> |
3258 | + <UnhoistIterator> |
3259 | + <LetVarIterator varname="$$opt_temp_0"/> |
3260 | + </UnhoistIterator> |
3261 | </ForVariable> |
3262 | <ReturnClause> |
3263 | - <ElementIterator> |
3264 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3265 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3266 | - <EnclosedIterator attr_cont="true"> |
3267 | - <ForVarIterator varname="anzahl"/> |
3268 | - </EnclosedIterator> |
3269 | - </AttributeIterator> |
3270 | - <EnclosedIterator attr_cont="false"> |
3271 | - <ForVarIterator varname="book"/> |
3272 | - </EnclosedIterator> |
3273 | - </ElementIterator> |
3274 | + <ValueIndexEntryBuilderIterator> |
3275 | + <ForVarIterator varname="$$opt_temp_2"/> |
3276 | + <ForVarIterator varname="$$opt_temp_2"/> |
3277 | + </ValueIndexEntryBuilderIterator> |
3278 | </ReturnClause> |
3279 | </FLWORIterator> |
3280 | - </EnclosedIterator> |
3281 | - </ElementIterator> |
3282 | - </ReturnClause> |
3283 | -</FLWORIterator> |
3284 | - |
3285 | + </CreateInternalIndexIterator> |
3286 | + </LetVariable> |
3287 | + <ForVariable name="book"> |
3288 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3289 | + <FnDocIterator> |
3290 | + <SingletonIterator value="xs:string(books.xml)"/> |
3291 | + </FnDocIterator> |
3292 | + </DescendantAxisIterator> |
3293 | + </ForVariable> |
3294 | + <ForVariable name="$$opt_temp_1"> |
3295 | + <HoistIterator> |
3296 | + <FnCountIterator> |
3297 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3298 | + <ForVarIterator varname="book"/> |
3299 | + </ChildAxisIterator> |
3300 | + </FnCountIterator> |
3301 | + </HoistIterator> |
3302 | + </ForVariable> |
3303 | + <ReturnClause> |
3304 | + <ElementIterator> |
3305 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3306 | + <EnclosedIterator attr_cont="false"> |
3307 | + <FLWORIterator> |
3308 | + <ForVariable name="anzahl"> |
3309 | + <ProbeIndexPointValueIterator> |
3310 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3311 | + <UnhoistIterator> |
3312 | + <ForVarIterator varname="$$opt_temp_1"/> |
3313 | + </UnhoistIterator> |
3314 | + </ProbeIndexPointValueIterator> |
3315 | + </ForVariable> |
3316 | + <ReturnClause> |
3317 | + <ElementIterator> |
3318 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
3319 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
3320 | + <EnclosedIterator attr_cont="true"> |
3321 | + <ForVarIterator varname="anzahl"/> |
3322 | + </EnclosedIterator> |
3323 | + </AttributeIterator> |
3324 | + <EnclosedIterator attr_cont="false"> |
3325 | + <ForVarIterator varname="book"/> |
3326 | + </EnclosedIterator> |
3327 | + </ElementIterator> |
3328 | + </ReturnClause> |
3329 | + </FLWORIterator> |
3330 | + </EnclosedIterator> |
3331 | + </ElementIterator> |
3332 | + </ReturnClause> |
3333 | + </FLWORIterator> |
3334 | +</iterator-tree> |
3335 | |
3336 | === modified file 'test/iterplans/zorba/hashjoins/9206.iter' |
3337 | --- test/iterplans/zorba/hashjoins/9206.iter 2014-02-19 01:28:17 +0000 |
3338 | +++ test/iterplans/zorba/hashjoins/9206.iter 2014-02-24 20:09:23 +0000 |
3339 | @@ -1,64 +1,64 @@ |
3340 | -Iterator tree for main query: |
3341 | -<ElementIterator> |
3342 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3343 | - <EnclosedIterator attr_cont="false"> |
3344 | - <FLWORIterator> |
3345 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3346 | - <HoistIterator> |
3347 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3348 | - <FnDocIterator> |
3349 | - <SingletonIterator value="xs:string(books.xml)"/> |
3350 | - </FnDocIterator> |
3351 | - </DescendantAxisIterator> |
3352 | - </HoistIterator> |
3353 | - </LetVariable> |
3354 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
3355 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3356 | - <FLWORIterator> |
3357 | - <ForVariable name="$$opt_temp_1"> |
3358 | - <UnhoistIterator> |
3359 | - <LetVarIterator varname="$$opt_temp_0"/> |
3360 | - </UnhoistIterator> |
3361 | - </ForVariable> |
3362 | - <ReturnClause> |
3363 | - <ValueIndexEntryBuilderIterator> |
3364 | - <ForVarIterator varname="$$opt_temp_1"/> |
3365 | - <FnCountIterator> |
3366 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3367 | - <ForVarIterator varname="$$opt_temp_1"/> |
3368 | - </ChildAxisIterator> |
3369 | - </FnCountIterator> |
3370 | - </ValueIndexEntryBuilderIterator> |
3371 | - </ReturnClause> |
3372 | - </FLWORIterator> |
3373 | - </CreateInternalIndexIterator> |
3374 | - </LetVariable> |
3375 | - <ForVariable name="anzahl"> |
3376 | - <OpToIterator> |
3377 | - <SingletonIterator value="xs:integer(1)"/> |
3378 | - <SingletonIterator value="xs:integer(2)"/> |
3379 | - </OpToIterator> |
3380 | - </ForVariable> |
3381 | - <ForVariable name="book"> |
3382 | - <ProbeIndexPointValueIterator> |
3383 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3384 | - <ForVarIterator varname="anzahl"/> |
3385 | - </ProbeIndexPointValueIterator> |
3386 | - </ForVariable> |
3387 | - <ReturnClause> |
3388 | - <ElementIterator> |
3389 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3390 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3391 | - <EnclosedIterator attr_cont="true"> |
3392 | - <ForVarIterator varname="anzahl"/> |
3393 | +<iterator-tree description="main query"> |
3394 | + <ElementIterator> |
3395 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3396 | + <EnclosedIterator attr_cont="false"> |
3397 | + <FLWORIterator> |
3398 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3399 | + <HoistIterator> |
3400 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3401 | + <FnDocIterator> |
3402 | + <SingletonIterator value="xs:string(books.xml)"/> |
3403 | + </FnDocIterator> |
3404 | + </DescendantAxisIterator> |
3405 | + </HoistIterator> |
3406 | + </LetVariable> |
3407 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
3408 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3409 | + <FLWORIterator> |
3410 | + <ForVariable name="$$opt_temp_1"> |
3411 | + <UnhoistIterator> |
3412 | + <LetVarIterator varname="$$opt_temp_0"/> |
3413 | + </UnhoistIterator> |
3414 | + </ForVariable> |
3415 | + <ReturnClause> |
3416 | + <ValueIndexEntryBuilderIterator> |
3417 | + <ForVarIterator varname="$$opt_temp_1"/> |
3418 | + <FnCountIterator> |
3419 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3420 | + <ForVarIterator varname="$$opt_temp_1"/> |
3421 | + </ChildAxisIterator> |
3422 | + </FnCountIterator> |
3423 | + </ValueIndexEntryBuilderIterator> |
3424 | + </ReturnClause> |
3425 | + </FLWORIterator> |
3426 | + </CreateInternalIndexIterator> |
3427 | + </LetVariable> |
3428 | + <ForVariable name="anzahl"> |
3429 | + <OpToIterator> |
3430 | + <SingletonIterator value="xs:integer(1)"/> |
3431 | + <SingletonIterator value="xs:integer(2)"/> |
3432 | + </OpToIterator> |
3433 | + </ForVariable> |
3434 | + <ForVariable name="book"> |
3435 | + <ProbeIndexPointValueIterator> |
3436 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3437 | + <ForVarIterator varname="anzahl"/> |
3438 | + </ProbeIndexPointValueIterator> |
3439 | + </ForVariable> |
3440 | + <ReturnClause> |
3441 | + <ElementIterator> |
3442 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
3443 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
3444 | + <EnclosedIterator attr_cont="true"> |
3445 | + <ForVarIterator varname="anzahl"/> |
3446 | + </EnclosedIterator> |
3447 | + </AttributeIterator> |
3448 | + <EnclosedIterator attr_cont="false"> |
3449 | + <ForVarIterator varname="book"/> |
3450 | </EnclosedIterator> |
3451 | - </AttributeIterator> |
3452 | - <EnclosedIterator attr_cont="false"> |
3453 | - <ForVarIterator varname="book"/> |
3454 | - </EnclosedIterator> |
3455 | - </ElementIterator> |
3456 | - </ReturnClause> |
3457 | - </FLWORIterator> |
3458 | - </EnclosedIterator> |
3459 | -</ElementIterator> |
3460 | - |
3461 | + </ElementIterator> |
3462 | + </ReturnClause> |
3463 | + </FLWORIterator> |
3464 | + </EnclosedIterator> |
3465 | + </ElementIterator> |
3466 | +</iterator-tree> |
3467 | |
3468 | === modified file 'test/iterplans/zorba/hashjoins/9207.iter' |
3469 | --- test/iterplans/zorba/hashjoins/9207.iter 2014-02-19 01:28:17 +0000 |
3470 | +++ test/iterplans/zorba/hashjoins/9207.iter 2014-02-24 20:09:23 +0000 |
3471 | @@ -1,71 +1,71 @@ |
3472 | -Iterator tree for main query: |
3473 | -<ElementIterator> |
3474 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3475 | - <EnclosedIterator attr_cont="false"> |
3476 | - <FLWORIterator> |
3477 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3478 | - <HoistIterator> |
3479 | - <OpToIterator> |
3480 | - <SingletonIterator value="xs:integer(1)"/> |
3481 | - <SingletonIterator value="xs:integer(2)"/> |
3482 | - </OpToIterator> |
3483 | - </HoistIterator> |
3484 | - </LetVariable> |
3485 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
3486 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3487 | - <FLWORIterator> |
3488 | - <ForVariable name="$$opt_temp_2"> |
3489 | - <UnhoistIterator> |
3490 | - <LetVarIterator varname="$$opt_temp_0"/> |
3491 | - </UnhoistIterator> |
3492 | - </ForVariable> |
3493 | - <ReturnClause> |
3494 | - <ValueIndexEntryBuilderIterator> |
3495 | - <ForVarIterator varname="$$opt_temp_2"/> |
3496 | - <ForVarIterator varname="$$opt_temp_2"/> |
3497 | - </ValueIndexEntryBuilderIterator> |
3498 | - </ReturnClause> |
3499 | - </FLWORIterator> |
3500 | - </CreateInternalIndexIterator> |
3501 | - </LetVariable> |
3502 | - <ForVariable name="book"> |
3503 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3504 | - <FnDocIterator> |
3505 | - <SingletonIterator value="xs:string(books.xml)"/> |
3506 | - </FnDocIterator> |
3507 | - </DescendantAxisIterator> |
3508 | - </ForVariable> |
3509 | - <ForVariable name="$$opt_temp_1"> |
3510 | - <HoistIterator> |
3511 | - <FnCountIterator> |
3512 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3513 | +<iterator-tree description="main query"> |
3514 | + <ElementIterator> |
3515 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3516 | + <EnclosedIterator attr_cont="false"> |
3517 | + <FLWORIterator> |
3518 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3519 | + <HoistIterator> |
3520 | + <OpToIterator> |
3521 | + <SingletonIterator value="xs:integer(1)"/> |
3522 | + <SingletonIterator value="xs:integer(2)"/> |
3523 | + </OpToIterator> |
3524 | + </HoistIterator> |
3525 | + </LetVariable> |
3526 | + <LetVariable name="$$opt_temp_4" materialize="true"> |
3527 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3528 | + <FLWORIterator> |
3529 | + <ForVariable name="$$opt_temp_2"> |
3530 | + <UnhoistIterator> |
3531 | + <LetVarIterator varname="$$opt_temp_0"/> |
3532 | + </UnhoistIterator> |
3533 | + </ForVariable> |
3534 | + <ReturnClause> |
3535 | + <ValueIndexEntryBuilderIterator> |
3536 | + <ForVarIterator varname="$$opt_temp_2"/> |
3537 | + <ForVarIterator varname="$$opt_temp_2"/> |
3538 | + </ValueIndexEntryBuilderIterator> |
3539 | + </ReturnClause> |
3540 | + </FLWORIterator> |
3541 | + </CreateInternalIndexIterator> |
3542 | + </LetVariable> |
3543 | + <ForVariable name="book"> |
3544 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3545 | + <FnDocIterator> |
3546 | + <SingletonIterator value="xs:string(books.xml)"/> |
3547 | + </FnDocIterator> |
3548 | + </DescendantAxisIterator> |
3549 | + </ForVariable> |
3550 | + <ForVariable name="$$opt_temp_1"> |
3551 | + <HoistIterator> |
3552 | + <FnCountIterator> |
3553 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3554 | + <ForVarIterator varname="book"/> |
3555 | + </ChildAxisIterator> |
3556 | + </FnCountIterator> |
3557 | + </HoistIterator> |
3558 | + </ForVariable> |
3559 | + <ForVariable name="anzahl"> |
3560 | + <ProbeIndexPointValueIterator> |
3561 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3562 | + <UnhoistIterator> |
3563 | + <ForVarIterator varname="$$opt_temp_1"/> |
3564 | + </UnhoistIterator> |
3565 | + </ProbeIndexPointValueIterator> |
3566 | + </ForVariable> |
3567 | + <ReturnClause> |
3568 | + <ElementIterator> |
3569 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
3570 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
3571 | + <EnclosedIterator attr_cont="true"> |
3572 | + <ForVarIterator varname="anzahl"/> |
3573 | + </EnclosedIterator> |
3574 | + </AttributeIterator> |
3575 | + <EnclosedIterator attr_cont="false"> |
3576 | <ForVarIterator varname="book"/> |
3577 | - </ChildAxisIterator> |
3578 | - </FnCountIterator> |
3579 | - </HoistIterator> |
3580 | - </ForVariable> |
3581 | - <ForVariable name="anzahl"> |
3582 | - <ProbeIndexPointValueIterator> |
3583 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3584 | - <UnhoistIterator> |
3585 | - <ForVarIterator varname="$$opt_temp_1"/> |
3586 | - </UnhoistIterator> |
3587 | - </ProbeIndexPointValueIterator> |
3588 | - </ForVariable> |
3589 | - <ReturnClause> |
3590 | - <ElementIterator> |
3591 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3592 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3593 | - <EnclosedIterator attr_cont="true"> |
3594 | - <ForVarIterator varname="anzahl"/> |
3595 | </EnclosedIterator> |
3596 | - </AttributeIterator> |
3597 | - <EnclosedIterator attr_cont="false"> |
3598 | - <ForVarIterator varname="book"/> |
3599 | - </EnclosedIterator> |
3600 | - </ElementIterator> |
3601 | - </ReturnClause> |
3602 | - </FLWORIterator> |
3603 | - </EnclosedIterator> |
3604 | -</ElementIterator> |
3605 | - |
3606 | + </ElementIterator> |
3607 | + </ReturnClause> |
3608 | + </FLWORIterator> |
3609 | + </EnclosedIterator> |
3610 | + </ElementIterator> |
3611 | +</iterator-tree> |
3612 | |
3613 | === modified file 'test/iterplans/zorba/hashjoins/9210.iter' |
3614 | --- test/iterplans/zorba/hashjoins/9210.iter 2014-02-19 01:28:17 +0000 |
3615 | +++ test/iterplans/zorba/hashjoins/9210.iter 2014-02-24 20:09:23 +0000 |
3616 | @@ -1,68 +1,68 @@ |
3617 | -Iterator tree for main query: |
3618 | -<ElementIterator> |
3619 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3620 | - <EnclosedIterator attr_cont="false"> |
3621 | - <FLWORIterator> |
3622 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3623 | - <HoistIterator> |
3624 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3625 | - <FnDocIterator> |
3626 | - <SingletonIterator value="xs:string(books.xml)"/> |
3627 | - </FnDocIterator> |
3628 | - </DescendantAxisIterator> |
3629 | - </HoistIterator> |
3630 | - </LetVariable> |
3631 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
3632 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3633 | - <FLWORIterator> |
3634 | - <ForVariable name="$$opt_temp_1"> |
3635 | - <UnhoistIterator> |
3636 | - <LetVarIterator varname="$$opt_temp_0"/> |
3637 | - </UnhoistIterator> |
3638 | - </ForVariable> |
3639 | - <ReturnClause> |
3640 | - <ValueIndexEntryBuilderIterator> |
3641 | - <ForVarIterator varname="$$opt_temp_1"/> |
3642 | - <FnCountIterator> |
3643 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3644 | - <ForVarIterator varname="$$opt_temp_1"/> |
3645 | - </ChildAxisIterator> |
3646 | - </FnCountIterator> |
3647 | - </ValueIndexEntryBuilderIterator> |
3648 | - </ReturnClause> |
3649 | - </FLWORIterator> |
3650 | - </CreateInternalIndexIterator> |
3651 | - </LetVariable> |
3652 | - <ForVariable name="anzahl"> |
3653 | - <OpToIterator> |
3654 | - <SingletonIterator value="xs:integer(1)"/> |
3655 | - <SingletonIterator value="xs:integer(2)"/> |
3656 | - </OpToIterator> |
3657 | - </ForVariable> |
3658 | - <ReturnClause> |
3659 | - <ElementIterator> |
3660 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3661 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3662 | - <EnclosedIterator attr_cont="true"> |
3663 | - <ForVarIterator varname="anzahl"/> |
3664 | - </EnclosedIterator> |
3665 | - </AttributeIterator> |
3666 | - <EnclosedIterator attr_cont="false"> |
3667 | +<iterator-tree description="main query"> |
3668 | + <ElementIterator> |
3669 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3670 | + <EnclosedIterator attr_cont="false"> |
3671 | + <FLWORIterator> |
3672 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3673 | + <HoistIterator> |
3674 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3675 | + <FnDocIterator> |
3676 | + <SingletonIterator value="xs:string(books.xml)"/> |
3677 | + </FnDocIterator> |
3678 | + </DescendantAxisIterator> |
3679 | + </HoistIterator> |
3680 | + </LetVariable> |
3681 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
3682 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3683 | <FLWORIterator> |
3684 | - <ForVariable name="book"> |
3685 | - <ProbeIndexPointValueIterator> |
3686 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3687 | - <ForVarIterator varname="anzahl"/> |
3688 | - </ProbeIndexPointValueIterator> |
3689 | + <ForVariable name="$$opt_temp_1"> |
3690 | + <UnhoistIterator> |
3691 | + <LetVarIterator varname="$$opt_temp_0"/> |
3692 | + </UnhoistIterator> |
3693 | </ForVariable> |
3694 | <ReturnClause> |
3695 | - <ForVarIterator varname="book"/> |
3696 | + <ValueIndexEntryBuilderIterator> |
3697 | + <ForVarIterator varname="$$opt_temp_1"/> |
3698 | + <FnCountIterator> |
3699 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3700 | + <ForVarIterator varname="$$opt_temp_1"/> |
3701 | + </ChildAxisIterator> |
3702 | + </FnCountIterator> |
3703 | + </ValueIndexEntryBuilderIterator> |
3704 | </ReturnClause> |
3705 | </FLWORIterator> |
3706 | - </EnclosedIterator> |
3707 | - </ElementIterator> |
3708 | - </ReturnClause> |
3709 | - </FLWORIterator> |
3710 | - </EnclosedIterator> |
3711 | -</ElementIterator> |
3712 | - |
3713 | + </CreateInternalIndexIterator> |
3714 | + </LetVariable> |
3715 | + <ForVariable name="anzahl"> |
3716 | + <OpToIterator> |
3717 | + <SingletonIterator value="xs:integer(1)"/> |
3718 | + <SingletonIterator value="xs:integer(2)"/> |
3719 | + </OpToIterator> |
3720 | + </ForVariable> |
3721 | + <ReturnClause> |
3722 | + <ElementIterator> |
3723 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
3724 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
3725 | + <EnclosedIterator attr_cont="true"> |
3726 | + <ForVarIterator varname="anzahl"/> |
3727 | + </EnclosedIterator> |
3728 | + </AttributeIterator> |
3729 | + <EnclosedIterator attr_cont="false"> |
3730 | + <FLWORIterator> |
3731 | + <ForVariable name="book"> |
3732 | + <ProbeIndexPointValueIterator> |
3733 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3734 | + <ForVarIterator varname="anzahl"/> |
3735 | + </ProbeIndexPointValueIterator> |
3736 | + </ForVariable> |
3737 | + <ReturnClause> |
3738 | + <ForVarIterator varname="book"/> |
3739 | + </ReturnClause> |
3740 | + </FLWORIterator> |
3741 | + </EnclosedIterator> |
3742 | + </ElementIterator> |
3743 | + </ReturnClause> |
3744 | + </FLWORIterator> |
3745 | + </EnclosedIterator> |
3746 | + </ElementIterator> |
3747 | +</iterator-tree> |
3748 | |
3749 | === modified file 'test/iterplans/zorba/hashjoins/9211.iter' |
3750 | --- test/iterplans/zorba/hashjoins/9211.iter 2014-02-19 01:28:17 +0000 |
3751 | +++ test/iterplans/zorba/hashjoins/9211.iter 2014-02-24 20:09:23 +0000 |
3752 | @@ -1,71 +1,71 @@ |
3753 | -Iterator tree for main query: |
3754 | -<ElementIterator> |
3755 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3756 | - <EnclosedIterator attr_cont="false"> |
3757 | - <FLWORIterator> |
3758 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3759 | - <HoistIterator> |
3760 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3761 | - <FnDocIterator> |
3762 | - <SingletonIterator value="xs:string(books.xml)"/> |
3763 | - </FnDocIterator> |
3764 | - </DescendantAxisIterator> |
3765 | - </HoistIterator> |
3766 | - </LetVariable> |
3767 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
3768 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3769 | - <FLWORIterator> |
3770 | - <ForVariable name="$$opt_temp_1"> |
3771 | - <UnhoistIterator> |
3772 | - <LetVarIterator varname="$$opt_temp_0"/> |
3773 | - </UnhoistIterator> |
3774 | - </ForVariable> |
3775 | - <ReturnClause> |
3776 | - <ValueIndexEntryBuilderIterator> |
3777 | - <ForVarIterator varname="$$opt_temp_1"/> |
3778 | - <FnCountIterator> |
3779 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3780 | - <ForVarIterator varname="$$opt_temp_1"/> |
3781 | - </ChildAxisIterator> |
3782 | - </FnCountIterator> |
3783 | - </ValueIndexEntryBuilderIterator> |
3784 | - </ReturnClause> |
3785 | - </FLWORIterator> |
3786 | - </CreateInternalIndexIterator> |
3787 | - </LetVariable> |
3788 | - <ForVariable name="anzahl"> |
3789 | - <OpToIterator> |
3790 | - <SingletonIterator value="xs:integer(1)"/> |
3791 | - <SingletonIterator value="xs:integer(2)"/> |
3792 | - </OpToIterator> |
3793 | - </ForVariable> |
3794 | - <OrderBySpec> |
3795 | - <ForVarIterator varname="anzahl"/> |
3796 | - </OrderBySpec> |
3797 | - <ReturnClause> |
3798 | - <ElementIterator> |
3799 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3800 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3801 | - <EnclosedIterator attr_cont="true"> |
3802 | - <ForVarIterator varname="anzahl"/> |
3803 | - </EnclosedIterator> |
3804 | - </AttributeIterator> |
3805 | - <EnclosedIterator attr_cont="false"> |
3806 | +<iterator-tree description="main query"> |
3807 | + <ElementIterator> |
3808 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3809 | + <EnclosedIterator attr_cont="false"> |
3810 | + <FLWORIterator> |
3811 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3812 | + <HoistIterator> |
3813 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3814 | + <FnDocIterator> |
3815 | + <SingletonIterator value="xs:string(books.xml)"/> |
3816 | + </FnDocIterator> |
3817 | + </DescendantAxisIterator> |
3818 | + </HoistIterator> |
3819 | + </LetVariable> |
3820 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
3821 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3822 | <FLWORIterator> |
3823 | - <ForVariable name="book"> |
3824 | - <ProbeIndexPointValueIterator> |
3825 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3826 | - <ForVarIterator varname="anzahl"/> |
3827 | - </ProbeIndexPointValueIterator> |
3828 | + <ForVariable name="$$opt_temp_1"> |
3829 | + <UnhoistIterator> |
3830 | + <LetVarIterator varname="$$opt_temp_0"/> |
3831 | + </UnhoistIterator> |
3832 | </ForVariable> |
3833 | <ReturnClause> |
3834 | - <ForVarIterator varname="book"/> |
3835 | + <ValueIndexEntryBuilderIterator> |
3836 | + <ForVarIterator varname="$$opt_temp_1"/> |
3837 | + <FnCountIterator> |
3838 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3839 | + <ForVarIterator varname="$$opt_temp_1"/> |
3840 | + </ChildAxisIterator> |
3841 | + </FnCountIterator> |
3842 | + </ValueIndexEntryBuilderIterator> |
3843 | </ReturnClause> |
3844 | </FLWORIterator> |
3845 | - </EnclosedIterator> |
3846 | - </ElementIterator> |
3847 | - </ReturnClause> |
3848 | - </FLWORIterator> |
3849 | - </EnclosedIterator> |
3850 | -</ElementIterator> |
3851 | - |
3852 | + </CreateInternalIndexIterator> |
3853 | + </LetVariable> |
3854 | + <ForVariable name="anzahl"> |
3855 | + <OpToIterator> |
3856 | + <SingletonIterator value="xs:integer(1)"/> |
3857 | + <SingletonIterator value="xs:integer(2)"/> |
3858 | + </OpToIterator> |
3859 | + </ForVariable> |
3860 | + <OrderBySpec> |
3861 | + <ForVarIterator varname="anzahl"/> |
3862 | + </OrderBySpec> |
3863 | + <ReturnClause> |
3864 | + <ElementIterator> |
3865 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
3866 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
3867 | + <EnclosedIterator attr_cont="true"> |
3868 | + <ForVarIterator varname="anzahl"/> |
3869 | + </EnclosedIterator> |
3870 | + </AttributeIterator> |
3871 | + <EnclosedIterator attr_cont="false"> |
3872 | + <FLWORIterator> |
3873 | + <ForVariable name="book"> |
3874 | + <ProbeIndexPointValueIterator> |
3875 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3876 | + <ForVarIterator varname="anzahl"/> |
3877 | + </ProbeIndexPointValueIterator> |
3878 | + </ForVariable> |
3879 | + <ReturnClause> |
3880 | + <ForVarIterator varname="book"/> |
3881 | + </ReturnClause> |
3882 | + </FLWORIterator> |
3883 | + </EnclosedIterator> |
3884 | + </ElementIterator> |
3885 | + </ReturnClause> |
3886 | + </FLWORIterator> |
3887 | + </EnclosedIterator> |
3888 | + </ElementIterator> |
3889 | +</iterator-tree> |
3890 | |
3891 | === modified file 'test/iterplans/zorba/hashjoins/9212.iter' |
3892 | --- test/iterplans/zorba/hashjoins/9212.iter 2014-02-19 01:28:17 +0000 |
3893 | +++ test/iterplans/zorba/hashjoins/9212.iter 2014-02-24 20:09:23 +0000 |
3894 | @@ -1,79 +1,79 @@ |
3895 | -Iterator tree for main query: |
3896 | -<ElementIterator> |
3897 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3898 | - <EnclosedIterator attr_cont="false"> |
3899 | - <FLWORIterator> |
3900 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
3901 | - <HoistIterator> |
3902 | +<iterator-tree description="main query"> |
3903 | + <ElementIterator> |
3904 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3905 | + <EnclosedIterator attr_cont="false"> |
3906 | + <FLWORIterator> |
3907 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
3908 | + <HoistIterator> |
3909 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3910 | + <FnDocIterator> |
3911 | + <SingletonIterator value="xs:string(books.xml)"/> |
3912 | + </FnDocIterator> |
3913 | + </DescendantAxisIterator> |
3914 | + </HoistIterator> |
3915 | + </LetVariable> |
3916 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
3917 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3918 | + <FLWORIterator> |
3919 | + <ForVariable name="$$opt_temp_1"> |
3920 | + <UnhoistIterator> |
3921 | + <LetVarIterator varname="$$opt_temp_0"/> |
3922 | + </UnhoistIterator> |
3923 | + </ForVariable> |
3924 | + <ReturnClause> |
3925 | + <ValueIndexEntryBuilderIterator> |
3926 | + <ForVarIterator varname="$$opt_temp_1"/> |
3927 | + <FnCountIterator> |
3928 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3929 | + <ForVarIterator varname="$$opt_temp_1"/> |
3930 | + </ChildAxisIterator> |
3931 | + </FnCountIterator> |
3932 | + </ValueIndexEntryBuilderIterator> |
3933 | + </ReturnClause> |
3934 | + </FLWORIterator> |
3935 | + </CreateInternalIndexIterator> |
3936 | + </LetVariable> |
3937 | + <ForVariable name="book"> |
3938 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3939 | <FnDocIterator> |
3940 | <SingletonIterator value="xs:string(books.xml)"/> |
3941 | </FnDocIterator> |
3942 | </DescendantAxisIterator> |
3943 | - </HoistIterator> |
3944 | - </LetVariable> |
3945 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
3946 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3947 | - <FLWORIterator> |
3948 | - <ForVariable name="$$opt_temp_1"> |
3949 | - <UnhoistIterator> |
3950 | - <LetVarIterator varname="$$opt_temp_0"/> |
3951 | - </UnhoistIterator> |
3952 | - </ForVariable> |
3953 | - <ReturnClause> |
3954 | - <ValueIndexEntryBuilderIterator> |
3955 | - <ForVarIterator varname="$$opt_temp_1"/> |
3956 | - <FnCountIterator> |
3957 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3958 | - <ForVarIterator varname="$$opt_temp_1"/> |
3959 | - </ChildAxisIterator> |
3960 | - </FnCountIterator> |
3961 | - </ValueIndexEntryBuilderIterator> |
3962 | - </ReturnClause> |
3963 | - </FLWORIterator> |
3964 | - </CreateInternalIndexIterator> |
3965 | - </LetVariable> |
3966 | - <ForVariable name="book"> |
3967 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3968 | - <FnDocIterator> |
3969 | - <SingletonIterator value="xs:string(books.xml)"/> |
3970 | - </FnDocIterator> |
3971 | - </DescendantAxisIterator> |
3972 | - </ForVariable> |
3973 | - <ForVariable name="anzahl"> |
3974 | - <FnCountIterator> |
3975 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3976 | - <ForVarIterator varname="book"/> |
3977 | - </ChildAxisIterator> |
3978 | - </FnCountIterator> |
3979 | - </ForVariable> |
3980 | - <OrderBySpec> |
3981 | - <ForVarIterator varname="anzahl"/> |
3982 | - </OrderBySpec> |
3983 | - <ReturnClause> |
3984 | - <ElementIterator> |
3985 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
3986 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
3987 | - <EnclosedIterator attr_cont="true"> |
3988 | - <ForVarIterator varname="anzahl"/> |
3989 | + </ForVariable> |
3990 | + <ForVariable name="anzahl"> |
3991 | + <FnCountIterator> |
3992 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3993 | + <ForVarIterator varname="book"/> |
3994 | + </ChildAxisIterator> |
3995 | + </FnCountIterator> |
3996 | + </ForVariable> |
3997 | + <OrderBySpec> |
3998 | + <ForVarIterator varname="anzahl"/> |
3999 | + </OrderBySpec> |
4000 | + <ReturnClause> |
4001 | + <ElementIterator> |
4002 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4003 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4004 | + <EnclosedIterator attr_cont="true"> |
4005 | + <ForVarIterator varname="anzahl"/> |
4006 | + </EnclosedIterator> |
4007 | + </AttributeIterator> |
4008 | + <EnclosedIterator attr_cont="false"> |
4009 | + <FLWORIterator> |
4010 | + <ForVariable name="book"> |
4011 | + <ProbeIndexPointValueIterator> |
4012 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4013 | + <ForVarIterator varname="anzahl"/> |
4014 | + </ProbeIndexPointValueIterator> |
4015 | + </ForVariable> |
4016 | + <ReturnClause> |
4017 | + <ForVarIterator varname="book"/> |
4018 | + </ReturnClause> |
4019 | + </FLWORIterator> |
4020 | </EnclosedIterator> |
4021 | - </AttributeIterator> |
4022 | - <EnclosedIterator attr_cont="false"> |
4023 | - <FLWORIterator> |
4024 | - <ForVariable name="book"> |
4025 | - <ProbeIndexPointValueIterator> |
4026 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4027 | - <ForVarIterator varname="anzahl"/> |
4028 | - </ProbeIndexPointValueIterator> |
4029 | - </ForVariable> |
4030 | - <ReturnClause> |
4031 | - <ForVarIterator varname="book"/> |
4032 | - </ReturnClause> |
4033 | - </FLWORIterator> |
4034 | - </EnclosedIterator> |
4035 | - </ElementIterator> |
4036 | - </ReturnClause> |
4037 | - </FLWORIterator> |
4038 | - </EnclosedIterator> |
4039 | -</ElementIterator> |
4040 | - |
4041 | + </ElementIterator> |
4042 | + </ReturnClause> |
4043 | + </FLWORIterator> |
4044 | + </EnclosedIterator> |
4045 | + </ElementIterator> |
4046 | +</iterator-tree> |
4047 | |
4048 | === modified file 'test/iterplans/zorba/hashjoins/9389.iter' |
4049 | --- test/iterplans/zorba/hashjoins/9389.iter 2014-02-19 01:28:17 +0000 |
4050 | +++ test/iterplans/zorba/hashjoins/9389.iter 2014-02-24 20:09:23 +0000 |
4051 | @@ -1,66 +1,66 @@ |
4052 | -Iterator tree for main query: |
4053 | -<ElementIterator> |
4054 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4055 | - <EnclosedIterator attr_cont="false"> |
4056 | - <FLWORIterator> |
4057 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
4058 | - <HoistIterator> |
4059 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4060 | - <FnDocIterator> |
4061 | - <SingletonIterator value="xs:string(books.xml)"/> |
4062 | - </FnDocIterator> |
4063 | - </DescendantAxisIterator> |
4064 | - </HoistIterator> |
4065 | - </LetVariable> |
4066 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
4067 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4068 | - <FLWORIterator> |
4069 | - <ForVariable name="$$opt_temp_1"> |
4070 | - <UnhoistIterator> |
4071 | - <LetVarIterator varname="$$opt_temp_0"/> |
4072 | - </UnhoistIterator> |
4073 | - </ForVariable> |
4074 | - <ReturnClause> |
4075 | - <ValueIndexEntryBuilderIterator> |
4076 | - <ForVarIterator varname="$$opt_temp_1"/> |
4077 | - <FnCountIterator> |
4078 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4079 | - <ForVarIterator varname="$$opt_temp_1"/> |
4080 | - </ChildAxisIterator> |
4081 | - </FnCountIterator> |
4082 | - </ValueIndexEntryBuilderIterator> |
4083 | - </ReturnClause> |
4084 | - </FLWORIterator> |
4085 | - </CreateInternalIndexIterator> |
4086 | - </LetVariable> |
4087 | - <ForVariable name="anzahl"> |
4088 | - <OpToIterator> |
4089 | - <SingletonIterator value="xs:integer(1)"/> |
4090 | - <SingletonIterator value="xs:integer(5)"/> |
4091 | - </OpToIterator> |
4092 | - </ForVariable> |
4093 | - <ReturnClause> |
4094 | - <ElementIterator> |
4095 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
4096 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
4097 | - <EnclosedIterator attr_cont="true"> |
4098 | - <FLWORIterator> |
4099 | - <ForVariable name="karte"> |
4100 | - <ProbeIndexPointValueIterator> |
4101 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4102 | +<iterator-tree description="main query"> |
4103 | + <ElementIterator> |
4104 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4105 | + <EnclosedIterator attr_cont="false"> |
4106 | + <FLWORIterator> |
4107 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
4108 | + <HoistIterator> |
4109 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4110 | + <FnDocIterator> |
4111 | + <SingletonIterator value="xs:string(books.xml)"/> |
4112 | + </FnDocIterator> |
4113 | + </DescendantAxisIterator> |
4114 | + </HoistIterator> |
4115 | + </LetVariable> |
4116 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
4117 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4118 | + <FLWORIterator> |
4119 | + <ForVariable name="$$opt_temp_1"> |
4120 | + <UnhoistIterator> |
4121 | + <LetVarIterator varname="$$opt_temp_0"/> |
4122 | + </UnhoistIterator> |
4123 | + </ForVariable> |
4124 | + <ReturnClause> |
4125 | + <ValueIndexEntryBuilderIterator> |
4126 | + <ForVarIterator varname="$$opt_temp_1"/> |
4127 | + <FnCountIterator> |
4128 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4129 | + <ForVarIterator varname="$$opt_temp_1"/> |
4130 | + </ChildAxisIterator> |
4131 | + </FnCountIterator> |
4132 | + </ValueIndexEntryBuilderIterator> |
4133 | + </ReturnClause> |
4134 | + </FLWORIterator> |
4135 | + </CreateInternalIndexIterator> |
4136 | + </LetVariable> |
4137 | + <ForVariable name="anzahl"> |
4138 | + <OpToIterator> |
4139 | + <SingletonIterator value="xs:integer(1)"/> |
4140 | + <SingletonIterator value="xs:integer(5)"/> |
4141 | + </OpToIterator> |
4142 | + </ForVariable> |
4143 | + <ReturnClause> |
4144 | + <ElementIterator> |
4145 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4146 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4147 | + <EnclosedIterator attr_cont="true"> |
4148 | + <FLWORIterator> |
4149 | + <ForVariable name="karte"> |
4150 | + <ProbeIndexPointValueIterator> |
4151 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4152 | + <ForVarIterator varname="anzahl"/> |
4153 | + </ProbeIndexPointValueIterator> |
4154 | + </ForVariable> |
4155 | + <ReturnClause> |
4156 | <ForVarIterator varname="anzahl"/> |
4157 | - </ProbeIndexPointValueIterator> |
4158 | - </ForVariable> |
4159 | - <ReturnClause> |
4160 | - <ForVarIterator varname="anzahl"/> |
4161 | - </ReturnClause> |
4162 | - </FLWORIterator> |
4163 | - </EnclosedIterator> |
4164 | - </AttributeIterator> |
4165 | - <FnConcatIterator/> |
4166 | - </ElementIterator> |
4167 | - </ReturnClause> |
4168 | - </FLWORIterator> |
4169 | - </EnclosedIterator> |
4170 | -</ElementIterator> |
4171 | - |
4172 | + </ReturnClause> |
4173 | + </FLWORIterator> |
4174 | + </EnclosedIterator> |
4175 | + </AttributeIterator> |
4176 | + <FnConcatIterator/> |
4177 | + </ElementIterator> |
4178 | + </ReturnClause> |
4179 | + </FLWORIterator> |
4180 | + </EnclosedIterator> |
4181 | + </ElementIterator> |
4182 | +</iterator-tree> |
4183 | |
4184 | === modified file 'test/iterplans/zorba/hashjoins/9390.iter' |
4185 | --- test/iterplans/zorba/hashjoins/9390.iter 2014-02-19 01:28:17 +0000 |
4186 | +++ test/iterplans/zorba/hashjoins/9390.iter 2014-02-24 20:09:23 +0000 |
4187 | @@ -1,66 +1,66 @@ |
4188 | -Iterator tree for main query: |
4189 | -<FLWORIterator> |
4190 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
4191 | - <HoistIterator> |
4192 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4193 | - <FnDocIterator> |
4194 | - <SingletonIterator value="xs:string(books.xml)"/> |
4195 | - </FnDocIterator> |
4196 | - </DescendantAxisIterator> |
4197 | - </HoistIterator> |
4198 | - </LetVariable> |
4199 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
4200 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4201 | - <FLWORIterator> |
4202 | - <ForVariable name="$$opt_temp_1"> |
4203 | - <UnhoistIterator> |
4204 | - <LetVarIterator varname="$$opt_temp_0"/> |
4205 | - </UnhoistIterator> |
4206 | - </ForVariable> |
4207 | - <ReturnClause> |
4208 | - <ValueIndexEntryBuilderIterator> |
4209 | - <ForVarIterator varname="$$opt_temp_1"/> |
4210 | - <FnCountIterator> |
4211 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4212 | - <ForVarIterator varname="$$opt_temp_1"/> |
4213 | - </ChildAxisIterator> |
4214 | - </FnCountIterator> |
4215 | - </ValueIndexEntryBuilderIterator> |
4216 | - </ReturnClause> |
4217 | - </FLWORIterator> |
4218 | - </CreateInternalIndexIterator> |
4219 | - </LetVariable> |
4220 | - <ForVariable name="anzahl"> |
4221 | - <OpToIterator> |
4222 | - <SingletonIterator value="xs:integer(1)"/> |
4223 | - <SingletonIterator value="xs:integer(5)"/> |
4224 | - </OpToIterator> |
4225 | - </ForVariable> |
4226 | - <ReturnClause> |
4227 | - <ElementIterator> |
4228 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4229 | - <EnclosedIterator attr_cont="false"> |
4230 | - <ElementIterator> |
4231 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
4232 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
4233 | - <EnclosedIterator attr_cont="true"> |
4234 | - <FLWORIterator> |
4235 | - <ForVariable name="karte"> |
4236 | - <ProbeIndexPointValueIterator> |
4237 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4238 | +<iterator-tree description="main query"> |
4239 | + <FLWORIterator> |
4240 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
4241 | + <HoistIterator> |
4242 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4243 | + <FnDocIterator> |
4244 | + <SingletonIterator value="xs:string(books.xml)"/> |
4245 | + </FnDocIterator> |
4246 | + </DescendantAxisIterator> |
4247 | + </HoistIterator> |
4248 | + </LetVariable> |
4249 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
4250 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4251 | + <FLWORIterator> |
4252 | + <ForVariable name="$$opt_temp_1"> |
4253 | + <UnhoistIterator> |
4254 | + <LetVarIterator varname="$$opt_temp_0"/> |
4255 | + </UnhoistIterator> |
4256 | + </ForVariable> |
4257 | + <ReturnClause> |
4258 | + <ValueIndexEntryBuilderIterator> |
4259 | + <ForVarIterator varname="$$opt_temp_1"/> |
4260 | + <FnCountIterator> |
4261 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4262 | + <ForVarIterator varname="$$opt_temp_1"/> |
4263 | + </ChildAxisIterator> |
4264 | + </FnCountIterator> |
4265 | + </ValueIndexEntryBuilderIterator> |
4266 | + </ReturnClause> |
4267 | + </FLWORIterator> |
4268 | + </CreateInternalIndexIterator> |
4269 | + </LetVariable> |
4270 | + <ForVariable name="anzahl"> |
4271 | + <OpToIterator> |
4272 | + <SingletonIterator value="xs:integer(1)"/> |
4273 | + <SingletonIterator value="xs:integer(5)"/> |
4274 | + </OpToIterator> |
4275 | + </ForVariable> |
4276 | + <ReturnClause> |
4277 | + <ElementIterator> |
4278 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4279 | + <EnclosedIterator attr_cont="false"> |
4280 | + <ElementIterator> |
4281 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4282 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4283 | + <EnclosedIterator attr_cont="true"> |
4284 | + <FLWORIterator> |
4285 | + <ForVariable name="karte"> |
4286 | + <ProbeIndexPointValueIterator> |
4287 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4288 | + <ForVarIterator varname="anzahl"/> |
4289 | + </ProbeIndexPointValueIterator> |
4290 | + </ForVariable> |
4291 | + <ReturnClause> |
4292 | <ForVarIterator varname="anzahl"/> |
4293 | - </ProbeIndexPointValueIterator> |
4294 | - </ForVariable> |
4295 | - <ReturnClause> |
4296 | - <ForVarIterator varname="anzahl"/> |
4297 | - </ReturnClause> |
4298 | - </FLWORIterator> |
4299 | - </EnclosedIterator> |
4300 | - </AttributeIterator> |
4301 | - <FnConcatIterator/> |
4302 | - </ElementIterator> |
4303 | - </EnclosedIterator> |
4304 | - </ElementIterator> |
4305 | - </ReturnClause> |
4306 | -</FLWORIterator> |
4307 | - |
4308 | + </ReturnClause> |
4309 | + </FLWORIterator> |
4310 | + </EnclosedIterator> |
4311 | + </AttributeIterator> |
4312 | + <FnConcatIterator/> |
4313 | + </ElementIterator> |
4314 | + </EnclosedIterator> |
4315 | + </ElementIterator> |
4316 | + </ReturnClause> |
4317 | + </FLWORIterator> |
4318 | +</iterator-tree> |
4319 | |
4320 | === modified file 'test/iterplans/zorba/hashjoins/9391.iter' |
4321 | --- test/iterplans/zorba/hashjoins/9391.iter 2014-02-19 01:28:17 +0000 |
4322 | +++ test/iterplans/zorba/hashjoins/9391.iter 2014-02-24 20:09:23 +0000 |
4323 | @@ -1,71 +1,71 @@ |
4324 | -Iterator tree for main query: |
4325 | -<ElementIterator> |
4326 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4327 | - <EnclosedIterator attr_cont="false"> |
4328 | - <FLWORIterator> |
4329 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
4330 | - <HoistIterator> |
4331 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4332 | - <FnDocIterator> |
4333 | - <SingletonIterator value="xs:string(books.xml)"/> |
4334 | - </FnDocIterator> |
4335 | - </DescendantAxisIterator> |
4336 | - </HoistIterator> |
4337 | - </LetVariable> |
4338 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
4339 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4340 | - <FLWORIterator> |
4341 | - <ForVariable name="$$opt_temp_1"> |
4342 | - <UnhoistIterator> |
4343 | - <LetVarIterator varname="$$opt_temp_0"/> |
4344 | - </UnhoistIterator> |
4345 | - </ForVariable> |
4346 | - <ReturnClause> |
4347 | - <ValueIndexEntryBuilderIterator> |
4348 | - <ForVarIterator varname="$$opt_temp_1"/> |
4349 | - <FnCountIterator> |
4350 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4351 | - <ForVarIterator varname="$$opt_temp_1"/> |
4352 | - </ChildAxisIterator> |
4353 | - </FnCountIterator> |
4354 | - </ValueIndexEntryBuilderIterator> |
4355 | - </ReturnClause> |
4356 | - </FLWORIterator> |
4357 | - </CreateInternalIndexIterator> |
4358 | - </LetVariable> |
4359 | - <ForVariable name="anzahl"> |
4360 | - <OpToIterator> |
4361 | - <SingletonIterator value="xs:integer(1)"/> |
4362 | - <SingletonIterator value="xs:integer(2)"/> |
4363 | - </OpToIterator> |
4364 | - </ForVariable> |
4365 | - <ReturnClause> |
4366 | - <ElementIterator> |
4367 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
4368 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
4369 | - <FnDataIterator> |
4370 | - <FnConcatIterator> |
4371 | - <SingletonIterator value="xs:string( )"/> |
4372 | - <EnclosedIterator attr_cont="true"> |
4373 | - <FLWORIterator> |
4374 | - <ForVariable name="karte"> |
4375 | - <ProbeIndexPointValueIterator> |
4376 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4377 | +<iterator-tree description="main query"> |
4378 | + <ElementIterator> |
4379 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4380 | + <EnclosedIterator attr_cont="false"> |
4381 | + <FLWORIterator> |
4382 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
4383 | + <HoistIterator> |
4384 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4385 | + <FnDocIterator> |
4386 | + <SingletonIterator value="xs:string(books.xml)"/> |
4387 | + </FnDocIterator> |
4388 | + </DescendantAxisIterator> |
4389 | + </HoistIterator> |
4390 | + </LetVariable> |
4391 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
4392 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4393 | + <FLWORIterator> |
4394 | + <ForVariable name="$$opt_temp_1"> |
4395 | + <UnhoistIterator> |
4396 | + <LetVarIterator varname="$$opt_temp_0"/> |
4397 | + </UnhoistIterator> |
4398 | + </ForVariable> |
4399 | + <ReturnClause> |
4400 | + <ValueIndexEntryBuilderIterator> |
4401 | + <ForVarIterator varname="$$opt_temp_1"/> |
4402 | + <FnCountIterator> |
4403 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4404 | + <ForVarIterator varname="$$opt_temp_1"/> |
4405 | + </ChildAxisIterator> |
4406 | + </FnCountIterator> |
4407 | + </ValueIndexEntryBuilderIterator> |
4408 | + </ReturnClause> |
4409 | + </FLWORIterator> |
4410 | + </CreateInternalIndexIterator> |
4411 | + </LetVariable> |
4412 | + <ForVariable name="anzahl"> |
4413 | + <OpToIterator> |
4414 | + <SingletonIterator value="xs:integer(1)"/> |
4415 | + <SingletonIterator value="xs:integer(2)"/> |
4416 | + </OpToIterator> |
4417 | + </ForVariable> |
4418 | + <ReturnClause> |
4419 | + <ElementIterator> |
4420 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4421 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4422 | + <FnDataIterator> |
4423 | + <FnConcatIterator> |
4424 | + <SingletonIterator value="xs:string( )"/> |
4425 | + <EnclosedIterator attr_cont="true"> |
4426 | + <FLWORIterator> |
4427 | + <ForVariable name="karte"> |
4428 | + <ProbeIndexPointValueIterator> |
4429 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4430 | + <ForVarIterator varname="anzahl"/> |
4431 | + </ProbeIndexPointValueIterator> |
4432 | + </ForVariable> |
4433 | + <ReturnClause> |
4434 | <ForVarIterator varname="anzahl"/> |
4435 | - </ProbeIndexPointValueIterator> |
4436 | - </ForVariable> |
4437 | - <ReturnClause> |
4438 | - <ForVarIterator varname="anzahl"/> |
4439 | - </ReturnClause> |
4440 | - </FLWORIterator> |
4441 | - </EnclosedIterator> |
4442 | - </FnConcatIterator> |
4443 | - </FnDataIterator> |
4444 | - </AttributeIterator> |
4445 | - <FnConcatIterator/> |
4446 | - </ElementIterator> |
4447 | - </ReturnClause> |
4448 | - </FLWORIterator> |
4449 | - </EnclosedIterator> |
4450 | -</ElementIterator> |
4451 | - |
4452 | + </ReturnClause> |
4453 | + </FLWORIterator> |
4454 | + </EnclosedIterator> |
4455 | + </FnConcatIterator> |
4456 | + </FnDataIterator> |
4457 | + </AttributeIterator> |
4458 | + <FnConcatIterator/> |
4459 | + </ElementIterator> |
4460 | + </ReturnClause> |
4461 | + </FLWORIterator> |
4462 | + </EnclosedIterator> |
4463 | + </ElementIterator> |
4464 | +</iterator-tree> |
4465 | |
4466 | === modified file 'test/iterplans/zorba/hashjoins/9392.iter' |
4467 | --- test/iterplans/zorba/hashjoins/9392.iter 2014-02-19 01:28:17 +0000 |
4468 | +++ test/iterplans/zorba/hashjoins/9392.iter 2014-02-24 20:09:23 +0000 |
4469 | @@ -1,67 +1,67 @@ |
4470 | -Iterator tree for main query: |
4471 | -<ElementIterator> |
4472 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4473 | - <EnclosedIterator attr_cont="false"> |
4474 | - <ElementIterator> |
4475 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
4476 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
4477 | - <FnDataIterator> |
4478 | - <FnConcatIterator> |
4479 | - <SingletonIterator value="xs:string( )"/> |
4480 | - <EnclosedIterator attr_cont="true"> |
4481 | - <FLWORIterator> |
4482 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
4483 | - <HoistIterator> |
4484 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4485 | - <FnDocIterator> |
4486 | - <SingletonIterator value="xs:string(books.xml)"/> |
4487 | - </FnDocIterator> |
4488 | - </DescendantAxisIterator> |
4489 | - </HoistIterator> |
4490 | - </LetVariable> |
4491 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
4492 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4493 | - <FLWORIterator> |
4494 | - <ForVariable name="$$opt_temp_1"> |
4495 | - <UnhoistIterator> |
4496 | - <LetVarIterator varname="$$opt_temp_0"/> |
4497 | - </UnhoistIterator> |
4498 | - </ForVariable> |
4499 | - <ReturnClause> |
4500 | - <ValueIndexEntryBuilderIterator> |
4501 | - <ForVarIterator varname="$$opt_temp_1"/> |
4502 | - <FnCountIterator> |
4503 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4504 | - <ForVarIterator varname="$$opt_temp_1"/> |
4505 | - </ChildAxisIterator> |
4506 | - </FnCountIterator> |
4507 | - </ValueIndexEntryBuilderIterator> |
4508 | - </ReturnClause> |
4509 | - </FLWORIterator> |
4510 | - </CreateInternalIndexIterator> |
4511 | - </LetVariable> |
4512 | - <ForVariable name="anzahl"> |
4513 | - <OpToIterator> |
4514 | - <SingletonIterator value="xs:integer(1)"/> |
4515 | - <SingletonIterator value="xs:integer(2)"/> |
4516 | - </OpToIterator> |
4517 | - </ForVariable> |
4518 | - <ForVariable name="karte"> |
4519 | - <ProbeIndexPointValueIterator> |
4520 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4521 | +<iterator-tree description="main query"> |
4522 | + <ElementIterator> |
4523 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4524 | + <EnclosedIterator attr_cont="false"> |
4525 | + <ElementIterator> |
4526 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4527 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4528 | + <FnDataIterator> |
4529 | + <FnConcatIterator> |
4530 | + <SingletonIterator value="xs:string( )"/> |
4531 | + <EnclosedIterator attr_cont="true"> |
4532 | + <FLWORIterator> |
4533 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
4534 | + <HoistIterator> |
4535 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4536 | + <FnDocIterator> |
4537 | + <SingletonIterator value="xs:string(books.xml)"/> |
4538 | + </FnDocIterator> |
4539 | + </DescendantAxisIterator> |
4540 | + </HoistIterator> |
4541 | + </LetVariable> |
4542 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
4543 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4544 | + <FLWORIterator> |
4545 | + <ForVariable name="$$opt_temp_1"> |
4546 | + <UnhoistIterator> |
4547 | + <LetVarIterator varname="$$opt_temp_0"/> |
4548 | + </UnhoistIterator> |
4549 | + </ForVariable> |
4550 | + <ReturnClause> |
4551 | + <ValueIndexEntryBuilderIterator> |
4552 | + <ForVarIterator varname="$$opt_temp_1"/> |
4553 | + <FnCountIterator> |
4554 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4555 | + <ForVarIterator varname="$$opt_temp_1"/> |
4556 | + </ChildAxisIterator> |
4557 | + </FnCountIterator> |
4558 | + </ValueIndexEntryBuilderIterator> |
4559 | + </ReturnClause> |
4560 | + </FLWORIterator> |
4561 | + </CreateInternalIndexIterator> |
4562 | + </LetVariable> |
4563 | + <ForVariable name="anzahl"> |
4564 | + <OpToIterator> |
4565 | + <SingletonIterator value="xs:integer(1)"/> |
4566 | + <SingletonIterator value="xs:integer(2)"/> |
4567 | + </OpToIterator> |
4568 | + </ForVariable> |
4569 | + <ForVariable name="karte"> |
4570 | + <ProbeIndexPointValueIterator> |
4571 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4572 | + <ForVarIterator varname="anzahl"/> |
4573 | + </ProbeIndexPointValueIterator> |
4574 | + </ForVariable> |
4575 | + <ReturnClause> |
4576 | <ForVarIterator varname="anzahl"/> |
4577 | - </ProbeIndexPointValueIterator> |
4578 | - </ForVariable> |
4579 | - <ReturnClause> |
4580 | - <ForVarIterator varname="anzahl"/> |
4581 | - </ReturnClause> |
4582 | - </FLWORIterator> |
4583 | - </EnclosedIterator> |
4584 | - </FnConcatIterator> |
4585 | - </FnDataIterator> |
4586 | - </AttributeIterator> |
4587 | - <FnConcatIterator/> |
4588 | - </ElementIterator> |
4589 | - </EnclosedIterator> |
4590 | -</ElementIterator> |
4591 | - |
4592 | + </ReturnClause> |
4593 | + </FLWORIterator> |
4594 | + </EnclosedIterator> |
4595 | + </FnConcatIterator> |
4596 | + </FnDataIterator> |
4597 | + </AttributeIterator> |
4598 | + <FnConcatIterator/> |
4599 | + </ElementIterator> |
4600 | + </EnclosedIterator> |
4601 | + </ElementIterator> |
4602 | +</iterator-tree> |
4603 | |
4604 | === modified file 'test/iterplans/zorba/hashjoins/9399.iter' |
4605 | --- test/iterplans/zorba/hashjoins/9399.iter 2014-02-19 01:28:17 +0000 |
4606 | +++ test/iterplans/zorba/hashjoins/9399.iter 2014-02-24 20:09:23 +0000 |
4607 | @@ -1,65 +1,65 @@ |
4608 | -Iterator tree for main query: |
4609 | -<ElementIterator> |
4610 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4611 | - <EnclosedIterator attr_cont="false"> |
4612 | - <FLWORIterator> |
4613 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
4614 | - <HoistIterator> |
4615 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4616 | - <FnDocIterator> |
4617 | - <SingletonIterator value="xs:string(books.xml)"/> |
4618 | - </FnDocIterator> |
4619 | - </DescendantAxisIterator> |
4620 | - </HoistIterator> |
4621 | - </LetVariable> |
4622 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
4623 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4624 | - <FLWORIterator> |
4625 | - <ForVariable name="$$opt_temp_1"> |
4626 | - <UnhoistIterator> |
4627 | - <LetVarIterator varname="$$opt_temp_0"/> |
4628 | - </UnhoistIterator> |
4629 | - </ForVariable> |
4630 | - <ReturnClause> |
4631 | - <ValueIndexEntryBuilderIterator> |
4632 | - <ForVarIterator varname="$$opt_temp_1"/> |
4633 | - <FnCountIterator> |
4634 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4635 | - <ForVarIterator varname="$$opt_temp_1"/> |
4636 | - </ChildAxisIterator> |
4637 | - </FnCountIterator> |
4638 | - </ValueIndexEntryBuilderIterator> |
4639 | - </ReturnClause> |
4640 | - </FLWORIterator> |
4641 | - </CreateInternalIndexIterator> |
4642 | - </LetVariable> |
4643 | - <ForVariable name="anzahl"> |
4644 | - <OpToIterator> |
4645 | - <SingletonIterator value="xs:integer(1)"/> |
4646 | - <SingletonIterator value="xs:integer(2)"/> |
4647 | - </OpToIterator> |
4648 | - </ForVariable> |
4649 | - <ReturnClause> |
4650 | - <ElementIterator> |
4651 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
4652 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
4653 | - <EnclosedIterator attr_cont="true"> |
4654 | - <FLWORIterator> |
4655 | - <ForVariable name="a"> |
4656 | - <ProbeIndexPointValueIterator> |
4657 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4658 | +<iterator-tree description="main query"> |
4659 | + <ElementIterator> |
4660 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4661 | + <EnclosedIterator attr_cont="false"> |
4662 | + <FLWORIterator> |
4663 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
4664 | + <HoistIterator> |
4665 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4666 | + <FnDocIterator> |
4667 | + <SingletonIterator value="xs:string(books.xml)"/> |
4668 | + </FnDocIterator> |
4669 | + </DescendantAxisIterator> |
4670 | + </HoistIterator> |
4671 | + </LetVariable> |
4672 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
4673 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4674 | + <FLWORIterator> |
4675 | + <ForVariable name="$$opt_temp_1"> |
4676 | + <UnhoistIterator> |
4677 | + <LetVarIterator varname="$$opt_temp_0"/> |
4678 | + </UnhoistIterator> |
4679 | + </ForVariable> |
4680 | + <ReturnClause> |
4681 | + <ValueIndexEntryBuilderIterator> |
4682 | + <ForVarIterator varname="$$opt_temp_1"/> |
4683 | + <FnCountIterator> |
4684 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4685 | + <ForVarIterator varname="$$opt_temp_1"/> |
4686 | + </ChildAxisIterator> |
4687 | + </FnCountIterator> |
4688 | + </ValueIndexEntryBuilderIterator> |
4689 | + </ReturnClause> |
4690 | + </FLWORIterator> |
4691 | + </CreateInternalIndexIterator> |
4692 | + </LetVariable> |
4693 | + <ForVariable name="anzahl"> |
4694 | + <OpToIterator> |
4695 | + <SingletonIterator value="xs:integer(1)"/> |
4696 | + <SingletonIterator value="xs:integer(2)"/> |
4697 | + </OpToIterator> |
4698 | + </ForVariable> |
4699 | + <ReturnClause> |
4700 | + <ElementIterator> |
4701 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4702 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4703 | + <EnclosedIterator attr_cont="true"> |
4704 | + <FLWORIterator> |
4705 | + <ForVariable name="a"> |
4706 | + <ProbeIndexPointValueIterator> |
4707 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4708 | + <ForVarIterator varname="anzahl"/> |
4709 | + </ProbeIndexPointValueIterator> |
4710 | + </ForVariable> |
4711 | + <ReturnClause> |
4712 | <ForVarIterator varname="anzahl"/> |
4713 | - </ProbeIndexPointValueIterator> |
4714 | - </ForVariable> |
4715 | - <ReturnClause> |
4716 | - <ForVarIterator varname="anzahl"/> |
4717 | - </ReturnClause> |
4718 | - </FLWORIterator> |
4719 | - </EnclosedIterator> |
4720 | - </AttributeIterator> |
4721 | - </ElementIterator> |
4722 | - </ReturnClause> |
4723 | - </FLWORIterator> |
4724 | - </EnclosedIterator> |
4725 | -</ElementIterator> |
4726 | - |
4727 | + </ReturnClause> |
4728 | + </FLWORIterator> |
4729 | + </EnclosedIterator> |
4730 | + </AttributeIterator> |
4731 | + </ElementIterator> |
4732 | + </ReturnClause> |
4733 | + </FLWORIterator> |
4734 | + </EnclosedIterator> |
4735 | + </ElementIterator> |
4736 | +</iterator-tree> |
4737 | |
4738 | === modified file 'test/iterplans/zorba/hashjoins/9400.iter' |
4739 | --- test/iterplans/zorba/hashjoins/9400.iter 2014-02-19 01:28:17 +0000 |
4740 | +++ test/iterplans/zorba/hashjoins/9400.iter 2014-02-24 20:09:23 +0000 |
4741 | @@ -1,66 +1,66 @@ |
4742 | -Iterator tree for main query: |
4743 | -<ElementIterator> |
4744 | - <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4745 | - <EnclosedIterator attr_cont="false"> |
4746 | - <FLWORIterator> |
4747 | - <LetVariable name="$$opt_temp_0" materialize="true"> |
4748 | - <HoistIterator> |
4749 | - <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4750 | - <FnDocIterator> |
4751 | - <SingletonIterator value="xs:string(books.xml)"/> |
4752 | - </FnDocIterator> |
4753 | - </DescendantAxisIterator> |
4754 | - </HoistIterator> |
4755 | - </LetVariable> |
4756 | - <LetVariable name="$$opt_temp_3" materialize="true"> |
4757 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4758 | - <FLWORIterator> |
4759 | - <ForVariable name="$$opt_temp_1"> |
4760 | - <UnhoistIterator> |
4761 | - <LetVarIterator varname="$$opt_temp_0"/> |
4762 | - </UnhoistIterator> |
4763 | - </ForVariable> |
4764 | - <ReturnClause> |
4765 | - <ValueIndexEntryBuilderIterator> |
4766 | - <ForVarIterator varname="$$opt_temp_1"/> |
4767 | - <FnCountIterator> |
4768 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4769 | - <ForVarIterator varname="$$opt_temp_1"/> |
4770 | - </ChildAxisIterator> |
4771 | - </FnCountIterator> |
4772 | - </ValueIndexEntryBuilderIterator> |
4773 | - </ReturnClause> |
4774 | - </FLWORIterator> |
4775 | - </CreateInternalIndexIterator> |
4776 | - </LetVariable> |
4777 | - <ForVariable name="anzahl"> |
4778 | - <OpToIterator> |
4779 | - <SingletonIterator value="xs:integer(1)"/> |
4780 | - <SingletonIterator value="xs:integer(2)"/> |
4781 | - </OpToIterator> |
4782 | - </ForVariable> |
4783 | - <ReturnClause> |
4784 | - <ElementIterator> |
4785 | - <SingletonIterator value="xs:QName(,,gruppe)"/> |
4786 | - <AttributeIterator qname="xs:QName(,,anzahl)"> |
4787 | - <EmptyIterator/> |
4788 | - </AttributeIterator> |
4789 | - <EnclosedIterator attr_cont="false"> |
4790 | +<iterator-tree description="main query"> |
4791 | + <ElementIterator> |
4792 | + <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4793 | + <EnclosedIterator attr_cont="false"> |
4794 | + <FLWORIterator> |
4795 | + <LetVariable name="$$opt_temp_0" materialize="true"> |
4796 | + <HoistIterator> |
4797 | + <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4798 | + <FnDocIterator> |
4799 | + <SingletonIterator value="xs:string(books.xml)"/> |
4800 | + </FnDocIterator> |
4801 | + </DescendantAxisIterator> |
4802 | + </HoistIterator> |
4803 | + </LetVariable> |
4804 | + <LetVariable name="$$opt_temp_3" materialize="true"> |
4805 | + <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4806 | <FLWORIterator> |
4807 | - <ForVariable name="a"> |
4808 | - <ProbeIndexPointValueIterator> |
4809 | - <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4810 | - <ForVarIterator varname="anzahl"/> |
4811 | - </ProbeIndexPointValueIterator> |
4812 | + <ForVariable name="$$opt_temp_1"> |
4813 | + <UnhoistIterator> |
4814 | + <LetVarIterator varname="$$opt_temp_0"/> |
4815 | + </UnhoistIterator> |
4816 | </ForVariable> |
4817 | <ReturnClause> |
4818 | - <ForVarIterator varname="a"/> |
4819 | + <ValueIndexEntryBuilderIterator> |
4820 | + <ForVarIterator varname="$$opt_temp_1"/> |
4821 | + <FnCountIterator> |
4822 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4823 | + <ForVarIterator varname="$$opt_temp_1"/> |
4824 | + </ChildAxisIterator> |
4825 | + </FnCountIterator> |
4826 | + </ValueIndexEntryBuilderIterator> |
4827 | </ReturnClause> |
4828 | </FLWORIterator> |
4829 | - </EnclosedIterator> |
4830 | - </ElementIterator> |
4831 | - </ReturnClause> |
4832 | - </FLWORIterator> |
4833 | - </EnclosedIterator> |
4834 | -</ElementIterator> |
4835 | - |
4836 | + </CreateInternalIndexIterator> |
4837 | + </LetVariable> |
4838 | + <ForVariable name="anzahl"> |
4839 | + <OpToIterator> |
4840 | + <SingletonIterator value="xs:integer(1)"/> |
4841 | + <SingletonIterator value="xs:integer(2)"/> |
4842 | + </OpToIterator> |
4843 | + </ForVariable> |
4844 | + <ReturnClause> |
4845 | + <ElementIterator> |
4846 | + <SingletonIterator value="xs:QName(,,gruppe)"/> |
4847 | + <AttributeIterator qname="xs:QName(,,anzahl)"> |
4848 | + <EmptyIterator/> |
4849 | + </AttributeIterator> |
4850 | + <EnclosedIterator attr_cont="false"> |
4851 | + <FLWORIterator> |
4852 | + <ForVariable name="a"> |
4853 | + <ProbeIndexPointValueIterator> |
4854 | + <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4855 | + <ForVarIterator varname="anzahl"/> |
4856 | + </ProbeIndexPointValueIterator> |
4857 | + </ForVariable> |
4858 | + <ReturnClause> |
4859 | + <ForVarIterator varname="a"/> |
4860 | + </ReturnClause> |
4861 | + </FLWORIterator> |
4862 | + </EnclosedIterator> |
4863 | + </ElementIterator> |
4864 | + </ReturnClause> |
4865 | + </FLWORIterator> |
4866 | + </EnclosedIterator> |
4867 | + </ElementIterator> |
4868 | +</iterator-tree> |
4869 | |
4870 | === modified file 'test/iterplans/zorba/hashjoins/gary1.iter' |
4871 | --- test/iterplans/zorba/hashjoins/gary1.iter 2014-02-19 01:28:17 +0000 |
4872 | +++ test/iterplans/zorba/hashjoins/gary1.iter 2014-02-24 20:09:23 +0000 |
4873 | @@ -1,217 +1,217 @@ |
4874 | -Iterator tree for const-folded expr: |
4875 | -<OrIterator> |
4876 | - <SingletonIterator value="xs:boolean(false)"/> |
4877 | - <SingletonIterator value="xs:boolean(false)"/> |
4878 | - <SingletonIterator value="xs:boolean(false)"/> |
4879 | -</OrIterator> |
4880 | - |
4881 | -Iterator tree for const-folded expr: |
4882 | -<OrIterator> |
4883 | - <SingletonIterator value="xs:boolean(false)"/> |
4884 | - <SingletonIterator value="xs:boolean(false)"/> |
4885 | - <SingletonIterator value="xs:boolean(false)"/> |
4886 | -</OrIterator> |
4887 | - |
4888 | -Iterator tree for const-folded expr: |
4889 | -<OrIterator> |
4890 | - <SingletonIterator value="xs:boolean(false)"/> |
4891 | - <SingletonIterator value="xs:boolean(false)"/> |
4892 | - <SingletonIterator value="xs:boolean(false)"/> |
4893 | -</OrIterator> |
4894 | - |
4895 | -Iterator tree for main query: |
4896 | -<ElementIterator> |
4897 | - <SingletonIterator value="xs:QName(,,institutions)"/> |
4898 | - <EnclosedIterator attr_cont="false"> |
4899 | - <FLWORIterator> |
4900 | - <LetVariable name="y" materialize="true"> |
4901 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,data)" typename="*" nill allowed="0"> |
4902 | - <TupleStreamIterator> |
4903 | - <WhereIterator> |
4904 | +<iterator-tree description="const-folded expr"> |
4905 | + <OrIterator> |
4906 | + <SingletonIterator value="xs:boolean(false)"/> |
4907 | + <SingletonIterator value="xs:boolean(false)"/> |
4908 | + <SingletonIterator value="xs:boolean(false)"/> |
4909 | + </OrIterator> |
4910 | +</iterator-tree> |
4911 | +<iterator-tree description="const-folded expr"> |
4912 | + <OrIterator> |
4913 | + <SingletonIterator value="xs:boolean(false)"/> |
4914 | + <SingletonIterator value="xs:boolean(false)"/> |
4915 | + <SingletonIterator value="xs:boolean(false)"/> |
4916 | + </OrIterator> |
4917 | +</iterator-tree> |
4918 | +<iterator-tree description="const-folded expr"> |
4919 | + <OrIterator> |
4920 | + <SingletonIterator value="xs:boolean(false)"/> |
4921 | + <SingletonIterator value="xs:boolean(false)"/> |
4922 | + <SingletonIterator value="xs:boolean(false)"/> |
4923 | + </OrIterator> |
4924 | +</iterator-tree> |
4925 | +<iterator-tree description="main query"> |
4926 | + <ElementIterator> |
4927 | + <SingletonIterator value="xs:QName(,,institutions)"/> |
4928 | + <EnclosedIterator attr_cont="false"> |
4929 | + <FLWORIterator> |
4930 | + <LetVariable name="y" materialize="true"> |
4931 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,data)" typename="*" nill allowed="0"> |
4932 | + <TupleStreamIterator> |
4933 | <WhereIterator> |
4934 | - <ForIterator> |
4935 | - <ForVariable name="$$context-item"/> |
4936 | + <WhereIterator> |
4937 | <ForIterator> |
4938 | <ForVariable name="$$context-item"/> |
4939 | - <TupleSourceIterator/> |
4940 | - <FnDocIterator> |
4941 | - <SingletonIterator value="xs:string(min_ic1980.xml)"/> |
4942 | - </FnDocIterator> |
4943 | + <ForIterator> |
4944 | + <ForVariable name="$$context-item"/> |
4945 | + <TupleSourceIterator/> |
4946 | + <FnDocIterator> |
4947 | + <SingletonIterator value="xs:string(min_ic1980.xml)"/> |
4948 | + </FnDocIterator> |
4949 | + </ForIterator> |
4950 | + <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,ipeds)" typename="*" nill allowed="0"> |
4951 | + <ForVarIterator varname="$$context-item"/> |
4952 | + </ChildAxisIterator> |
4953 | </ForIterator> |
4954 | - <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,ipeds)" typename="*" nill allowed="0"> |
4955 | - <ForVarIterator varname="$$context-item"/> |
4956 | - </ChildAxisIterator> |
4957 | - </ForIterator> |
4958 | + <CompareIterator> |
4959 | + <FnDataIterator> |
4960 | + <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,year)" typename="*" nill allowed="0"> |
4961 | + <ForVarIterator varname="$$context-item"/> |
4962 | + </AttributeAxisIterator> |
4963 | + </FnDataIterator> |
4964 | + <SingletonIterator value="xs:integer(1980)"/> |
4965 | + </CompareIterator> |
4966 | + </WhereIterator> |
4967 | <CompareIterator> |
4968 | <FnDataIterator> |
4969 | - <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,year)" typename="*" nill allowed="0"> |
4970 | + <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,file)" typename="*" nill allowed="0"> |
4971 | <ForVarIterator varname="$$context-item"/> |
4972 | </AttributeAxisIterator> |
4973 | </FnDataIterator> |
4974 | - <SingletonIterator value="xs:integer(1980)"/> |
4975 | + <SingletonIterator value="xs:string(ic1980)"/> |
4976 | </CompareIterator> |
4977 | </WhereIterator> |
4978 | - <CompareIterator> |
4979 | - <FnDataIterator> |
4980 | - <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,file)" typename="*" nill allowed="0"> |
4981 | - <ForVarIterator varname="$$context-item"/> |
4982 | - </AttributeAxisIterator> |
4983 | - </FnDataIterator> |
4984 | - <SingletonIterator value="xs:string(ic1980)"/> |
4985 | - </CompareIterator> |
4986 | - </WhereIterator> |
4987 | - <ForVarIterator varname="$$context-item"/> |
4988 | - </TupleStreamIterator> |
4989 | - </ChildAxisIterator> |
4990 | - </LetVariable> |
4991 | - <LetVariable name="$$opt_temp_4" materialize="true"> |
4992 | - <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4993 | - <FLWORIterator> |
4994 | - <ForVariable name="$$opt_temp_2"> |
4995 | - <LetVarIterator varname="y"/> |
4996 | - </ForVariable> |
4997 | - <ReturnClause> |
4998 | - <GeneralIndexEntryBuilderIterator> |
4999 | - <ForVarIterator varname="$$opt_temp_2"/> |
5000 | - <FnDataIterator> |
Validation queue starting for the following merge proposals: /code.launchpad .net/~paul- lucas/zorba/ pjl-misc/ +merge/ 207355
https:/
Progress dashboard at http:// jenkins. zorba.io: 8180/view/ ValidationQueue