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 | 114 | HELP_OPT( "--debug-file" ) | 114 | HELP_OPT( "--debug-file" ) |
6 | 115 | "Sets the file to write developer debugging information to.\n\n" | 115 | "Sets the file to write developer debugging information to.\n\n" |
7 | 116 | 116 | ||
8 | 117 | HELP_OPT( "--debug-stream <stream>" ) | ||
9 | 118 | "Sets the stream to write developer debugging information to.\n\n" | ||
10 | 119 | |||
11 | 117 | #ifdef ZORBA_WITH_DEBUGGER | 120 | #ifdef ZORBA_WITH_DEBUGGER |
12 | 118 | HELP_OPT( "--debug-host, -h" ) | 121 | HELP_OPT( "--debug-host, -h" ) |
13 | 119 | "The host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n" | 122 | "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 | 160 | HELP_OPT( "--inline-udf" ) | 163 | HELP_OPT( "--inline-udf" ) |
16 | 161 | "Inline user-defined functions.\n\n" | 164 | "Inline user-defined functions.\n\n" |
17 | 162 | 165 | ||
20 | 163 | HELP_OPT( "--iterator-tree <type>" ) | 166 | HELP_OPT( "--iterator-tree <format>" ) |
21 | 164 | "Print the iterator tree in in one of DOT, JSON, or XML\n\n" | 167 | "Print the iterator tree in in one of DOT, JSON, or XML formats.\n\n" |
22 | 165 | 168 | ||
23 | 166 | ////////// j ////////////////////////////////////////////////////////////// | 169 | ////////// j ////////////////////////////////////////////////////////////// |
24 | 167 | 170 | ||
25 | @@ -466,6 +469,19 @@ | |||
26 | 466 | PARSE_ARG( "--debug-file" ); | 469 | PARSE_ARG( "--debug-file" ); |
27 | 467 | z_props.setDebugFile( ARG_VAL ); | 470 | z_props.setDebugFile( ARG_VAL ); |
28 | 468 | } | 471 | } |
29 | 472 | else if ( IS_LONG_OPT( "--debug-stream" ) ) { | ||
30 | 473 | PARSE_ARG( "--debug-stream" ); | ||
31 | 474 | string val( ARG_VAL ); | ||
32 | 475 | to_lower( val ); | ||
33 | 476 | if ( val == "1" || val == "stdout" || val == "cout" ) | ||
34 | 477 | z_props.setDebugStream( cout ); | ||
35 | 478 | else if ( val == "2" || val == "stderr" || val == "cerr" ) | ||
36 | 479 | z_props.setDebugStream( cerr ); | ||
37 | 480 | else { | ||
38 | 481 | error = "--debug-stream argument must be one of: 1, stdout, cout, 2, stderr, or cerr.\n"; | ||
39 | 482 | break; | ||
40 | 483 | } | ||
41 | 484 | } | ||
42 | 469 | #ifdef ZORBA_WITH_DEBUGGER | 485 | #ifdef ZORBA_WITH_DEBUGGER |
43 | 470 | else if ( IS_OPT( "--debug-host", "-h" ) ) { | 486 | else if ( IS_OPT( "--debug-host", "-h" ) ) { |
44 | 471 | PARSE_ARG( "--debug-host" ); | 487 | PARSE_ARG( "--debug-host" ); |
45 | 472 | 488 | ||
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 | 27 | 27 | ||
51 | 28 | #include "diagnostics/assert.h" | 28 | #include "diagnostics/assert.h" |
52 | 29 | #include "util/hashmap32.h" | 29 | #include "util/hashmap32.h" |
53 | 30 | #include "util/indent.h" | ||
54 | 30 | #include "util/stl_util.h" | 31 | #include "util/stl_util.h" |
55 | 31 | #include "util/tracer.h" | 32 | #include "util/tracer.h" |
56 | 32 | 33 | ||
57 | @@ -3812,23 +3813,21 @@ | |||
58 | 3812 | Zorba_plan_format_t const format = Properties::instance().getPlanFormat(); | 3813 | Zorba_plan_format_t const format = Properties::instance().getPlanFormat(); |
59 | 3813 | if ( result && descr && format ) { | 3814 | if ( result && descr && format ) { |
60 | 3814 | std::ostream &os = Properties::instance().getDebugStream(); | 3815 | std::ostream &os = Properties::instance().getDebugStream(); |
61 | 3815 | os << "Iterator tree for " << descr << ":\n"; | ||
62 | 3816 | unique_ptr<IterPrinter> printer; | 3816 | unique_ptr<IterPrinter> printer; |
63 | 3817 | switch ( format ) { | 3817 | switch ( format ) { |
64 | 3818 | case PLAN_FORMAT_NONE: | ||
65 | 3819 | return result; | ||
66 | 3820 | case PLAN_FORMAT_DOT: | 3818 | case PLAN_FORMAT_DOT: |
68 | 3821 | printer.reset( new DOTIterPrinter( os ) ); | 3819 | printer.reset( new DOTIterPrinter( os, descr ) ); |
69 | 3822 | break; | 3820 | break; |
70 | 3823 | case PLAN_FORMAT_JSON: | 3821 | case PLAN_FORMAT_JSON: |
72 | 3824 | printer.reset( new JSONIterPrinter( os ) ); | 3822 | printer.reset( new JSONIterPrinter( os, descr ) ); |
73 | 3825 | break; | 3823 | break; |
74 | 3826 | case PLAN_FORMAT_XML: | 3824 | case PLAN_FORMAT_XML: |
78 | 3827 | printer.reset( new XMLIterPrinter( os ) ); | 3825 | printer.reset( new XMLIterPrinter( os, descr ) ); |
79 | 3828 | break; | 3826 | break; |
80 | 3829 | } | 3827 | default: // to silence warning |
81 | 3828 | break; | ||
82 | 3829 | } // switch | ||
83 | 3830 | print_iter_plan( *printer, result ); | 3830 | print_iter_plan( *printer, result ); |
84 | 3831 | os << std::endl; | ||
85 | 3832 | } | 3831 | } |
86 | 3833 | 3832 | ||
87 | 3834 | return result; | 3833 | return result; |
88 | 3835 | 3834 | ||
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 | 22 | // Zorba | 22 | // Zorba |
94 | 23 | #include "runtime/visitors/iterprinter.h" | 23 | #include "runtime/visitors/iterprinter.h" |
95 | 24 | #include "util/ascii_util.h" | 24 | #include "util/ascii_util.h" |
96 | 25 | #include "util/indent.h" | ||
97 | 25 | #include "util/xml_util.h" | 26 | #include "util/xml_util.h" |
98 | 26 | 27 | ||
99 | 27 | using namespace std; | 28 | using namespace std; |
100 | @@ -30,49 +31,65 @@ | |||
101 | 30 | 31 | ||
102 | 31 | /////////////////////////////////////////////////////////////////////////////// | 32 | /////////////////////////////////////////////////////////////////////////////// |
103 | 32 | 33 | ||
108 | 33 | XMLIterPrinter::XMLIterPrinter(ostream& aOStream) : | 34 | IterPrinter::IterPrinter( ostream &os, char const *descr ) : |
109 | 34 | IterPrinter(aOStream), | 35 | os_( os ), descr_( descr ) |
110 | 35 | theOpenStart(false) | 36 | { |
111 | 36 | { | 37 | } |
112 | 38 | |||
113 | 39 | IterPrinter::~IterPrinter() { | ||
114 | 40 | // out-of-line since it's virtual | ||
115 | 41 | } | ||
116 | 42 | |||
117 | 43 | /////////////////////////////////////////////////////////////////////////////// | ||
118 | 44 | |||
119 | 45 | XMLIterPrinter::XMLIterPrinter( ostream &os, char const *descr ) : | ||
120 | 46 | IterPrinter( os, descr ), | ||
121 | 47 | theOpenStart( false ) | ||
122 | 48 | { | ||
123 | 49 | } | ||
124 | 50 | |||
125 | 51 | XMLIterPrinter::~XMLIterPrinter() { | ||
126 | 52 | // out-of-line since it's virtual | ||
127 | 37 | } | 53 | } |
128 | 38 | 54 | ||
129 | 39 | void XMLIterPrinter::start() { | 55 | void XMLIterPrinter::start() { |
130 | 56 | os_ << indent << "<iterator-tree"; | ||
131 | 57 | if ( !descr_.empty() ) | ||
132 | 58 | os_ << " description=\"" << descr_ << '"'; | ||
133 | 59 | os_ << ">\n" << inc_indent; | ||
134 | 40 | } | 60 | } |
135 | 41 | 61 | ||
136 | 42 | void XMLIterPrinter::stop() { | 62 | void XMLIterPrinter::stop() { |
137 | 63 | os_ << dec_indent << indent << "</iterator-tree>\n"; | ||
138 | 43 | } | 64 | } |
139 | 44 | 65 | ||
146 | 45 | void XMLIterPrinter::startBeginVisit(const string& aName, int) { | 66 | void XMLIterPrinter::startBeginVisit( string const &name, int ) { |
147 | 46 | if (theOpenStart) | 67 | if ( theOpenStart ) |
148 | 47 | theOStream << ">\n"; | 68 | os_ << ">\n"; |
149 | 48 | printSpaces(2 * theNameStack.size()); | 69 | os_ << indent << '<' << name << inc_indent; |
150 | 49 | theOStream << '<' << aName; | 70 | theNameStack.push( name ); |
145 | 50 | theNameStack.push(aName); | ||
151 | 51 | theOpenStart = true; | 71 | theOpenStart = true; |
152 | 52 | } | 72 | } |
153 | 53 | 73 | ||
165 | 54 | void XMLIterPrinter::endBeginVisit(int) { | 74 | void XMLIterPrinter::endBeginVisit( int ) { |
166 | 55 | } | 75 | } |
167 | 56 | 76 | ||
168 | 57 | void XMLIterPrinter::addAttribute(const string& aName, const string& aValue) { | 77 | void XMLIterPrinter::addAttribute( string const &name, string const &value) { |
169 | 58 | assert(theOpenStart); | 78 | assert( theOpenStart ); |
170 | 59 | theOStream << ' ' << aName << "=\"" << aValue << "\""; | 79 | os_ << ' ' << name << "=\"" << value << "\""; |
171 | 60 | } | 80 | } |
172 | 61 | 81 | ||
173 | 62 | void XMLIterPrinter::addAttribute(const string& aName, xs_long aValue) { | 82 | void XMLIterPrinter::addAttribute( string const &name, xs_long value) { |
174 | 63 | assert(theOpenStart); | 83 | assert( theOpenStart ); |
175 | 64 | theOStream << ' ' << aName << "=\"" << aValue << "\""; | 84 | os_ << ' ' << name << "=\"" << value << "\""; |
176 | 65 | } | 85 | } |
177 | 66 | 86 | ||
178 | 67 | void XMLIterPrinter::startEndVisit() { | 87 | void XMLIterPrinter::startEndVisit() { |
182 | 68 | assert(!theNameStack.empty()); | 88 | assert( !theNameStack.empty() ); |
183 | 69 | if (theOpenStart) | 89 | if ( theOpenStart ) |
184 | 70 | theOStream << "/>" << endl; | 90 | os_ << "/>\n" << dec_indent; |
185 | 71 | else | 91 | else |
190 | 72 | { | 92 | os_ << dec_indent << indent << "</" << theNameStack.top() << ">\n"; |
187 | 73 | printSpaces(2 * (theNameStack.size() - 1)); | ||
188 | 74 | theOStream << "</" << theNameStack.top() << '>' << endl; | ||
189 | 75 | } | ||
191 | 76 | theNameStack.pop(); | 93 | theNameStack.pop(); |
192 | 77 | theOpenStart = false; | 94 | theOpenStart = false; |
193 | 78 | } | 95 | } |
194 | @@ -82,48 +99,44 @@ | |||
195 | 82 | 99 | ||
196 | 83 | /////////////////////////////////////////////////////////////////////////////// | 100 | /////////////////////////////////////////////////////////////////////////////// |
197 | 84 | 101 | ||
201 | 85 | DOTIterPrinter::DOTIterPrinter(ostream& aOStream) : | 102 | DOTIterPrinter::DOTIterPrinter( ostream &os, char const *descr ) : |
202 | 86 | IterPrinter(aOStream), | 103 | IterPrinter( os, descr ) |
200 | 87 | theIndent(0) | ||
203 | 88 | { | 104 | { |
204 | 89 | } | 105 | } |
205 | 90 | 106 | ||
206 | 107 | DOTIterPrinter::~DOTIterPrinter() { | ||
207 | 108 | // out-of-line since it's virtual | ||
208 | 109 | } | ||
209 | 110 | |||
210 | 91 | void DOTIterPrinter::start() { | 111 | void DOTIterPrinter::start() { |
213 | 92 | theOStream << "digraph {" << endl; | 112 | os_ << indent << "digraph {\n" << inc_indent |
214 | 93 | theOStream << "node [ color=gray, fontname=\"Arial\" ]" << endl; | 113 | << indent << "node [ color=gray, fontname=\"Arial\" ]\n"; |
215 | 94 | } | 114 | } |
216 | 95 | 115 | ||
217 | 96 | void DOTIterPrinter::stop() { | 116 | void DOTIterPrinter::stop() { |
248 | 97 | theOStream << '}' << endl; | 117 | os_ << dec_indent << indent << "}\n"; |
249 | 98 | } | 118 | } |
250 | 99 | 119 | ||
251 | 100 | void DOTIterPrinter::startBeginVisit(const string& aName, int aAddr) { | 120 | void DOTIterPrinter::startBeginVisit( string const &name, int addr ) { |
252 | 101 | printSpaces(theIndent); | 121 | os_ << indent << addr << " [ label=\"" << name; |
253 | 102 | theOStream << aAddr << " [ label=\"" << aName; | 122 | } |
254 | 103 | ++theIndent; | 123 | |
255 | 104 | } | 124 | void DOTIterPrinter::endBeginVisit( int addr ) { |
256 | 105 | 125 | os_ << "\" ];\n"; | |
257 | 106 | void DOTIterPrinter::endBeginVisit(int aAddr) { | 126 | if ( !theNameStack.empty() && theNameStack.top() != addr ) |
258 | 107 | --theIndent; | 127 | os_ << indent << theNameStack.top() << " -> " << addr << '\n'; |
259 | 108 | printSpaces(theIndent); | 128 | theNameStack.push( addr ); |
260 | 109 | theOStream << "\"];" << endl; | 129 | } |
261 | 110 | printSpaces(theIndent); | 130 | |
262 | 111 | if (!theNameStack.empty() && theNameStack.top() != aAddr) | 131 | void DOTIterPrinter::addAttribute( string const &name, string const &value) { |
263 | 112 | theOStream << theNameStack.top() << "->" << aAddr << endl; | 132 | string temp( value ); |
264 | 113 | theNameStack.push(aAddr); | 133 | ascii::replace_all( temp, "\"", "\\\"" ); |
265 | 114 | } | 134 | ascii::replace_all( temp, "\n", " \\n " ); |
266 | 115 | 135 | os_ << "\\n" << name << '=' << temp; | |
267 | 116 | void DOTIterPrinter::addAttribute(const string& aName, const string& aValue) { | 136 | } |
268 | 117 | printSpaces(theIndent); | 137 | |
269 | 118 | string mvalue( aValue ); | 138 | void DOTIterPrinter::addAttribute( string const &name, xs_long value) { |
270 | 119 | ascii::replace_all(mvalue, "\"", "\\\""); | 139 | os_ << indent << "\\n" << name << '=' << value; |
241 | 120 | ascii::replace_all(mvalue, "\n", " \\n "); | ||
242 | 121 | theOStream << "\\n" << aName << '=' << mvalue; | ||
243 | 122 | } | ||
244 | 123 | |||
245 | 124 | void DOTIterPrinter::addAttribute(const string& aName, xs_long aValue) { | ||
246 | 125 | printSpaces(theIndent); | ||
247 | 126 | theOStream << "\\n" << aName << '=' << aValue; | ||
271 | 127 | } | 140 | } |
272 | 128 | 141 | ||
273 | 129 | void DOTIterPrinter::startEndVisit() { | 142 | void DOTIterPrinter::startEndVisit() { |
274 | @@ -135,68 +148,54 @@ | |||
275 | 135 | 148 | ||
276 | 136 | /////////////////////////////////////////////////////////////////////////////// | 149 | /////////////////////////////////////////////////////////////////////////////// |
277 | 137 | 150 | ||
280 | 138 | JSONIterPrinter::JSONIterPrinter(ostream& aOStream) : | 151 | JSONIterPrinter::JSONIterPrinter( ostream &os, char const *descr ) : |
281 | 139 | IterPrinter(aOStream), theIndent(0) | 152 | IterPrinter( os, descr ) |
282 | 140 | { | 153 | { |
283 | 141 | } | 154 | } |
284 | 142 | 155 | ||
285 | 156 | JSONIterPrinter::~JSONIterPrinter() { | ||
286 | 157 | // out-of-line since it's virtual | ||
287 | 158 | } | ||
288 | 159 | |||
289 | 143 | void JSONIterPrinter::start() { | 160 | void JSONIterPrinter::start() { |
290 | 161 | os_ << indent << "{\n" << inc_indent; | ||
291 | 162 | if ( !descr_.empty() ) | ||
292 | 163 | os_ << indent << "\"description\": \"" << descr_ << "\",\n"; | ||
293 | 164 | os_ << indent << "\"iterator-tree\":\n" << inc_indent; | ||
294 | 144 | } | 165 | } |
295 | 145 | 166 | ||
296 | 146 | void JSONIterPrinter::stop() { | 167 | void JSONIterPrinter::stop() { |
298 | 147 | theOStream << endl; | 168 | os_ << '\n' << dec_indent << dec_indent << indent << "}\n"; |
299 | 148 | } | 169 | } |
300 | 149 | 170 | ||
310 | 150 | void JSONIterPrinter::startBeginVisit(const string& aName, int) { | 171 | void JSONIterPrinter::startBeginVisit( string const &name, int ) { |
311 | 151 | if (!theListStack.empty()) | 172 | if ( !theListStack.empty() ) |
312 | 152 | theOStream << ',' << endl; | 173 | os_ << ",\n"; |
313 | 153 | 174 | if ( !theListStack.empty() && !theListStack.top() ) { | |
314 | 154 | if (!theListStack.empty() && !theListStack.top()) { | 175 | os_ << indent << "\"iterators\": [\n" << inc_indent; |
306 | 155 | printSpaces(2 * theIndent); | ||
307 | 156 | theOStream << "\"iterators\":" << endl; | ||
308 | 157 | printSpaces(2 * theIndent); | ||
309 | 158 | theOStream << '['; | ||
315 | 159 | theListStack.pop(); | 176 | theListStack.pop(); |
319 | 160 | theListStack.push(true); | 177 | theListStack.push( true ); |
317 | 161 | theIndent++; | ||
318 | 162 | theOStream << endl; | ||
320 | 163 | } | 178 | } |
343 | 164 | 179 | os_ << indent << "{\n" << inc_indent | |
344 | 165 | printSpaces(2 * theIndent); | 180 | << indent << "\"kind\": \"" << name << "\""; |
345 | 166 | theOStream << "{" << endl; | 181 | theListStack.push( false ); |
346 | 167 | printSpaces(2 * (1+theIndent)); | 182 | } |
347 | 168 | theOStream << "\"kind\": \"" << aName << "\""; | 183 | |
348 | 169 | theIndent++; | 184 | void JSONIterPrinter::endBeginVisit( int ) { |
349 | 170 | theListStack.push(false); | 185 | } |
350 | 171 | } | 186 | |
351 | 172 | 187 | void JSONIterPrinter::addAttribute( string const &name, string const &value ) { | |
352 | 173 | void JSONIterPrinter::endBeginVisit(int) { | 188 | os_ << ",\n" << indent << "\"" << name << "\": \"" << value << "\""; |
353 | 174 | } | 189 | } |
354 | 175 | 190 | ||
355 | 176 | void JSONIterPrinter::addAttribute(const string& aName, const string& aValue) { | 191 | void JSONIterPrinter::addAttribute( string const &name, xs_long value ) { |
356 | 177 | theOStream << ',' << endl; | 192 | os_ << ",\n" << indent << "\"" << name << "\": " << value; |
335 | 178 | printSpaces(2 * theIndent); | ||
336 | 179 | theOStream << "\"" << aName << "\": \"" << aValue << "\""; | ||
337 | 180 | } | ||
338 | 181 | |||
339 | 182 | void JSONIterPrinter::addAttribute(const string& aName, xs_long aValue) { | ||
340 | 183 | theOStream << ',' << endl; | ||
341 | 184 | printSpaces(2 * theIndent); | ||
342 | 185 | theOStream << "\"" << aName << "\": " << aValue; | ||
357 | 186 | } | 193 | } |
358 | 187 | 194 | ||
359 | 188 | void JSONIterPrinter::startEndVisit() { | 195 | void JSONIterPrinter::startEndVisit() { |
371 | 189 | if (theListStack.top()) { | 196 | if ( theListStack.top() ) |
372 | 190 | theOStream << endl; | 197 | os_ << '\n' << dec_indent << indent << ']'; |
373 | 191 | printSpaces(2 * (theIndent - 1)); | 198 | os_ << '\n' << dec_indent << indent << '}'; |
363 | 192 | theOStream << ']'; | ||
364 | 193 | theIndent--; | ||
365 | 194 | } | ||
366 | 195 | |||
367 | 196 | theOStream << endl; | ||
368 | 197 | printSpaces(2 * (theIndent - 1)); | ||
369 | 198 | theOStream << '}'; | ||
370 | 199 | theIndent--; | ||
374 | 200 | theListStack.pop(); | 199 | theListStack.pop(); |
375 | 201 | } | 200 | } |
376 | 202 | 201 | ||
377 | 203 | 202 | ||
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 | 17 | #ifndef ZORBA_VISITORPRINTER_H | 17 | #ifndef ZORBA_VISITORPRINTER_H |
383 | 18 | #define ZORBA_VISITORPRINTER_H | 18 | #define ZORBA_VISITORPRINTER_H |
384 | 19 | 19 | ||
386 | 20 | #include <string> | 20 | // standard |
387 | 21 | #include <ostream> | 21 | #include <ostream> |
388 | 22 | #include <stack> | 22 | #include <stack> |
389 | 23 | #include <string> | ||
390 | 23 | 24 | ||
391 | 25 | // Zorba | ||
392 | 24 | #include "common/common.h" | 26 | #include "common/common.h" |
393 | 25 | #include "zorbatypes/schema_types.h" | 27 | #include "zorbatypes/schema_types.h" |
394 | 26 | 28 | ||
395 | 27 | |||
396 | 28 | namespace yy | ||
397 | 29 | { | ||
398 | 30 | class location; | ||
399 | 31 | } | ||
400 | 32 | |||
401 | 33 | namespace zorba { | 29 | namespace zorba { |
402 | 34 | 30 | ||
408 | 35 | /** | 31 | /////////////////////////////////////////////////////////////////////////////// |
409 | 36 | * Interface to print the PlanIterators. | 32 | |
410 | 37 | */ | 33 | class IterPrinter { |
406 | 38 | class IterPrinter | ||
407 | 39 | { | ||
411 | 40 | public: | 34 | public: |
415 | 41 | IterPrinter(std::ostream& aOStream) : theOStream(aOStream) {} | 35 | IterPrinter( std::ostream &os, char const *descr = "" ); |
416 | 42 | 36 | virtual ~IterPrinter(); | |
414 | 43 | virtual ~IterPrinter() {} | ||
417 | 44 | 37 | ||
418 | 45 | virtual void start() = 0; | 38 | virtual void start() = 0; |
419 | 46 | virtual void stop() = 0; | 39 | virtual void stop() = 0; |
420 | 47 | 40 | ||
427 | 48 | virtual void startBeginVisit(const std::string& aName, int aAddr) = 0; | 41 | virtual void startBeginVisit( std::string const &name, int addr ) = 0; |
428 | 49 | virtual void endBeginVisit(int aAddr) = 0; | 42 | virtual void endBeginVisit( int addr ) = 0; |
429 | 50 | 43 | ||
430 | 51 | virtual void addAttribute(const std::string& aName, const std::string& aValue) = 0; | 44 | virtual void addAttribute( std::string const &name, std::string const &value ) = 0; |
431 | 52 | 45 | ||
432 | 53 | virtual void addAttribute(const std::string& aName, xs_long aValue) = 0; | 46 | virtual void addAttribute( std::string const &name, xs_long value ) = 0; |
433 | 54 | 47 | ||
434 | 55 | virtual void startEndVisit() = 0; | 48 | virtual void startEndVisit() = 0; |
435 | 56 | |||
436 | 57 | virtual void endEndVisit() = 0; | 49 | virtual void endEndVisit() = 0; |
437 | 58 | 50 | ||
438 | 59 | protected: | 51 | protected: |
449 | 60 | std::ostream& theOStream; | 52 | zstring descr_; |
450 | 61 | void printSpaces(size_t aNr) { theOStream << std::string(aNr, ' '); } | 53 | std::ostream &os_; |
451 | 62 | }; /* class VisitorPrinter */ | 54 | }; |
452 | 63 | 55 | ||
453 | 64 | 56 | /////////////////////////////////////////////////////////////////////////////// | |
454 | 65 | /** | 57 | |
455 | 66 | * Implementation of IterPrinter to print a PlanIterator tree in XML format | 58 | class XMLIterPrinter : public IterPrinter { |
456 | 67 | */ | 59 | public: |
457 | 68 | class XMLIterPrinter : public IterPrinter | 60 | XMLIterPrinter( std::ostream&, char const* = "" ); |
458 | 69 | { | 61 | ~XMLIterPrinter(); |
459 | 62 | |||
460 | 63 | void start(); | ||
461 | 64 | void stop(); | ||
462 | 65 | |||
463 | 66 | void startBeginVisit( std::string const &name, int addr ); | ||
464 | 67 | void endBeginVisit( int addr ); | ||
465 | 68 | |||
466 | 69 | void addAttribute( std::string const &name, std::string const &value ); | ||
467 | 70 | void addAttribute( std::string const &name, xs_long value ); | ||
468 | 71 | |||
469 | 72 | void startEndVisit(); | ||
470 | 73 | void endEndVisit(); | ||
471 | 74 | |||
472 | 70 | private: | 75 | private: |
473 | 76 | std::stack<std::string> theNameStack; | ||
474 | 71 | bool theOpenStart; | 77 | bool theOpenStart; |
476 | 72 | std::stack<std::string> theNameStack; | 78 | }; |
477 | 79 | |||
478 | 80 | /////////////////////////////////////////////////////////////////////////////// | ||
479 | 81 | |||
480 | 82 | class DOTIterPrinter : public IterPrinter { | ||
481 | 83 | public: | ||
482 | 84 | DOTIterPrinter( std::ostream&, char const* = "" ); | ||
483 | 85 | ~DOTIterPrinter(); | ||
484 | 73 | 86 | ||
513 | 74 | public: | 87 | void start(); |
514 | 75 | XMLIterPrinter(std::ostream& aOStream); | 88 | void stop(); |
515 | 76 | 89 | ||
516 | 77 | virtual ~XMLIterPrinter(){} | 90 | void startBeginVisit( std::string const &name, int addr ); |
517 | 78 | 91 | void endBeginVisit( int addr ); | |
518 | 79 | virtual void start(); | 92 | |
519 | 80 | 93 | void addAttribute( std::string const &name, std::string const &value ); | |
520 | 81 | virtual void stop(); | 94 | void addAttribute( std::string const &name, xs_long value ); |
521 | 82 | 95 | ||
522 | 83 | virtual void startBeginVisit(const std::string& aName, int aAddr); | 96 | void startEndVisit(); |
523 | 84 | 97 | void endEndVisit(); | |
524 | 85 | virtual void endBeginVisit(int aAddr); | 98 | |
497 | 86 | |||
498 | 87 | virtual void addAttribute(const std::string& aName, const std::string& aValue); | ||
499 | 88 | |||
500 | 89 | virtual void addAttribute(const std::string& aName, xs_long aValue); | ||
501 | 90 | |||
502 | 91 | virtual void startEndVisit(); | ||
503 | 92 | |||
504 | 93 | virtual void endEndVisit(); | ||
505 | 94 | }; /* class XMLVisitorPrinter */ | ||
506 | 95 | |||
507 | 96 | |||
508 | 97 | /** | ||
509 | 98 | * Implementation of IterPrinter to print a PlanIterator tree in DOT format | ||
510 | 99 | */ | ||
511 | 100 | class DOTIterPrinter : public IterPrinter | ||
512 | 101 | { | ||
525 | 102 | private: | 99 | private: |
526 | 103 | std::stack<int> theNameStack; | 100 | std::stack<int> theNameStack; |
529 | 104 | uint32_t theIndent; | 101 | }; |
530 | 105 | 102 | ||
531 | 103 | /////////////////////////////////////////////////////////////////////////////// | ||
532 | 104 | |||
533 | 105 | class JSONIterPrinter : public IterPrinter { | ||
534 | 106 | public: | 106 | public: |
562 | 107 | DOTIterPrinter(std::ostream& aOStream); | 107 | JSONIterPrinter( std::ostream&, char const* = "" ); |
563 | 108 | 108 | ~JSONIterPrinter(); | |
564 | 109 | virtual ~DOTIterPrinter(){} | 109 | |
565 | 110 | 110 | void start(); | |
566 | 111 | virtual void start(); | 111 | void stop(); |
567 | 112 | 112 | ||
568 | 113 | virtual void stop(); | 113 | void startBeginVisit( std::string const &name, int addr ); |
569 | 114 | 114 | void endBeginVisit( int addr ); | |
570 | 115 | virtual void startBeginVisit(const std::string& aName, int aAddr); | 115 | |
571 | 116 | 116 | void addAttribute( std::string const &name, std::string const &value ); | |
572 | 117 | virtual void endBeginVisit(int aAddr); | 117 | void addAttribute( std::string const &name, xs_long value ); |
573 | 118 | 118 | ||
574 | 119 | virtual void addAttribute(const std::string& aName, const std::string& aValue); | 119 | void startEndVisit(); |
575 | 120 | 120 | void endEndVisit(); | |
576 | 121 | virtual void addAttribute(const std::string& aName, xs_long aValue); | 121 | |
550 | 122 | |||
551 | 123 | virtual void startEndVisit(); | ||
552 | 124 | |||
553 | 125 | virtual void endEndVisit(); | ||
554 | 126 | |||
555 | 127 | }; /* class DOTVisitorPrinter */ | ||
556 | 128 | |||
557 | 129 | /** | ||
558 | 130 | * Implementation of IterPrinter to print a PlanIterator tree in JSON format | ||
559 | 131 | */ | ||
560 | 132 | class JSONIterPrinter : public IterPrinter | ||
561 | 133 | { | ||
577 | 134 | private: | 122 | private: |
578 | 135 | uint32_t theIndent; | ||
579 | 136 | std::stack<bool> theListStack; | 123 | std::stack<bool> theListStack; |
609 | 137 | 124 | }; | |
610 | 138 | public: | 125 | |
611 | 139 | JSONIterPrinter(std::ostream& aOStream); | 126 | /////////////////////////////////////////////////////////////////////////////// |
612 | 140 | 127 | ||
613 | 141 | virtual ~JSONIterPrinter(){} | 128 | } // namespace zorba |
614 | 142 | 129 | ||
615 | 143 | virtual void start(); | 130 | #endif /* ZORBA_VISITORPRINTER_H */ |
587 | 144 | |||
588 | 145 | virtual void stop(); | ||
589 | 146 | |||
590 | 147 | virtual void startBeginVisit(const std::string& aName, int aAddr); | ||
591 | 148 | |||
592 | 149 | virtual void endBeginVisit(int aAddr); | ||
593 | 150 | |||
594 | 151 | virtual void addAttribute(const std::string& aName, const std::string& aValue); | ||
595 | 152 | |||
596 | 153 | virtual void addAttribute(const std::string& aName, xs_long aValue); | ||
597 | 154 | |||
598 | 155 | virtual void startEndVisit(); | ||
599 | 156 | |||
600 | 157 | virtual void endEndVisit(); | ||
601 | 158 | }; /* class JSONVisitorPrinter */ | ||
602 | 159 | |||
603 | 160 | |||
604 | 161 | |||
605 | 162 | } /* namespace zorba */ | ||
606 | 163 | |||
607 | 164 | #endif | ||
608 | 165 | |||
616 | 166 | /* | 131 | /* |
617 | 167 | * Local variables: | 132 | * Local variables: |
618 | 168 | * mode: c++ | 133 | * mode: c++ |
619 | 169 | 134 | ||
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 | 16 | #include "stdafx.h" | 16 | #include "stdafx.h" |
625 | 17 | 17 | ||
626 | 18 | #include "runtime/visitors/printer_visitor_api.h" | 18 | #include "runtime/visitors/printer_visitor_api.h" |
627 | 19 | |||
628 | 20 | #include "runtime/visitors/printer_visitor.h" | 19 | #include "runtime/visitors/printer_visitor.h" |
629 | 21 | 20 | ||
636 | 22 | namespace zorba | 21 | namespace zorba { |
637 | 23 | { | 22 | |
638 | 24 | 23 | /////////////////////////////////////////////////////////////////////////////// | |
639 | 25 | void print_iter_plan(IterPrinter& aPrinter, PlanIterator* aIter) | 24 | |
640 | 26 | { | 25 | void print_iter_plan( IterPrinter &p, PlanIterator *pi ) { |
641 | 27 | PrinterVisitor v(aPrinter, aIter); | 26 | PrinterVisitor v( p, pi ); |
642 | 28 | v.print(); | 27 | v.print(); |
643 | 29 | } | 28 | } |
644 | 30 | 29 | ||
645 | 30 | /////////////////////////////////////////////////////////////////////////////// | ||
646 | 31 | 31 | ||
648 | 32 | } /* namespace zorba */ | 32 | } // namespace zorba |
649 | 33 | 33 | ||
650 | 34 | /* vim:set et sw=2 ts=2: */ | 34 | /* vim:set et sw=2 ts=2: */ |
651 | 35 | 35 | ||
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 | 74 | 74 | ||
657 | 75 | void PrinterVisitor::print() { | 75 | void PrinterVisitor::print() { |
658 | 76 | thePrinter.start(); | 76 | thePrinter.start(); |
660 | 77 | theIterator->accept(*this); | 77 | theIterator->accept( *this ); |
661 | 78 | thePrinter.stop(); | 78 | thePrinter.stop(); |
662 | 79 | } | 79 | } |
663 | 80 | 80 | ||
664 | 81 | 81 | ||
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 | 53 | 53 | ||
670 | 54 | ////////// d ////////////////////////////////////////////////////////////// | 54 | ////////// d ////////////////////////////////////////////////////////////// |
671 | 55 | 55 | ||
672 | 56 | #ifdef ZORBA_WITH_DEBUGGER | ||
673 | 56 | HELP_OPT( "--debug, -d" ) | 57 | HELP_OPT( "--debug, -d" ) |
674 | 57 | "Launch the Zorba debugger server and connect to a DBGP-enabled debugger client.\n\n" | 58 | "Launch the Zorba debugger server and connect to a DBGP-enabled debugger client.\n\n" |
676 | 58 | 59 | #endif /* ZORBA_WITH_DEBUGGER */ | |
677 | 60 | |||
678 | 61 | HELP_OPT( "--debug-file" ) | ||
679 | 62 | "Sets the file to write developer debugging information to.\n\n" | ||
680 | 63 | |||
681 | 64 | HELP_OPT( "--debug-stream <stream>" ) | ||
682 | 65 | "Sets the stream to write developer debugging information to.\n\n" | ||
683 | 66 | |||
684 | 67 | #ifdef ZORBA_WITH_DEBUGGER | ||
685 | 59 | HELP_OPT( "--debug-host, -h" ) | 68 | HELP_OPT( "--debug-host, -h" ) |
686 | 60 | "The host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n" | 69 | "The host where the DBGP-enabled debugger client listens for connections. Defaults to: 127.0.0.1\n\n" |
687 | 61 | 70 | ||
688 | 62 | HELP_OPT( "--debug-port, -p" ) | 71 | HELP_OPT( "--debug-port, -p" ) |
689 | 63 | "The port on which the DBGP-enabled debugger client listens for connections. Defaults to: 28028\n\n" | 72 | "The port on which the DBGP-enabled debugger client listens for connections. Defaults to: 28028\n\n" |
690 | 73 | #endif /* ZORBA_WITH_DEBUGGER */ | ||
691 | 64 | 74 | ||
692 | 65 | ////////// e ////////////////////////////////////////////////////////////// | 75 | ////////// e ////////////////////////////////////////////////////////////// |
693 | 66 | 76 | ||
694 | @@ -301,6 +311,25 @@ | |||
695 | 301 | PARSE_ARG( "--debug-host" ); | 311 | PARSE_ARG( "--debug-host" ); |
696 | 302 | at_props.debug_host_ = ARG_VAL; | 312 | at_props.debug_host_ = ARG_VAL; |
697 | 303 | } | 313 | } |
698 | 314 | #endif /* ZORBA_WITH_DEBUGGER */ | ||
699 | 315 | else if ( IS_LONG_OPT( "--debug-file" ) ) { | ||
700 | 316 | PARSE_ARG( "--debug-file" ); | ||
701 | 317 | z_props.setDebugFile( ARG_VAL ); | ||
702 | 318 | } | ||
703 | 319 | else if ( IS_LONG_OPT( "--debug-stream" ) ) { | ||
704 | 320 | PARSE_ARG( "--debug-stream" ); | ||
705 | 321 | string val( ARG_VAL ); | ||
706 | 322 | to_lower( val ); | ||
707 | 323 | if ( val == "1" || val == "stdout" || val == "cout" ) | ||
708 | 324 | z_props.setDebugStream( cout ); | ||
709 | 325 | else if ( val == "2" || val == "stderr" || val == "cerr" ) | ||
710 | 326 | z_props.setDebugStream( cerr ); | ||
711 | 327 | else { | ||
712 | 328 | error = "--debug-stream argument must be one of: 1, stdout, cout, 2, stderr, or cerr.\n"; | ||
713 | 329 | break; | ||
714 | 330 | } | ||
715 | 331 | } | ||
716 | 332 | #ifdef ZORBA_WITH_DEBUGGER | ||
717 | 304 | else if ( IS_OPT( "--debug-port", "-p" ) ) { | 333 | else if ( IS_OPT( "--debug-port", "-p" ) ) { |
718 | 305 | PARSE_ARG( "--debug-port" ); | 334 | PARSE_ARG( "--debug-port" ); |
719 | 306 | SET_ATPROP( debug_port_ ); | 335 | SET_ATPROP( debug_port_ ); |
720 | 307 | 336 | ||
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 @@ | |||
726 | 1 | #!/bin/bash | 1 | #! /bin/bash |
727 | 2 | |||
728 | 3 | # uncomment for dry run | ||
729 | 4 | #ECHO=echo | ||
730 | 5 | |||
731 | 2 | BUILDDIR=$1 | 6 | BUILDDIR=$1 |
732 | 3 | test -e "$BUILDDIR" || { echo "Arguments: BUILD_DIR"; exit 1; } | 7 | test -e "$BUILDDIR" || { echo "Arguments: BUILD_DIR"; exit 1; } |
733 | 8 | |||
734 | 4 | D=$BUILDDIR/test/iterplans | 9 | D=$BUILDDIR/test/iterplans |
737 | 5 | for f in `cd $D; find . -name *.iter`; do | 10 | |
738 | 6 | cp $D/$f `dirname $0`/iterplans/$f | 11 | for src_file in `cd $D; find . -name *.spec` |
739 | 12 | do | ||
740 | 13 | dst_file=${src_file%.spec}.iter | ||
741 | 14 | $ECHO cp $D/$src_file $dst_file | ||
742 | 7 | done | 15 | done |
743 | 16 | |||
744 | 17 | # vim:set et sw=2 ts=2: | ||
745 | 8 | 18 | ||
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 @@ | |||
755 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
751 | 2 | <SequentialIterator> | ||
752 | 3 | <CtxVarDeclareIterator varid="4" varname="coll"> | ||
753 | 4 | <SingletonIterator value="xs:QName(,,collection)"/> | ||
754 | 5 | </CtxVarDeclareIterator> | ||
756 | 6 | <SequentialIterator> | 2 | <SequentialIterator> |
767 | 7 | <ApplyIterator> | 3 | <CtxVarDeclareIterator varid="4" varname="coll"> |
768 | 8 | <ZorbaCreateCollectionIterator> | 4 | <SingletonIterator value="xs:QName(,,collection)"/> |
769 | 9 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 5 | </CtxVarDeclareIterator> |
770 | 10 | </ZorbaCreateCollectionIterator> | 6 | <SequentialIterator> |
771 | 11 | </ApplyIterator> | 7 | <ApplyIterator> |
772 | 12 | <FnCountIterator> | 8 | <ZorbaCreateCollectionIterator> |
773 | 13 | <ZorbaCollectionIterator> | 9 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
774 | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 10 | </ZorbaCreateCollectionIterator> |
775 | 15 | </ZorbaCollectionIterator> | 11 | </ApplyIterator> |
776 | 16 | </FnCountIterator> | 12 | <FnCountIterator> |
777 | 13 | <ZorbaCollectionIterator> | ||
778 | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | ||
779 | 15 | </ZorbaCollectionIterator> | ||
780 | 16 | </FnCountIterator> | ||
781 | 17 | </SequentialIterator> | ||
782 | 17 | </SequentialIterator> | 18 | </SequentialIterator> |
785 | 18 | </SequentialIterator> | 19 | </iterator-tree> |
784 | 19 | |||
786 | 20 | 20 | ||
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 @@ | |||
814 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
792 | 2 | <SequentialIterator> | ||
793 | 3 | <CtxVarDeclareIterator varid="4" varname="ns:collection_1"> | ||
794 | 4 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_1)"/> | ||
795 | 5 | </CtxVarDeclareIterator> | ||
796 | 6 | <CtxVarDeclareIterator varid="5" varname="ns:collection_2"> | ||
797 | 7 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_2)"/> | ||
798 | 8 | </CtxVarDeclareIterator> | ||
799 | 9 | <CtxVarDeclareIterator varid="6" varname="ns:http"> | ||
800 | 10 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,http)"/> | ||
801 | 11 | </CtxVarDeclareIterator> | ||
802 | 12 | <CtxVarDeclareIterator varid="7" varname="ns:test1"> | ||
803 | 13 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> | ||
804 | 14 | </CtxVarDeclareIterator> | ||
805 | 15 | <CtxVarDeclareIterator varid="8" varname="ns:test2"> | ||
806 | 16 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test2)"/> | ||
807 | 17 | </CtxVarDeclareIterator> | ||
808 | 18 | <CtxVarDeclareIterator varid="9" varname="ns:test3"> | ||
809 | 19 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test3)"/> | ||
810 | 20 | </CtxVarDeclareIterator> | ||
811 | 21 | <CtxVarDeclareIterator varid="10" varname="coll"> | ||
812 | 22 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> | ||
813 | 23 | </CtxVarDeclareIterator> | ||
815 | 24 | <SequentialIterator> | 2 | <SequentialIterator> |
826 | 25 | <ApplyIterator> | 3 | <CtxVarDeclareIterator varid="4" varname="ns:collection_1"> |
827 | 26 | <ZorbaCreateCollectionIterator> | 4 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_1)"/> |
828 | 27 | <CtxVarIterator varid="10" varname="coll" varkind="global"/> | 5 | </CtxVarDeclareIterator> |
829 | 28 | </ZorbaCreateCollectionIterator> | 6 | <CtxVarDeclareIterator varid="5" varname="ns:collection_2"> |
830 | 29 | </ApplyIterator> | 7 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,collection_2)"/> |
831 | 30 | <FnCountIterator> | 8 | </CtxVarDeclareIterator> |
832 | 31 | <ZorbaCollectionIterator> | 9 | <CtxVarDeclareIterator varid="6" varname="ns:http"> |
833 | 32 | <CtxVarIterator varid="10" varname="coll" varkind="global"/> | 10 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,http)"/> |
834 | 33 | </ZorbaCollectionIterator> | 11 | </CtxVarDeclareIterator> |
835 | 34 | </FnCountIterator> | 12 | <CtxVarDeclareIterator varid="7" varname="ns:test1"> |
836 | 13 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> | ||
837 | 14 | </CtxVarDeclareIterator> | ||
838 | 15 | <CtxVarDeclareIterator varid="8" varname="ns:test2"> | ||
839 | 16 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test2)"/> | ||
840 | 17 | </CtxVarDeclareIterator> | ||
841 | 18 | <CtxVarDeclareIterator varid="9" varname="ns:test3"> | ||
842 | 19 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test3)"/> | ||
843 | 20 | </CtxVarDeclareIterator> | ||
844 | 21 | <CtxVarDeclareIterator varid="10" varname="coll"> | ||
845 | 22 | <SingletonIterator value="xs:QName(http://example.org/datamodule/,ns,test1)"/> | ||
846 | 23 | </CtxVarDeclareIterator> | ||
847 | 24 | <SequentialIterator> | ||
848 | 25 | <ApplyIterator> | ||
849 | 26 | <ZorbaCreateCollectionIterator> | ||
850 | 27 | <CtxVarIterator varid="10" varname="coll" varkind="global"/> | ||
851 | 28 | </ZorbaCreateCollectionIterator> | ||
852 | 29 | </ApplyIterator> | ||
853 | 30 | <FnCountIterator> | ||
854 | 31 | <ZorbaCollectionIterator> | ||
855 | 32 | <CtxVarIterator varid="10" varname="coll" varkind="global"/> | ||
856 | 33 | </ZorbaCollectionIterator> | ||
857 | 34 | </FnCountIterator> | ||
858 | 35 | </SequentialIterator> | ||
859 | 35 | </SequentialIterator> | 36 | </SequentialIterator> |
862 | 36 | </SequentialIterator> | 37 | </iterator-tree> |
861 | 37 | |||
863 | 38 | 38 | ||
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 @@ | |||
873 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
869 | 2 | <SequentialIterator> | ||
870 | 3 | <CtxVarDeclareIterator varid="4" varname="coll"> | ||
871 | 4 | <SingletonIterator value="xs:string(http://zorba.io/collection)"/> | ||
872 | 5 | </CtxVarDeclareIterator> | ||
874 | 6 | <SequentialIterator> | 2 | <SequentialIterator> |
885 | 7 | <ApplyIterator> | 3 | <CtxVarDeclareIterator varid="4" varname="coll"> |
886 | 8 | <UDFunctionCallIterator function="ddl:create"> | 4 | <SingletonIterator value="xs:string(http://zorba.io/collection)"/> |
887 | 9 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 5 | </CtxVarDeclareIterator> |
888 | 10 | </UDFunctionCallIterator> | 6 | <SequentialIterator> |
889 | 11 | </ApplyIterator> | 7 | <ApplyIterator> |
890 | 12 | <FnCountIterator> | 8 | <UDFunctionCallIterator function="ddl:create"> |
891 | 13 | <FnCollectionIterator> | 9 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
892 | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 10 | </UDFunctionCallIterator> |
893 | 15 | </FnCollectionIterator> | 11 | </ApplyIterator> |
894 | 16 | </FnCountIterator> | 12 | <FnCountIterator> |
895 | 13 | <FnCollectionIterator> | ||
896 | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | ||
897 | 15 | </FnCollectionIterator> | ||
898 | 16 | </FnCountIterator> | ||
899 | 17 | </SequentialIterator> | ||
900 | 17 | </SequentialIterator> | 18 | </SequentialIterator> |
913 | 18 | </SequentialIterator> | 19 | </iterator-tree> |
914 | 19 | 20 | <iterator-tree description="ddl:create"> | |
915 | 20 | Iterator tree for ddl:create: | 21 | <ZorbaCreateCollectionIterator> |
916 | 21 | <ZorbaCreateCollectionIterator> | 22 | <FunctionTraceIterator> |
917 | 22 | <FunctionTraceIterator> | 23 | <QNameIterator> |
918 | 23 | <QNameIterator> | 24 | <LetVarIterator varname="uri"/> |
919 | 24 | <LetVarIterator varname="uri"/> | 25 | <SingletonIterator value="xs:string(zorba-internal-name-for-w3c-collections)"/> |
920 | 25 | <SingletonIterator value="xs:string(zorba-internal-name-for-w3c-collections)"/> | 26 | </QNameIterator> |
921 | 26 | </QNameIterator> | 27 | </FunctionTraceIterator> |
922 | 27 | </FunctionTraceIterator> | 28 | </ZorbaCreateCollectionIterator> |
923 | 28 | </ZorbaCreateCollectionIterator> | 29 | </iterator-tree> |
912 | 29 | |||
924 | 30 | 30 | ||
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 @@ | |||
990 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
991 | 2 | <SequentialIterator> | 2 | <SequentialIterator> |
992 | 3 | <ApplyIterator> | 3 | <ApplyIterator> |
993 | 4 | <ZorbaCreateCollectionIterator> | 4 | <ZorbaCreateCollectionIterator> |
994 | 5 | <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> | 5 | <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
995 | 6 | </ZorbaCreateCollectionIterator> | 6 | </ZorbaCreateCollectionIterator> |
996 | 7 | </ApplyIterator> | 7 | </ApplyIterator> |
997 | 8 | <FnConcatIterator> | 8 | <FnConcatIterator> |
998 | 9 | <MaterializeIterator> | 9 | <MaterializeIterator> |
999 | 10 | <FLWORIterator> | 10 | <FLWORIterator> |
1000 | 11 | <ForVariable name="n"> | 11 | <ForVariable name="n"> |
1001 | 12 | <ElementIterator> | 12 | <ElementIterator> |
1002 | 13 | <SingletonIterator value="xs:QName(,,a)"/> | 13 | <SingletonIterator value="xs:QName(,,a)"/> |
1003 | 14 | </ElementIterator> | 14 | </ElementIterator> |
1004 | 15 | </ForVariable> | 15 | </ForVariable> |
1005 | 16 | <MaterializeClause> | 16 | <MaterializeClause> |
1006 | 17 | <MaterializeForVariable inputVar="n : "/> | 17 | <MaterializeForVariable inputVar="n : "/> |
1007 | 18 | </MaterializeClause> | 18 | </MaterializeClause> |
1008 | 19 | <ReturnClause> | 19 | <ReturnClause> |
1009 | 20 | <IsSameNodeIterator> | 20 | <IsSameNodeIterator> |
1010 | 21 | <ForVarIterator varname="n"/> | 21 | <ForVarIterator varname="n"/> |
1011 | 22 | <MaterializeIterator> | 22 | <MaterializeIterator> |
1012 | 23 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 23 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1013 | 24 | <ZorbaApplyInsertLastIterator is-dynamic="true" need-to-copy="true"> | 24 | <ZorbaApplyInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1014 | 25 | <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> | 25 | <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
1015 | 26 | <ForVarIterator varname="n"/> | 26 | <ForVarIterator varname="n"/> |
1016 | 27 | </ZorbaApplyInsertLastIterator> | 27 | </ZorbaApplyInsertLastIterator> |
1017 | 28 | </TreatIterator> | 28 | </TreatIterator> |
1018 | 29 | </MaterializeIterator> | 29 | </MaterializeIterator> |
1019 | 30 | </IsSameNodeIterator> | 30 | </IsSameNodeIterator> |
1020 | 31 | </ReturnClause> | 31 | </ReturnClause> |
1021 | 32 | </FLWORIterator> | 32 | </FLWORIterator> |
1022 | 33 | </MaterializeIterator> | 33 | </MaterializeIterator> |
1023 | 34 | <MaterializeIterator> | 34 | <MaterializeIterator> |
1024 | 35 | <FLWORIterator> | 35 | <FLWORIterator> |
1025 | 36 | <ForVariable name="n"> | 36 | <ForVariable name="n"> |
1026 | 37 | <ElementIterator> | 37 | <ElementIterator> |
1027 | 38 | <SingletonIterator value="xs:QName(,,a)"/> | 38 | <SingletonIterator value="xs:QName(,,a)"/> |
1028 | 39 | </ElementIterator> | 39 | </ElementIterator> |
1029 | 40 | </ForVariable> | 40 | </ForVariable> |
1030 | 41 | <MaterializeClause> | 41 | <MaterializeClause> |
1031 | 42 | <MaterializeForVariable inputVar="n : "/> | 42 | <MaterializeForVariable inputVar="n : "/> |
1032 | 43 | </MaterializeClause> | 43 | </MaterializeClause> |
1033 | 44 | <ReturnClause> | 44 | <ReturnClause> |
1034 | 45 | <IsSameNodeIterator> | 45 | <IsSameNodeIterator> |
1035 | 46 | <ForVarIterator varname="n"/> | 46 | <ForVarIterator varname="n"/> |
1036 | 47 | <MaterializeIterator> | 47 | <MaterializeIterator> |
1037 | 48 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 48 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1038 | 49 | <ZorbaApplyInsertLastIterator is-dynamic="true"> | 49 | <ZorbaApplyInsertLastIterator is-dynamic="true"> |
1039 | 50 | <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> | 50 | <SingletonIterator value="xs:QName(http://www.w3.org/2005/xquery-local-functions,local,bar)"/> |
1040 | 51 | <ForVarIterator varname="n"/> | 51 | <ForVarIterator varname="n"/> |
1041 | 52 | </ZorbaApplyInsertLastIterator> | 52 | </ZorbaApplyInsertLastIterator> |
1042 | 53 | </TreatIterator> | 53 | </TreatIterator> |
1043 | 54 | </MaterializeIterator> | 54 | </MaterializeIterator> |
1044 | 55 | </IsSameNodeIterator> | 55 | </IsSameNodeIterator> |
1045 | 56 | </ReturnClause> | 56 | </ReturnClause> |
1046 | 57 | </FLWORIterator> | 57 | </FLWORIterator> |
1047 | 58 | </MaterializeIterator> | 58 | </MaterializeIterator> |
1048 | 59 | </FnConcatIterator> | 59 | </FnConcatIterator> |
1049 | 60 | </SequentialIterator> | 60 | </SequentialIterator> |
1050 | 61 | 61 | </iterator-tree> | |
1051 | 62 | 62 | ||
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 @@ | |||
1111 | 1 | Iterator tree for const-folded expr: | 1 | <iterator-tree description="const-folded expr"> |
1112 | 2 | <OrIterator> | 2 | <OrIterator> |
1113 | 3 | <SingletonIterator value="xs:boolean(false)"/> | 3 | <SingletonIterator value="xs:boolean(false)"/> |
1114 | 4 | <SingletonIterator value="xs:boolean(false)"/> | 4 | <SingletonIterator value="xs:boolean(false)"/> |
1115 | 5 | <SingletonIterator value="xs:boolean(false)"/> | 5 | <SingletonIterator value="xs:boolean(false)"/> |
1116 | 6 | </OrIterator> | 6 | </OrIterator> |
1117 | 7 | 7 | </iterator-tree> | |
1118 | 8 | Iterator tree for const-folded expr: | 8 | <iterator-tree description="const-folded expr"> |
1119 | 9 | <OrIterator> | 9 | <OrIterator> |
1120 | 10 | <SingletonIterator value="xs:boolean(false)"/> | 10 | <SingletonIterator value="xs:boolean(false)"/> |
1121 | 11 | <SingletonIterator value="xs:boolean(false)"/> | 11 | <SingletonIterator value="xs:boolean(false)"/> |
1122 | 12 | <SingletonIterator value="xs:boolean(false)"/> | 12 | <SingletonIterator value="xs:boolean(false)"/> |
1123 | 13 | </OrIterator> | 13 | </OrIterator> |
1124 | 14 | 14 | </iterator-tree> | |
1125 | 15 | Iterator tree for main query: | 15 | <iterator-tree description="main query"> |
1126 | 16 | <SequentialIterator> | 16 | <SequentialIterator> |
1127 | 17 | <CtxVarDeclareIterator varid="4" varname="input-context"/> | 17 | <CtxVarDeclareIterator varid="4" varname="input-context"/> |
1128 | 18 | <FLWORIterator> | 18 | <FLWORIterator> |
1129 | 19 | <LetVariable name="doc" materialize="true"> | 19 | <LetVariable name="doc" materialize="true"> |
1130 | 20 | <FnDocIterator> | 20 | <FnDocIterator> |
1131 | 21 | <PromoteIterator type="xs:string"> | 21 | <PromoteIterator type="xs:string"> |
1132 | 22 | <FnDataIterator> | 22 | <FnDataIterator> |
1133 | 23 | <CtxVarIterator varid="4" varname="input-context" varkind="global"/> | 23 | <CtxVarIterator varid="4" varname="input-context" varkind="global"/> |
1134 | 24 | </FnDataIterator> | 24 | </FnDataIterator> |
1135 | 25 | </PromoteIterator> | 25 | </PromoteIterator> |
1136 | 26 | </FnDocIterator> | 26 | </FnDocIterator> |
1137 | 27 | </LetVariable> | 27 | </LetVariable> |
1138 | 28 | <LetVariable name="$$opt_temp_1" materialize="true"> | 28 | <LetVariable name="$$opt_temp_1" materialize="true"> |
1139 | 29 | <HoistIterator> | 29 | <HoistIterator> |
1140 | 30 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> | 30 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1141 | 31 | <LetVarIterator varname="doc"/> | 31 | <LetVarIterator varname="doc"/> |
1142 | 32 | </ChildAxisIterator> | 32 | </ChildAxisIterator> |
1143 | 33 | </HoistIterator> | 33 | </HoistIterator> |
1144 | 34 | </LetVariable> | 34 | </LetVariable> |
1145 | 35 | <LetVariable name="$$opt_temp_0" materialize="true"> | 35 | <LetVariable name="$$opt_temp_0" materialize="true"> |
1146 | 36 | <HoistIterator> | 36 | <HoistIterator> |
1147 | 37 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> | 37 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1148 | 38 | <LetVarIterator varname="doc"/> | 38 | <LetVarIterator varname="doc"/> |
1149 | 39 | </ChildAxisIterator> | 39 | </ChildAxisIterator> |
1150 | 40 | </HoistIterator> | 40 | </HoistIterator> |
1151 | 41 | </LetVariable> | 41 | </LetVariable> |
1152 | 42 | <ReturnClause> | 42 | <ReturnClause> |
1153 | 43 | <ElementIterator> | 43 | <ElementIterator> |
1154 | 44 | <SingletonIterator value="xs:QName(,,statistics)"/> | 44 | <SingletonIterator value="xs:QName(,,statistics)"/> |
1155 | 45 | <FnConcatIterator> | 45 | <FnConcatIterator> |
1156 | 46 | <ElementIterator> | 46 | <ElementIterator> |
1157 | 47 | <SingletonIterator value="xs:QName(,,total)"/> | 47 | <SingletonIterator value="xs:QName(,,total)"/> |
1158 | 48 | <FnConcatIterator> | 48 | <FnConcatIterator> |
1159 | 49 | <ElementIterator> | 49 | <ElementIterator> |
1160 | 50 | <SingletonIterator value="xs:QName(,,paper)"/> | 50 | <SingletonIterator value="xs:QName(,,paper)"/> |
1161 | 51 | <EnclosedIterator attr_cont="false"> | 51 | <EnclosedIterator attr_cont="false"> |
1162 | 52 | <FnCountIterator> | 52 | <FnCountIterator> |
1163 | 53 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> | 53 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1164 | 54 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> | 54 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,dblp)" typename="*" nill allowed="0"> |
1165 | 55 | <LetVarIterator varname="doc"/> | 55 | <LetVarIterator varname="doc"/> |
1166 | 56 | </ChildAxisIterator> | ||
1167 | 56 | </ChildAxisIterator> | 57 | </ChildAxisIterator> |
1205 | 57 | </ChildAxisIterator> | 58 | </FnCountIterator> |
1206 | 58 | </FnCountIterator> | 59 | </EnclosedIterator> |
1207 | 59 | </EnclosedIterator> | 60 | </ElementIterator> |
1208 | 60 | </ElementIterator> | 61 | <ElementIterator> |
1209 | 61 | <ElementIterator> | 62 | <SingletonIterator value="xs:QName(,,author)"/> |
1210 | 62 | <SingletonIterator value="xs:QName(,,author)"/> | 63 | <EnclosedIterator attr_cont="false"> |
1211 | 63 | <EnclosedIterator attr_cont="false"> | 64 | <FnCountIterator> |
1212 | 64 | <FnCountIterator> | 65 | <FnDistinctValuesIterator> |
1213 | 65 | <FnDistinctValuesIterator> | 66 | <FnDataIterator> |
1214 | 66 | <FnDataIterator> | 67 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
1215 | 67 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 68 | <LetVarIterator varname="doc"/> |
1216 | 68 | <LetVarIterator varname="doc"/> | 69 | </DescendantAxisIterator> |
1217 | 69 | </DescendantAxisIterator> | 70 | </FnDataIterator> |
1218 | 70 | </FnDataIterator> | 71 | </FnDistinctValuesIterator> |
1219 | 71 | </FnDistinctValuesIterator> | 72 | </FnCountIterator> |
1220 | 72 | </FnCountIterator> | 73 | </EnclosedIterator> |
1221 | 73 | </EnclosedIterator> | 74 | </ElementIterator> |
1222 | 74 | </ElementIterator> | 75 | </FnConcatIterator> |
1223 | 75 | </FnConcatIterator> | 76 | </ElementIterator> |
1224 | 76 | </ElementIterator> | 77 | <ElementIterator> |
1225 | 77 | <ElementIterator> | 78 | <SingletonIterator value="xs:QName(,,conferences)"/> |
1226 | 78 | <SingletonIterator value="xs:QName(,,conferences)"/> | 79 | <EnclosedIterator attr_cont="false"> |
1227 | 79 | <EnclosedIterator attr_cont="false"> | 80 | <FLWORIterator> |
1228 | 80 | <FLWORIterator> | 81 | <ForVariable name="conference"> |
1192 | 81 | <ForVariable name="conference"> | ||
1193 | 82 | <FnConcatIterator> | ||
1194 | 83 | <SingletonIterator value="xs:string(EDBT)"/> | ||
1195 | 84 | <SingletonIterator value="xs:string(ICDT)"/> | ||
1196 | 85 | <SingletonIterator value="xs:string(ICDE)"/> | ||
1197 | 86 | <SingletonIterator value="xs:string(PODS)"/> | ||
1198 | 87 | <SingletonIterator value="xs:string(VLDB)"/> | ||
1199 | 88 | <SingletonIterator value="xs:string(SIGMOD Conference)"/> | ||
1200 | 89 | </FnConcatIterator> | ||
1201 | 90 | </ForVariable> | ||
1202 | 91 | <ReturnClause> | ||
1203 | 92 | <ElementIterator> | ||
1204 | 93 | <SingletonIterator value="xs:QName(,,conference)"/> | ||
1229 | 94 | <FnConcatIterator> | 82 | <FnConcatIterator> |
1283 | 95 | <ElementIterator> | 83 | <SingletonIterator value="xs:string(EDBT)"/> |
1284 | 96 | <SingletonIterator value="xs:QName(,,name)"/> | 84 | <SingletonIterator value="xs:string(ICDT)"/> |
1285 | 97 | <EnclosedIterator attr_cont="false"> | 85 | <SingletonIterator value="xs:string(ICDE)"/> |
1286 | 98 | <ForVarIterator varname="conference"/> | 86 | <SingletonIterator value="xs:string(PODS)"/> |
1287 | 99 | </EnclosedIterator> | 87 | <SingletonIterator value="xs:string(VLDB)"/> |
1288 | 100 | </ElementIterator> | 88 | <SingletonIterator value="xs:string(SIGMOD Conference)"/> |
1289 | 101 | <ElementIterator> | 89 | </FnConcatIterator> |
1290 | 102 | <SingletonIterator value="xs:QName(,,paper)"/> | 90 | </ForVariable> |
1291 | 103 | <EnclosedIterator attr_cont="false"> | 91 | <ReturnClause> |
1292 | 104 | <FnCountIterator> | 92 | <ElementIterator> |
1293 | 105 | <FLWORIterator> | 93 | <SingletonIterator value="xs:QName(,,conference)"/> |
1294 | 106 | <ForVariable name="$$context-item"> | 94 | <FnConcatIterator> |
1295 | 107 | <UnhoistIterator> | 95 | <ElementIterator> |
1296 | 108 | <LetVarIterator varname="$$opt_temp_0"/> | 96 | <SingletonIterator value="xs:QName(,,name)"/> |
1297 | 109 | </UnhoistIterator> | 97 | <EnclosedIterator attr_cont="false"> |
1298 | 110 | </ForVariable> | 98 | <ForVarIterator varname="conference"/> |
1299 | 111 | <ForVariable name="$$context-item"> | 99 | </EnclosedIterator> |
1300 | 112 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> | 100 | </ElementIterator> |
1301 | 113 | <ForVarIterator varname="$$context-item"/> | 101 | <ElementIterator> |
1302 | 114 | </ChildAxisIterator> | 102 | <SingletonIterator value="xs:QName(,,paper)"/> |
1303 | 115 | </ForVariable> | 103 | <EnclosedIterator attr_cont="false"> |
1304 | 116 | <WhereClause> | 104 | <FnCountIterator> |
1305 | 117 | <CompareIterator> | 105 | <FLWORIterator> |
1306 | 118 | <FnDataIterator> | 106 | <ForVariable name="$$context-item"> |
1307 | 119 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> | 107 | <UnhoistIterator> |
1308 | 120 | <ForVarIterator varname="$$context-item"/> | 108 | <LetVarIterator varname="$$opt_temp_0"/> |
1309 | 121 | </ChildAxisIterator> | 109 | </UnhoistIterator> |
1310 | 122 | </FnDataIterator> | 110 | </ForVariable> |
1311 | 123 | <ForVarIterator varname="conference"/> | 111 | <ForVariable name="$$context-item"> |
1312 | 124 | </CompareIterator> | 112 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1313 | 125 | </WhereClause> | 113 | <ForVarIterator varname="$$context-item"/> |
1314 | 126 | <ReturnClause> | 114 | </ChildAxisIterator> |
1315 | 127 | <SingletonIterator value="xs:boolean(true)"/> | 115 | </ForVariable> |
1316 | 128 | </ReturnClause> | 116 | <WhereClause> |
1317 | 129 | </FLWORIterator> | 117 | <CompareIterator> |
1318 | 130 | </FnCountIterator> | 118 | <FnDataIterator> |
1319 | 131 | </EnclosedIterator> | 119 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> |
1267 | 132 | </ElementIterator> | ||
1268 | 133 | <ElementIterator> | ||
1269 | 134 | <SingletonIterator value="xs:QName(,,author)"/> | ||
1270 | 135 | <EnclosedIterator attr_cont="false"> | ||
1271 | 136 | <FnCountIterator> | ||
1272 | 137 | <FnDistinctValuesIterator> | ||
1273 | 138 | <FnDataIterator> | ||
1274 | 139 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
1275 | 140 | <FLWORIterator> | ||
1276 | 141 | <ForVariable name="$$context-item"> | ||
1277 | 142 | <UnhoistIterator> | ||
1278 | 143 | <LetVarIterator varname="$$opt_temp_1"/> | ||
1279 | 144 | </UnhoistIterator> | ||
1280 | 145 | </ForVariable> | ||
1281 | 146 | <ForVariable name="$$context-item"> | ||
1282 | 147 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> | ||
1320 | 148 | <ForVarIterator varname="$$context-item"/> | 120 | <ForVarIterator varname="$$context-item"/> |
1321 | 149 | </ChildAxisIterator> | 121 | </ChildAxisIterator> |
1355 | 150 | </ForVariable> | 122 | </FnDataIterator> |
1356 | 151 | <WhereClause> | 123 | <ForVarIterator varname="conference"/> |
1357 | 152 | <CompareIterator> | 124 | </CompareIterator> |
1358 | 153 | <FnDataIterator> | 125 | </WhereClause> |
1359 | 154 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> | 126 | <ReturnClause> |
1360 | 155 | <ForVarIterator varname="$$context-item"/> | 127 | <SingletonIterator value="xs:boolean(true)"/> |
1361 | 156 | </ChildAxisIterator> | 128 | </ReturnClause> |
1362 | 157 | </FnDataIterator> | 129 | </FLWORIterator> |
1363 | 158 | <ForVarIterator varname="conference"/> | 130 | </FnCountIterator> |
1364 | 159 | </CompareIterator> | 131 | </EnclosedIterator> |
1365 | 160 | </WhereClause> | 132 | </ElementIterator> |
1366 | 161 | <ReturnClause> | 133 | <ElementIterator> |
1367 | 162 | <ForVarIterator varname="$$context-item"/> | 134 | <SingletonIterator value="xs:QName(,,author)"/> |
1368 | 163 | </ReturnClause> | 135 | <EnclosedIterator attr_cont="false"> |
1369 | 164 | </FLWORIterator> | 136 | <FnCountIterator> |
1370 | 165 | </ChildAxisIterator> | 137 | <FnDistinctValuesIterator> |
1371 | 166 | </FnDataIterator> | 138 | <FnDataIterator> |
1372 | 167 | </FnDistinctValuesIterator> | 139 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
1373 | 168 | </FnCountIterator> | 140 | <FLWORIterator> |
1374 | 169 | </EnclosedIterator> | 141 | <ForVariable name="$$context-item"> |
1375 | 170 | </ElementIterator> | 142 | <UnhoistIterator> |
1376 | 171 | </FnConcatIterator> | 143 | <LetVarIterator varname="$$opt_temp_1"/> |
1377 | 172 | </ElementIterator> | 144 | </UnhoistIterator> |
1378 | 173 | </ReturnClause> | 145 | </ForVariable> |
1379 | 174 | </FLWORIterator> | 146 | <ForVariable name="$$context-item"> |
1380 | 175 | </EnclosedIterator> | 147 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,inproceedings)" typename="*" nill allowed="0"> |
1381 | 176 | </ElementIterator> | 148 | <ForVarIterator varname="$$context-item"/> |
1382 | 177 | </FnConcatIterator> | 149 | </ChildAxisIterator> |
1383 | 178 | </ElementIterator> | 150 | </ForVariable> |
1384 | 179 | </ReturnClause> | 151 | <WhereClause> |
1385 | 180 | </FLWORIterator> | 152 | <CompareIterator> |
1386 | 181 | </SequentialIterator> | 153 | <FnDataIterator> |
1387 | 182 | 154 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,booktitle)" typename="*" nill allowed="0"> | |
1388 | 155 | <ForVarIterator varname="$$context-item"/> | ||
1389 | 156 | </ChildAxisIterator> | ||
1390 | 157 | </FnDataIterator> | ||
1391 | 158 | <ForVarIterator varname="conference"/> | ||
1392 | 159 | </CompareIterator> | ||
1393 | 160 | </WhereClause> | ||
1394 | 161 | <ReturnClause> | ||
1395 | 162 | <ForVarIterator varname="$$context-item"/> | ||
1396 | 163 | </ReturnClause> | ||
1397 | 164 | </FLWORIterator> | ||
1398 | 165 | </ChildAxisIterator> | ||
1399 | 166 | </FnDataIterator> | ||
1400 | 167 | </FnDistinctValuesIterator> | ||
1401 | 168 | </FnCountIterator> | ||
1402 | 169 | </EnclosedIterator> | ||
1403 | 170 | </ElementIterator> | ||
1404 | 171 | </FnConcatIterator> | ||
1405 | 172 | </ElementIterator> | ||
1406 | 173 | </ReturnClause> | ||
1407 | 174 | </FLWORIterator> | ||
1408 | 175 | </EnclosedIterator> | ||
1409 | 176 | </ElementIterator> | ||
1410 | 177 | </FnConcatIterator> | ||
1411 | 178 | </ElementIterator> | ||
1412 | 179 | </ReturnClause> | ||
1413 | 180 | </FLWORIterator> | ||
1414 | 181 | </SequentialIterator> | ||
1415 | 182 | </iterator-tree> | ||
1416 | 183 | 183 | ||
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 @@ | |||
1429 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
1430 | 2 | <FunctionTraceIterator> | 2 | <FunctionTraceIterator> |
1431 | 3 | <TraceIterator> | 3 | <TraceIterator> |
1432 | 4 | <SingletonIterator value="xs:integer(3)"/> | 4 | <SingletonIterator value="xs:integer(3)"/> |
1433 | 5 | <SingletonIterator value="xs:string(foo)"/> | 5 | <SingletonIterator value="xs:string(foo)"/> |
1434 | 6 | </TraceIterator> | 6 | </TraceIterator> |
1435 | 7 | </FunctionTraceIterator> | 7 | </FunctionTraceIterator> |
1436 | 8 | 8 | </iterator-tree> | |
1437 | 9 | 9 | ||
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 @@ | |||
1465 | 1 | Iterator tree for const-folded expr: | 1 | <iterator-tree description="const-folded expr"> |
1466 | 2 | <FunctionTraceIterator> | 2 | <FunctionTraceIterator> |
1467 | 3 | <FnConcatIterator/> | 3 | <FnConcatIterator/> |
1468 | 4 | </FunctionTraceIterator> | 4 | </FunctionTraceIterator> |
1469 | 5 | 5 | </iterator-tree> | |
1470 | 6 | Iterator tree for main query: | 6 | <iterator-tree description="main query"> |
1471 | 7 | <SequentialIterator> | 7 | <SequentialIterator> |
1472 | 8 | <CtxVarDeclareIterator varid="4" varname="xmlcontents"> | 8 | <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1473 | 9 | <UDFunctionCallIterator function="fetch:content"> | 9 | <UDFunctionCallIterator function="fetch:content"> |
1474 | 10 | <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> | 10 | <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1475 | 11 | </UDFunctionCallIterator> | 11 | </UDFunctionCallIterator> |
1476 | 12 | </CtxVarDeclareIterator> | 12 | </CtxVarDeclareIterator> |
1477 | 13 | <FLWORIterator> | 13 | <FLWORIterator> |
1478 | 14 | <ForVariable name="w"> | 14 | <ForVariable name="w"> |
1479 | 15 | <FnZorbaParseXmlFragmentIterator> | 15 | <FnZorbaParseXmlFragmentIterator> |
1480 | 16 | <PromoteIterator type="xs:string"> | 16 | <PromoteIterator type="xs:string"> |
1481 | 17 | <FnDataIterator> | 17 | <FnDataIterator> |
1482 | 18 | <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> | 18 | <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1483 | 19 | </FnDataIterator> | 19 | </FnDataIterator> |
1484 | 20 | </PromoteIterator> | 20 | </PromoteIterator> |
1485 | 21 | <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 21 | <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1463 | 22 | <ElementIterator> | ||
1464 | 23 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> | ||
1486 | 24 | <ElementIterator> | 22 | <ElementIterator> |
1491 | 25 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> | 23 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1492 | 26 | <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> | 24 | <ElementIterator> |
1493 | 27 | <SingletonIterator value="xs:string(1)"/> | 25 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1494 | 28 | </AttributeIterator> | 26 | <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1495 | 27 | <SingletonIterator value="xs:string(1)"/> | ||
1496 | 28 | </AttributeIterator> | ||
1497 | 29 | </ElementIterator> | ||
1498 | 29 | </ElementIterator> | 30 | </ElementIterator> |
1526 | 30 | </ElementIterator> | 31 | </TreatIterator> |
1527 | 31 | </TreatIterator> | 32 | </FnZorbaParseXmlFragmentIterator> |
1528 | 32 | </FnZorbaParseXmlFragmentIterator> | 33 | </ForVariable> |
1529 | 33 | </ForVariable> | 34 | <MaterializeClause> |
1530 | 34 | <MaterializeClause> | 35 | <MaterializeForVariable inputVar="w : "/> |
1531 | 35 | <MaterializeForVariable inputVar="w : "/> | 36 | </MaterializeClause> |
1532 | 36 | </MaterializeClause> | 37 | <ReturnClause> |
1533 | 37 | <ReturnClause> | 38 | <SequentialIterator> |
1534 | 38 | <SequentialIterator> | 39 | <ApplyIterator> |
1535 | 39 | <ApplyIterator> | 40 | <FnConcatIterator/> |
1536 | 40 | <FnConcatIterator/> | 41 | </ApplyIterator> |
1537 | 41 | </ApplyIterator> | 42 | <ForVarIterator varname="w"/> |
1538 | 42 | <ForVarIterator varname="w"/> | 43 | </SequentialIterator> |
1539 | 43 | </SequentialIterator> | 44 | </ReturnClause> |
1540 | 44 | </ReturnClause> | 45 | </FLWORIterator> |
1541 | 45 | </FLWORIterator> | 46 | </SequentialIterator> |
1542 | 46 | </SequentialIterator> | 47 | </iterator-tree> |
1543 | 47 | 48 | <iterator-tree description="fetch:content"> | |
1544 | 48 | Iterator tree for fetch:content: | 49 | <FunctionTraceIterator> |
1545 | 49 | <FunctionTraceIterator> | 50 | <FetchContentIterator> |
1546 | 50 | <FetchContentIterator> | 51 | <LetVarIterator varname="uri"/> |
1547 | 51 | <LetVarIterator varname="uri"/> | 52 | <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1548 | 52 | <SingletonIterator value="xs:string(SOME_CONTENT)"/> | 53 | <SingletonIterator value="xs:string(UTF-8)"/> |
1549 | 53 | <SingletonIterator value="xs:string(UTF-8)"/> | 54 | </FetchContentIterator> |
1550 | 54 | </FetchContentIterator> | 55 | </FunctionTraceIterator> |
1551 | 55 | </FunctionTraceIterator> | 56 | </iterator-tree> |
1525 | 56 | |||
1552 | 57 | 57 | ||
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 @@ | |||
1579 | 1 | Iterator tree for const-folded expr: | 1 | <iterator-tree description="const-folded expr"> |
1580 | 2 | <FunctionTraceIterator> | 2 | <FunctionTraceIterator> |
1581 | 3 | <FnConcatIterator/> | 3 | <FnConcatIterator/> |
1582 | 4 | </FunctionTraceIterator> | 4 | </FunctionTraceIterator> |
1583 | 5 | 5 | </iterator-tree> | |
1584 | 6 | Iterator tree for main query: | 6 | <iterator-tree description="main query"> |
1585 | 7 | <SequentialIterator> | 7 | <SequentialIterator> |
1586 | 8 | <CtxVarDeclareIterator varid="4" varname="xmlcontents"> | 8 | <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1587 | 9 | <UDFunctionCallIterator function="fetch:content"> | 9 | <UDFunctionCallIterator function="fetch:content"> |
1588 | 10 | <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> | 10 | <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1589 | 11 | </UDFunctionCallIterator> | 11 | </UDFunctionCallIterator> |
1590 | 12 | </CtxVarDeclareIterator> | 12 | </CtxVarDeclareIterator> |
1591 | 13 | <CtxVarDeclareIterator varid="5" varname="contents"> | 13 | <CtxVarDeclareIterator varid="5" varname="contents"> |
1592 | 14 | <FnZorbaParseXmlFragmentIterator> | 14 | <FnZorbaParseXmlFragmentIterator> |
1593 | 15 | <PromoteIterator type="xs:string"> | 15 | <PromoteIterator type="xs:string"> |
1594 | 16 | <FnDataIterator> | 16 | <FnDataIterator> |
1595 | 17 | <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> | 17 | <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1596 | 18 | </FnDataIterator> | 18 | </FnDataIterator> |
1597 | 19 | </PromoteIterator> | 19 | </PromoteIterator> |
1598 | 20 | <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 20 | <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1577 | 21 | <ElementIterator> | ||
1578 | 22 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> | ||
1599 | 23 | <ElementIterator> | 21 | <ElementIterator> |
1604 | 24 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> | 22 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1605 | 25 | <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> | 23 | <ElementIterator> |
1606 | 26 | <SingletonIterator value="xs:string(1)"/> | 24 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1607 | 27 | </AttributeIterator> | 25 | <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1608 | 26 | <SingletonIterator value="xs:string(1)"/> | ||
1609 | 27 | </AttributeIterator> | ||
1610 | 28 | </ElementIterator> | ||
1611 | 28 | </ElementIterator> | 29 | </ElementIterator> |
1640 | 29 | </ElementIterator> | 30 | </TreatIterator> |
1641 | 30 | </TreatIterator> | 31 | </FnZorbaParseXmlFragmentIterator> |
1642 | 31 | </FnZorbaParseXmlFragmentIterator> | 32 | </CtxVarDeclareIterator> |
1643 | 32 | </CtxVarDeclareIterator> | 33 | <FLWORIterator> |
1644 | 33 | <FLWORIterator> | 34 | <ForVariable name="w"> |
1645 | 34 | <ForVariable name="w"> | 35 | <CtxVarIterator varid="5" varname="contents" varkind="local"/> |
1646 | 35 | <CtxVarIterator varid="5" varname="contents" varkind="local"/> | 36 | </ForVariable> |
1647 | 36 | </ForVariable> | 37 | <ReturnClause> |
1648 | 37 | <ReturnClause> | 38 | <SequentialIterator> |
1649 | 38 | <SequentialIterator> | 39 | <ApplyIterator> |
1650 | 39 | <ApplyIterator> | 40 | <FnConcatIterator/> |
1651 | 40 | <FnConcatIterator/> | 41 | </ApplyIterator> |
1652 | 41 | </ApplyIterator> | 42 | <ForVarIterator varname="w"/> |
1653 | 42 | <ForVarIterator varname="w"/> | 43 | </SequentialIterator> |
1654 | 43 | </SequentialIterator> | 44 | </ReturnClause> |
1655 | 44 | </ReturnClause> | 45 | </FLWORIterator> |
1656 | 45 | </FLWORIterator> | 46 | </SequentialIterator> |
1657 | 46 | </SequentialIterator> | 47 | </iterator-tree> |
1658 | 47 | 48 | <iterator-tree description="fetch:content"> | |
1659 | 48 | Iterator tree for fetch:content: | 49 | <FunctionTraceIterator> |
1660 | 49 | <FunctionTraceIterator> | 50 | <FetchContentIterator> |
1661 | 50 | <FetchContentIterator> | 51 | <LetVarIterator varname="uri"/> |
1662 | 51 | <LetVarIterator varname="uri"/> | 52 | <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1663 | 52 | <SingletonIterator value="xs:string(SOME_CONTENT)"/> | 53 | <SingletonIterator value="xs:string(UTF-8)"/> |
1664 | 53 | <SingletonIterator value="xs:string(UTF-8)"/> | 54 | </FetchContentIterator> |
1665 | 54 | </FetchContentIterator> | 55 | </FunctionTraceIterator> |
1666 | 55 | </FunctionTraceIterator> | 56 | </iterator-tree> |
1639 | 56 | |||
1667 | 57 | 57 | ||
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 @@ | |||
1677 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
1673 | 2 | <SequentialIterator> | ||
1674 | 3 | <CtxVarDeclareIterator varid="4" varname="coll"> | ||
1675 | 4 | <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> | ||
1676 | 5 | </CtxVarDeclareIterator> | ||
1678 | 6 | <SequentialIterator> | 2 | <SequentialIterator> |
1736 | 7 | <ApplyIterator> | 3 | <CtxVarDeclareIterator varid="4" varname="coll"> |
1737 | 8 | <ZorbaCreateCollectionIterator> | 4 | <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> |
1738 | 9 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 5 | </CtxVarDeclareIterator> |
1739 | 10 | </ZorbaCreateCollectionIterator> | 6 | <SequentialIterator> |
1740 | 11 | </ApplyIterator> | 7 | <ApplyIterator> |
1741 | 12 | <ApplyIterator> | 8 | <ZorbaCreateCollectionIterator> |
1742 | 13 | <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> | 9 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1743 | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 10 | </ZorbaCreateCollectionIterator> |
1744 | 15 | <FnConcatIterator> | 11 | </ApplyIterator> |
1745 | 16 | <ElementIterator> | 12 | <ApplyIterator> |
1746 | 17 | <SingletonIterator value="xs:QName(,,a)"/> | 13 | <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1747 | 18 | </ElementIterator> | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1748 | 19 | <ElementIterator> | 15 | <FnConcatIterator> |
1749 | 20 | <SingletonIterator value="xs:QName(,,c)"/> | 16 | <ElementIterator> |
1750 | 21 | </ElementIterator> | 17 | <SingletonIterator value="xs:QName(,,a)"/> |
1751 | 22 | <ElementIterator> | 18 | </ElementIterator> |
1752 | 23 | <SingletonIterator value="xs:QName(,,b)"/> | 19 | <ElementIterator> |
1753 | 24 | </ElementIterator> | 20 | <SingletonIterator value="xs:QName(,,c)"/> |
1754 | 25 | </FnConcatIterator> | 21 | </ElementIterator> |
1755 | 26 | </ZorbaInsertLastIterator> | 22 | <ElementIterator> |
1756 | 27 | </ApplyIterator> | 23 | <SingletonIterator value="xs:QName(,,b)"/> |
1757 | 28 | <FLWORIterator> | 24 | </ElementIterator> |
1758 | 29 | <ForVariable name="w"> | 25 | </FnConcatIterator> |
1759 | 30 | <ZorbaCollectionIterator> | 26 | </ZorbaInsertLastIterator> |
1760 | 31 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 27 | </ApplyIterator> |
1761 | 32 | </ZorbaCollectionIterator> | 28 | <FLWORIterator> |
1762 | 33 | </ForVariable> | 29 | <ForVariable name="w"> |
1763 | 34 | <ReturnClause> | 30 | <ZorbaCollectionIterator> |
1764 | 35 | <SequentialIterator> | 31 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1765 | 36 | <ApplyIterator> | 32 | </ZorbaCollectionIterator> |
1766 | 37 | <FunctionTraceIterator> | 33 | </ForVariable> |
1767 | 38 | <IfThenElseIterator> | 34 | <ReturnClause> |
1768 | 39 | <TypedValueCompareIterator_INTEGER> | 35 | <SequentialIterator> |
1769 | 40 | <ForVarIterator varname="pos"/> | 36 | <ApplyIterator> |
1770 | 41 | <SingletonIterator value="xs:integer(1)"/> | 37 | <FunctionTraceIterator> |
1771 | 42 | </TypedValueCompareIterator_INTEGER> | 38 | <IfThenElseIterator> |
1772 | 43 | <ApplyIterator> | 39 | <TypedValueCompareIterator_INTEGER> |
1773 | 44 | <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> | 40 | <ForVarIterator varname="pos"/> |
1774 | 45 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 41 | <SingletonIterator value="xs:integer(1)"/> |
1775 | 46 | <ElementIterator> | 42 | </TypedValueCompareIterator_INTEGER> |
1776 | 47 | <SingletonIterator value="xs:QName(,,d)"/> | 43 | <ApplyIterator> |
1777 | 48 | <EnclosedIterator attr_cont="false"> | 44 | <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1778 | 49 | <ForVarIterator varname="pos"/> | 45 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1779 | 50 | </EnclosedIterator> | 46 | <ElementIterator> |
1780 | 51 | </ElementIterator> | 47 | <SingletonIterator value="xs:QName(,,d)"/> |
1781 | 52 | </ZorbaInsertLastIterator> | 48 | <EnclosedIterator attr_cont="false"> |
1782 | 53 | </ApplyIterator> | 49 | <ForVarIterator varname="pos"/> |
1783 | 54 | <ApplyIterator> | 50 | </EnclosedIterator> |
1784 | 55 | <FnConcatIterator/> | 51 | </ElementIterator> |
1785 | 56 | </ApplyIterator> | 52 | </ZorbaInsertLastIterator> |
1786 | 57 | </IfThenElseIterator> | 53 | </ApplyIterator> |
1787 | 58 | </FunctionTraceIterator> | 54 | <ApplyIterator> |
1788 | 59 | </ApplyIterator> | 55 | <FnConcatIterator/> |
1789 | 60 | <ForVarIterator varname="w"/> | 56 | </ApplyIterator> |
1790 | 61 | </SequentialIterator> | 57 | </IfThenElseIterator> |
1791 | 62 | </ReturnClause> | 58 | </FunctionTraceIterator> |
1792 | 63 | </FLWORIterator> | 59 | </ApplyIterator> |
1793 | 60 | <ForVarIterator varname="w"/> | ||
1794 | 61 | </SequentialIterator> | ||
1795 | 62 | </ReturnClause> | ||
1796 | 63 | </FLWORIterator> | ||
1797 | 64 | </SequentialIterator> | ||
1798 | 64 | </SequentialIterator> | 65 | </SequentialIterator> |
1801 | 65 | </SequentialIterator> | 66 | </iterator-tree> |
1800 | 66 | |||
1802 | 67 | 67 | ||
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 @@ | |||
1829 | 1 | Iterator tree for const-folded expr: | 1 | <iterator-tree description="const-folded expr"> |
1830 | 2 | <FunctionTraceIterator> | 2 | <FunctionTraceIterator> |
1831 | 3 | <FnConcatIterator/> | 3 | <FnConcatIterator/> |
1832 | 4 | </FunctionTraceIterator> | 4 | </FunctionTraceIterator> |
1833 | 5 | 5 | </iterator-tree> | |
1834 | 6 | Iterator tree for main query: | 6 | <iterator-tree description="main query"> |
1835 | 7 | <SequentialIterator> | 7 | <SequentialIterator> |
1836 | 8 | <CtxVarDeclareIterator varid="4" varname="xmlcontents"> | 8 | <CtxVarDeclareIterator varid="4" varname="xmlcontents"> |
1837 | 9 | <UDFunctionCallIterator function="fetch:content"> | 9 | <UDFunctionCallIterator function="fetch:content"> |
1838 | 10 | <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> | 10 | <SingletonIterator value="xs:string($RBKT_SRC_DIR/Queries/zorba/flwor/flwor24.xml)"/> |
1839 | 11 | </UDFunctionCallIterator> | 11 | </UDFunctionCallIterator> |
1840 | 12 | </CtxVarDeclareIterator> | 12 | </CtxVarDeclareIterator> |
1841 | 13 | <CtxVarDeclareIterator varid="5" varname="contents"> | 13 | <CtxVarDeclareIterator varid="5" varname="contents"> |
1842 | 14 | <FnZorbaParseXmlFragmentIterator> | 14 | <FnZorbaParseXmlFragmentIterator> |
1843 | 15 | <PromoteIterator type="xs:string"> | 15 | <PromoteIterator type="xs:string"> |
1844 | 16 | <FnDataIterator> | 16 | <FnDataIterator> |
1845 | 17 | <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> | 17 | <CtxVarIterator varid="4" varname="xmlcontents" varkind="local"/> |
1846 | 18 | </FnDataIterator> | 18 | </FnDataIterator> |
1847 | 19 | </PromoteIterator> | 19 | </PromoteIterator> |
1848 | 20 | <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 20 | <TreatIterator type="[NodeXQType elementNode nametest=[uri: http://zorba.io/modules/xml-options, local: options] content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1827 | 21 | <ElementIterator> | ||
1828 | 22 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> | ||
1849 | 23 | <ElementIterator> | 21 | <ElementIterator> |
1854 | 24 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> | 22 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,options)"/> |
1855 | 25 | <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> | 23 | <ElementIterator> |
1856 | 26 | <SingletonIterator value="xs:string(1)"/> | 24 | <SingletonIterator value="xs:QName(http://zorba.io/modules/xml-options,opt,parse-external-parsed-entity)"/> |
1857 | 27 | </AttributeIterator> | 25 | <AttributeIterator qname="xs:QName(http://zorba.io/modules/xml-options,opt,skip-root-nodes)"> |
1858 | 26 | <SingletonIterator value="xs:string(1)"/> | ||
1859 | 27 | </AttributeIterator> | ||
1860 | 28 | </ElementIterator> | ||
1861 | 28 | </ElementIterator> | 29 | </ElementIterator> |
1873 | 29 | </ElementIterator> | 30 | </TreatIterator> |
1874 | 30 | </TreatIterator> | 31 | </FnZorbaParseXmlFragmentIterator> |
1875 | 31 | </FnZorbaParseXmlFragmentIterator> | 32 | </CtxVarDeclareIterator> |
1876 | 32 | </CtxVarDeclareIterator> | 33 | <FLWORIterator> |
1877 | 33 | <FLWORIterator> | 34 | <ForVariable name="w"> |
1878 | 34 | <ForVariable name="w"> | 35 | <CtxVarIterator varid="5" varname="contents" varkind="local"/> |
1879 | 35 | <CtxVarIterator varid="5" varname="contents" varkind="local"/> | 36 | </ForVariable> |
1880 | 36 | </ForVariable> | 37 | <OrderBySpec> |
1881 | 37 | <OrderBySpec> | 38 | <FnLocalNameIterator> |
1882 | 38 | <FnLocalNameIterator> | 39 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> |
1883 | 39 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 40 | <ForVarIterator varname="w"/> |
1884 | 41 | </TreatIterator> | ||
1885 | 42 | </FnLocalNameIterator> | ||
1886 | 43 | </OrderBySpec> | ||
1887 | 44 | <ReturnClause> | ||
1888 | 45 | <SequentialIterator> | ||
1889 | 46 | <ApplyIterator> | ||
1890 | 47 | <FnConcatIterator/> | ||
1891 | 48 | </ApplyIterator> | ||
1892 | 40 | <ForVarIterator varname="w"/> | 49 | <ForVarIterator varname="w"/> |
1916 | 41 | </TreatIterator> | 50 | </SequentialIterator> |
1917 | 42 | </FnLocalNameIterator> | 51 | </ReturnClause> |
1918 | 43 | </OrderBySpec> | 52 | </FLWORIterator> |
1919 | 44 | <ReturnClause> | 53 | </SequentialIterator> |
1920 | 45 | <SequentialIterator> | 54 | </iterator-tree> |
1921 | 46 | <ApplyIterator> | 55 | <iterator-tree description="fetch:content"> |
1922 | 47 | <FnConcatIterator/> | 56 | <FunctionTraceIterator> |
1923 | 48 | </ApplyIterator> | 57 | <FetchContentIterator> |
1924 | 49 | <ForVarIterator varname="w"/> | 58 | <LetVarIterator varname="uri"/> |
1925 | 50 | </SequentialIterator> | 59 | <SingletonIterator value="xs:string(SOME_CONTENT)"/> |
1926 | 51 | </ReturnClause> | 60 | <SingletonIterator value="xs:string(UTF-8)"/> |
1927 | 52 | </FLWORIterator> | 61 | </FetchContentIterator> |
1928 | 53 | </SequentialIterator> | 62 | </FunctionTraceIterator> |
1929 | 54 | 63 | </iterator-tree> | |
1907 | 55 | Iterator tree for fetch:content: | ||
1908 | 56 | <FunctionTraceIterator> | ||
1909 | 57 | <FetchContentIterator> | ||
1910 | 58 | <LetVarIterator varname="uri"/> | ||
1911 | 59 | <SingletonIterator value="xs:string(SOME_CONTENT)"/> | ||
1912 | 60 | <SingletonIterator value="xs:string(UTF-8)"/> | ||
1913 | 61 | </FetchContentIterator> | ||
1914 | 62 | </FunctionTraceIterator> | ||
1915 | 63 | |||
1930 | 64 | 64 | ||
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 @@ | |||
1945 | 1 | Iterator tree for const-folded expr: | 1 | <iterator-tree description="const-folded expr"> |
1946 | 2 | <FunctionTraceIterator> | 2 | <FunctionTraceIterator> |
1947 | 3 | <FnConcatIterator/> | 3 | <FnConcatIterator/> |
1948 | 4 | </FunctionTraceIterator> | 4 | </FunctionTraceIterator> |
1949 | 5 | 5 | </iterator-tree> | |
1950 | 6 | Iterator tree for main query: | 6 | <iterator-tree description="main query"> |
1941 | 7 | <SequentialIterator> | ||
1942 | 8 | <CtxVarDeclareIterator varid="4" varname="coll"> | ||
1943 | 9 | <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> | ||
1944 | 10 | </CtxVarDeclareIterator> | ||
1951 | 11 | <SequentialIterator> | 7 | <SequentialIterator> |
1982 | 12 | <ApplyIterator> | 8 | <CtxVarDeclareIterator varid="4" varname="coll"> |
1983 | 13 | <ZorbaCreateCollectionIterator> | 9 | <SingletonIterator value="xs:QName(http://zorba.io/modules/store/dynamic/collections/ddl,ddl,coll1)"/> |
1984 | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 10 | </CtxVarDeclareIterator> |
1985 | 15 | </ZorbaCreateCollectionIterator> | 11 | <SequentialIterator> |
1986 | 16 | </ApplyIterator> | 12 | <ApplyIterator> |
1987 | 17 | <ApplyIterator> | 13 | <ZorbaCreateCollectionIterator> |
1988 | 18 | <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> | 14 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1989 | 19 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 15 | </ZorbaCreateCollectionIterator> |
1990 | 20 | <FnConcatIterator> | 16 | </ApplyIterator> |
1991 | 21 | <ElementIterator> | 17 | <ApplyIterator> |
1992 | 22 | <SingletonIterator value="xs:QName(,,a)"/> | 18 | <ZorbaInsertLastIterator is-dynamic="true" need-to-copy="true"> |
1993 | 23 | </ElementIterator> | 19 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
1994 | 24 | <ElementIterator> | 20 | <FnConcatIterator> |
1995 | 25 | <SingletonIterator value="xs:QName(,,c)"/> | 21 | <ElementIterator> |
1996 | 26 | </ElementIterator> | 22 | <SingletonIterator value="xs:QName(,,a)"/> |
1997 | 27 | <ElementIterator> | 23 | </ElementIterator> |
1998 | 28 | <SingletonIterator value="xs:QName(,,b)"/> | 24 | <ElementIterator> |
1999 | 29 | </ElementIterator> | 25 | <SingletonIterator value="xs:QName(,,c)"/> |
2000 | 30 | </FnConcatIterator> | 26 | </ElementIterator> |
2001 | 31 | </ZorbaInsertLastIterator> | 27 | <ElementIterator> |
2002 | 32 | </ApplyIterator> | 28 | <SingletonIterator value="xs:QName(,,b)"/> |
2003 | 33 | <FLWORIterator> | 29 | </ElementIterator> |
2004 | 34 | <ForVariable name="w"> | 30 | </FnConcatIterator> |
2005 | 35 | <ZorbaCollectionIterator> | 31 | </ZorbaInsertLastIterator> |
2006 | 36 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> | 32 | </ApplyIterator> |
2007 | 37 | </ZorbaCollectionIterator> | 33 | <FLWORIterator> |
2008 | 38 | </ForVariable> | 34 | <ForVariable name="w"> |
2009 | 39 | <OrderBySpec> | 35 | <ZorbaCollectionIterator> |
2010 | 40 | <FnLocalNameIterator> | 36 | <CtxVarIterator varid="4" varname="coll" varkind="global"/> |
2011 | 41 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> | 37 | </ZorbaCollectionIterator> |
2012 | 38 | </ForVariable> | ||
2013 | 39 | <OrderBySpec> | ||
2014 | 40 | <FnLocalNameIterator> | ||
2015 | 41 | <TreatIterator type="[NodeXQType anyNode content=[XQType ANY_TYPE_KIND*]]" quant="?"> | ||
2016 | 42 | <ForVarIterator varname="w"/> | ||
2017 | 43 | </TreatIterator> | ||
2018 | 44 | </FnLocalNameIterator> | ||
2019 | 45 | </OrderBySpec> | ||
2020 | 46 | <ReturnClause> | ||
2021 | 47 | <SequentialIterator> | ||
2022 | 48 | <ApplyIterator> | ||
2023 | 49 | <FnConcatIterator/> | ||
2024 | 50 | </ApplyIterator> | ||
2025 | 42 | <ForVarIterator varname="w"/> | 51 | <ForVarIterator varname="w"/> |
2038 | 43 | </TreatIterator> | 52 | </SequentialIterator> |
2039 | 44 | </FnLocalNameIterator> | 53 | </ReturnClause> |
2040 | 45 | </OrderBySpec> | 54 | </FLWORIterator> |
2041 | 46 | <ReturnClause> | 55 | </SequentialIterator> |
2030 | 47 | <SequentialIterator> | ||
2031 | 48 | <ApplyIterator> | ||
2032 | 49 | <FnConcatIterator/> | ||
2033 | 50 | </ApplyIterator> | ||
2034 | 51 | <ForVarIterator varname="w"/> | ||
2035 | 52 | </SequentialIterator> | ||
2036 | 53 | </ReturnClause> | ||
2037 | 54 | </FLWORIterator> | ||
2042 | 55 | </SequentialIterator> | 56 | </SequentialIterator> |
2045 | 56 | </SequentialIterator> | 57 | </iterator-tree> |
2044 | 57 | |||
2046 | 58 | 58 | ||
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 @@ | |||
2069 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2070 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2071 | 3 | <ForVariable name="x"> | 3 | <ForVariable name="x"> |
2072 | 4 | <FnConcatIterator> | 4 | <FnConcatIterator> |
2073 | 5 | <SingletonIterator value="xs:integer(1)"/> | 5 | <SingletonIterator value="xs:integer(1)"/> |
2074 | 6 | <SingletonIterator value="xs:integer(2)"/> | 6 | <SingletonIterator value="xs:integer(2)"/> |
2075 | 7 | <SingletonIterator value="xs:integer(3)"/> | 7 | <SingletonIterator value="xs:integer(3)"/> |
2076 | 8 | <SingletonIterator value="xs:integer(4)"/> | 8 | <SingletonIterator value="xs:integer(4)"/> |
2077 | 9 | <SingletonIterator value="xs:integer(5)"/> | 9 | <SingletonIterator value="xs:integer(5)"/> |
2078 | 10 | <SingletonIterator value="xs:integer(6)"/> | 10 | <SingletonIterator value="xs:integer(6)"/> |
2079 | 11 | <SingletonIterator value="xs:integer(7)"/> | 11 | <SingletonIterator value="xs:integer(7)"/> |
2080 | 12 | <SingletonIterator value="xs:integer(8)"/> | 12 | <SingletonIterator value="xs:integer(8)"/> |
2081 | 13 | <SingletonIterator value="xs:integer(9)"/> | 13 | <SingletonIterator value="xs:integer(9)"/> |
2082 | 14 | <SingletonIterator value="xs:integer(10)"/> | 14 | <SingletonIterator value="xs:integer(10)"/> |
2083 | 15 | </FnConcatIterator> | 15 | </FnConcatIterator> |
2084 | 16 | </ForVariable> | 16 | </ForVariable> |
2085 | 17 | <WhereClause> | 17 | <WhereClause> |
2086 | 18 | <TypedValueCompareIterator_INTEGER> | 18 | <TypedValueCompareIterator_INTEGER> |
2087 | 19 | <ForVarIterator varname="x"/> | ||
2088 | 20 | <SingletonIterator value="xs:integer(2)"/> | ||
2089 | 21 | </TypedValueCompareIterator_INTEGER> | ||
2090 | 22 | </WhereClause> | ||
2091 | 23 | <ReturnClause> | ||
2092 | 19 | <ForVarIterator varname="x"/> | 24 | <ForVarIterator varname="x"/> |
2101 | 20 | <SingletonIterator value="xs:integer(2)"/> | 25 | </ReturnClause> |
2102 | 21 | </TypedValueCompareIterator_INTEGER> | 26 | </FLWORIterator> |
2103 | 22 | </WhereClause> | 27 | </iterator-tree> |
2096 | 23 | <ReturnClause> | ||
2097 | 24 | <ForVarIterator varname="x"/> | ||
2098 | 25 | </ReturnClause> | ||
2099 | 26 | </FLWORIterator> | ||
2100 | 27 | |||
2104 | 28 | 28 | ||
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 @@ | |||
2129 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2130 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2131 | 3 | <ForVariable name="x"> | 3 | <ForVariable name="x"> |
2132 | 4 | <FnConcatIterator> | 4 | <FnConcatIterator> |
2133 | 5 | <SingletonIterator value="xs:integer(1)"/> | 5 | <SingletonIterator value="xs:integer(1)"/> |
2134 | 6 | <SingletonIterator value="xs:integer(2)"/> | 6 | <SingletonIterator value="xs:integer(2)"/> |
2135 | 7 | <SingletonIterator value="xs:integer(3)"/> | 7 | <SingletonIterator value="xs:integer(3)"/> |
2136 | 8 | <SingletonIterator value="xs:integer(4)"/> | 8 | <SingletonIterator value="xs:integer(4)"/> |
2137 | 9 | <SingletonIterator value="xs:integer(5)"/> | 9 | <SingletonIterator value="xs:integer(5)"/> |
2138 | 10 | <SingletonIterator value="xs:integer(6)"/> | 10 | <SingletonIterator value="xs:integer(6)"/> |
2139 | 11 | <SingletonIterator value="xs:integer(7)"/> | 11 | <SingletonIterator value="xs:integer(7)"/> |
2120 | 12 | <SingletonIterator value="xs:integer(8)"/> | ||
2121 | 13 | <SingletonIterator value="xs:integer(9)"/> | ||
2122 | 14 | <SingletonIterator value="xs:integer(10)"/> | ||
2123 | 15 | </FnConcatIterator> | ||
2124 | 16 | </ForVariable> | ||
2125 | 17 | <WhereClause> | ||
2126 | 18 | <AndIterator> | ||
2127 | 19 | <TypedValueCompareIterator_INTEGER> | ||
2128 | 20 | <ForVarIterator varname="x"/> | ||
2140 | 21 | <SingletonIterator value="xs:integer(8)"/> | 12 | <SingletonIterator value="xs:integer(8)"/> |
2153 | 22 | </TypedValueCompareIterator_INTEGER> | 13 | <SingletonIterator value="xs:integer(9)"/> |
2154 | 23 | <TypedValueCompareIterator_INTEGER> | 14 | <SingletonIterator value="xs:integer(10)"/> |
2155 | 24 | <ForVarIterator varname="x"/> | 15 | </FnConcatIterator> |
2156 | 25 | <SingletonIterator value="xs:integer(2)"/> | 16 | </ForVariable> |
2157 | 26 | </TypedValueCompareIterator_INTEGER> | 17 | <WhereClause> |
2158 | 27 | </AndIterator> | 18 | <AndIterator> |
2159 | 28 | </WhereClause> | 19 | <TypedValueCompareIterator_INTEGER> |
2160 | 29 | <ReturnClause> | 20 | <ForVarIterator varname="x"/> |
2161 | 30 | <ForVarIterator varname="x"/> | 21 | <SingletonIterator value="xs:integer(8)"/> |
2162 | 31 | </ReturnClause> | 22 | </TypedValueCompareIterator_INTEGER> |
2163 | 32 | </FLWORIterator> | 23 | <TypedValueCompareIterator_INTEGER> |
2164 | 33 | 24 | <ForVarIterator varname="x"/> | |
2165 | 25 | <SingletonIterator value="xs:integer(2)"/> | ||
2166 | 26 | </TypedValueCompareIterator_INTEGER> | ||
2167 | 27 | </AndIterator> | ||
2168 | 28 | </WhereClause> | ||
2169 | 29 | <ReturnClause> | ||
2170 | 30 | <ForVarIterator varname="x"/> | ||
2171 | 31 | </ReturnClause> | ||
2172 | 32 | </FLWORIterator> | ||
2173 | 33 | </iterator-tree> | ||
2174 | 34 | 34 | ||
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 @@ | |||
2199 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2200 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2201 | 3 | <ForVariable name="x"> | 3 | <ForVariable name="x"> |
2202 | 4 | <FnConcatIterator> | 4 | <FnConcatIterator> |
2203 | 5 | <SingletonIterator value="xs:integer(1)"/> | 5 | <SingletonIterator value="xs:integer(1)"/> |
2204 | 6 | <SingletonIterator value="xs:integer(2)"/> | 6 | <SingletonIterator value="xs:integer(2)"/> |
2205 | 7 | <SingletonIterator value="xs:integer(3)"/> | 7 | <SingletonIterator value="xs:integer(3)"/> |
2206 | 8 | <SingletonIterator value="xs:integer(4)"/> | 8 | <SingletonIterator value="xs:integer(4)"/> |
2207 | 9 | <SingletonIterator value="xs:integer(5)"/> | 9 | <SingletonIterator value="xs:integer(5)"/> |
2208 | 10 | <SingletonIterator value="xs:integer(6)"/> | 10 | <SingletonIterator value="xs:integer(6)"/> |
2209 | 11 | <SingletonIterator value="xs:integer(7)"/> | 11 | <SingletonIterator value="xs:integer(7)"/> |
2190 | 12 | <SingletonIterator value="xs:integer(8)"/> | ||
2191 | 13 | <SingletonIterator value="xs:integer(9)"/> | ||
2192 | 14 | <SingletonIterator value="xs:integer(10)"/> | ||
2193 | 15 | </FnConcatIterator> | ||
2194 | 16 | </ForVariable> | ||
2195 | 17 | <WhereClause> | ||
2196 | 18 | <AndIterator> | ||
2197 | 19 | <TypedValueCompareIterator_INTEGER> | ||
2198 | 20 | <ForVarIterator varname="x"/> | ||
2210 | 21 | <SingletonIterator value="xs:integer(8)"/> | 12 | <SingletonIterator value="xs:integer(8)"/> |
2218 | 22 | </TypedValueCompareIterator_INTEGER> | 13 | <SingletonIterator value="xs:integer(9)"/> |
2219 | 23 | <TypedValueCompareIterator_INTEGER> | 14 | <SingletonIterator value="xs:integer(10)"/> |
2220 | 24 | <ForVarIterator varname="x"/> | 15 | </FnConcatIterator> |
2221 | 25 | <SingletonIterator value="xs:integer(2)"/> | 16 | </ForVariable> |
2222 | 26 | </TypedValueCompareIterator_INTEGER> | 17 | <WhereClause> |
2223 | 27 | <TypedValueCompareIterator_INTEGER> | 18 | <AndIterator> |
2224 | 28 | <NumArithIterator_ModOperation> | 19 | <TypedValueCompareIterator_INTEGER> |
2225 | 20 | <ForVarIterator varname="x"/> | ||
2226 | 21 | <SingletonIterator value="xs:integer(8)"/> | ||
2227 | 22 | </TypedValueCompareIterator_INTEGER> | ||
2228 | 23 | <TypedValueCompareIterator_INTEGER> | ||
2229 | 29 | <ForVarIterator varname="x"/> | 24 | <ForVarIterator varname="x"/> |
2230 | 30 | <SingletonIterator value="xs:integer(2)"/> | 25 | <SingletonIterator value="xs:integer(2)"/> |
2241 | 31 | </NumArithIterator_ModOperation> | 26 | </TypedValueCompareIterator_INTEGER> |
2242 | 32 | <SingletonIterator value="xs:integer(0)"/> | 27 | <TypedValueCompareIterator_INTEGER> |
2243 | 33 | </TypedValueCompareIterator_INTEGER> | 28 | <NumArithIterator_ModOperation> |
2244 | 34 | </AndIterator> | 29 | <ForVarIterator varname="x"/> |
2245 | 35 | </WhereClause> | 30 | <SingletonIterator value="xs:integer(2)"/> |
2246 | 36 | <ReturnClause> | 31 | </NumArithIterator_ModOperation> |
2247 | 37 | <ForVarIterator varname="x"/> | 32 | <SingletonIterator value="xs:integer(0)"/> |
2248 | 38 | </ReturnClause> | 33 | </TypedValueCompareIterator_INTEGER> |
2249 | 39 | </FLWORIterator> | 34 | </AndIterator> |
2250 | 40 | 35 | </WhereClause> | |
2251 | 36 | <ReturnClause> | ||
2252 | 37 | <ForVarIterator varname="x"/> | ||
2253 | 38 | </ReturnClause> | ||
2254 | 39 | </FLWORIterator> | ||
2255 | 40 | </iterator-tree> | ||
2256 | 41 | 41 | ||
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 @@ | |||
2283 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2284 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2285 | 3 | <ForVariable name="b"> | 3 | <ForVariable name="b"> |
2286 | 4 | <FnDocIterator> | 4 | <FnDocIterator> |
2287 | 5 | <SingletonIterator value="xs:string(books.xml)"/> | 5 | <SingletonIterator value="xs:string(books.xml)"/> |
2288 | 6 | </FnDocIterator> | 6 | </FnDocIterator> |
2289 | 7 | </ForVariable> | 7 | </ForVariable> |
2290 | 8 | <LetVariable name="$$opt_temp_1" materialize="true"> | 8 | <LetVariable name="$$opt_temp_1" materialize="true"> |
2291 | 9 | <HoistIterator> | 9 | <HoistIterator> |
2292 | 10 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> | 10 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> |
2271 | 11 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | ||
2272 | 12 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> | ||
2273 | 13 | <ForVarIterator varname="b"/> | ||
2274 | 14 | </ChildAxisIterator> | ||
2275 | 15 | </ChildAxisIterator> | ||
2276 | 16 | </ChildAxisIterator> | ||
2277 | 17 | </HoistIterator> | ||
2278 | 18 | </LetVariable> | ||
2279 | 19 | <ForVariable name="$$opt_temp_0"> | ||
2280 | 20 | <HoistIterator> | ||
2281 | 21 | <FnCountIterator> | ||
2282 | 22 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
2293 | 23 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 11 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2294 | 24 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> | 12 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2295 | 25 | <ForVarIterator varname="b"/> | 13 | <ForVarIterator varname="b"/> |
2296 | 26 | </ChildAxisIterator> | 14 | </ChildAxisIterator> |
2297 | 27 | </ChildAxisIterator> | 15 | </ChildAxisIterator> |
2298 | 28 | </ChildAxisIterator> | 16 | </ChildAxisIterator> |
2325 | 29 | </FnCountIterator> | 17 | </HoistIterator> |
2326 | 30 | </HoistIterator> | 18 | </LetVariable> |
2327 | 31 | </ForVariable> | 19 | <ForVariable name="$$opt_temp_0"> |
2328 | 32 | <ForVariable name="er"> | 20 | <HoistIterator> |
2329 | 33 | <OpToIterator> | 21 | <FnCountIterator> |
2330 | 34 | <SingletonIterator value="xs:integer(1)"/> | 22 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2331 | 35 | <SingletonIterator value="xs:integer(3)"/> | 23 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2332 | 36 | </OpToIterator> | 24 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2333 | 37 | </ForVariable> | 25 | <ForVarIterator varname="b"/> |
2334 | 38 | <WhereClause> | 26 | </ChildAxisIterator> |
2335 | 39 | <TypedValueCompareIterator_INTEGER> | 27 | </ChildAxisIterator> |
2336 | 40 | <UnhoistIterator> | 28 | </ChildAxisIterator> |
2337 | 41 | <ForVarIterator varname="$$opt_temp_0"/> | 29 | </FnCountIterator> |
2338 | 42 | </UnhoistIterator> | 30 | </HoistIterator> |
2339 | 43 | <ForVarIterator varname="er"/> | 31 | </ForVariable> |
2340 | 44 | </TypedValueCompareIterator_INTEGER> | 32 | <ForVariable name="er"> |
2341 | 45 | </WhereClause> | 33 | <OpToIterator> |
2342 | 46 | <ReturnClause> | 34 | <SingletonIterator value="xs:integer(1)"/> |
2343 | 47 | <ElementIterator> | 35 | <SingletonIterator value="xs:integer(3)"/> |
2344 | 48 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 36 | </OpToIterator> |
2345 | 49 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 37 | </ForVariable> |
2346 | 50 | <EnclosedIterator attr_cont="true"> | 38 | <WhereClause> |
2347 | 51 | <ForVarIterator varname="er"/> | 39 | <TypedValueCompareIterator_INTEGER> |
2322 | 52 | </EnclosedIterator> | ||
2323 | 53 | </AttributeIterator> | ||
2324 | 54 | <EnclosedIterator attr_cont="false"> | ||
2348 | 55 | <UnhoistIterator> | 40 | <UnhoistIterator> |
2350 | 56 | <LetVarIterator varname="$$opt_temp_1"/> | 41 | <ForVarIterator varname="$$opt_temp_0"/> |
2351 | 57 | </UnhoistIterator> | 42 | </UnhoistIterator> |
2357 | 58 | </EnclosedIterator> | 43 | <ForVarIterator varname="er"/> |
2358 | 59 | </ElementIterator> | 44 | </TypedValueCompareIterator_INTEGER> |
2359 | 60 | </ReturnClause> | 45 | </WhereClause> |
2360 | 61 | </FLWORIterator> | 46 | <ReturnClause> |
2361 | 62 | 47 | <ElementIterator> | |
2362 | 48 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
2363 | 49 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
2364 | 50 | <EnclosedIterator attr_cont="true"> | ||
2365 | 51 | <ForVarIterator varname="er"/> | ||
2366 | 52 | </EnclosedIterator> | ||
2367 | 53 | </AttributeIterator> | ||
2368 | 54 | <EnclosedIterator attr_cont="false"> | ||
2369 | 55 | <UnhoistIterator> | ||
2370 | 56 | <LetVarIterator varname="$$opt_temp_1"/> | ||
2371 | 57 | </UnhoistIterator> | ||
2372 | 58 | </EnclosedIterator> | ||
2373 | 59 | </ElementIterator> | ||
2374 | 60 | </ReturnClause> | ||
2375 | 61 | </FLWORIterator> | ||
2376 | 62 | </iterator-tree> | ||
2377 | 63 | 63 | ||
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 @@ | |||
2396 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2397 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2398 | 3 | <ForVariable name="b"> | 3 | <ForVariable name="b"> |
2399 | 4 | <FnDocIterator> | 4 | <FnDocIterator> |
2400 | 5 | <SingletonIterator value="xs:string(books.xml)"/> | 5 | <SingletonIterator value="xs:string(books.xml)"/> |
2401 | 6 | </FnDocIterator> | 6 | </FnDocIterator> |
2402 | 7 | </ForVariable> | 7 | </ForVariable> |
2403 | 8 | <ForVariable name="$$opt_temp_0"> | 8 | <ForVariable name="$$opt_temp_0"> |
2404 | 9 | <HoistIterator> | 9 | <HoistIterator> |
2405 | 10 | <FnCountIterator> | 10 | <FnCountIterator> |
2406 | 11 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 11 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2407 | 12 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 12 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2408 | 13 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> | 13 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,bib)" typename="*" nill allowed="0"> |
2409 | 14 | <ForVarIterator varname="b"/> | 14 | <ForVarIterator varname="b"/> |
2410 | 15 | </ChildAxisIterator> | ||
2411 | 15 | </ChildAxisIterator> | 16 | </ChildAxisIterator> |
2412 | 16 | </ChildAxisIterator> | 17 | </ChildAxisIterator> |
2443 | 17 | </ChildAxisIterator> | 18 | </FnCountIterator> |
2444 | 18 | </FnCountIterator> | 19 | </HoistIterator> |
2445 | 19 | </HoistIterator> | 20 | </ForVariable> |
2446 | 20 | </ForVariable> | 21 | <ForVariable name="er"> |
2447 | 21 | <ForVariable name="er"> | 22 | <OpToIterator> |
2448 | 22 | <OpToIterator> | 23 | <SingletonIterator value="xs:integer(1)"/> |
2449 | 23 | <SingletonIterator value="xs:integer(1)"/> | 24 | <SingletonIterator value="xs:integer(3)"/> |
2450 | 24 | <SingletonIterator value="xs:integer(3)"/> | 25 | </OpToIterator> |
2451 | 25 | </OpToIterator> | 26 | </ForVariable> |
2452 | 26 | </ForVariable> | 27 | <WhereClause> |
2453 | 27 | <WhereClause> | 28 | <TypedValueCompareIterator_INTEGER> |
2454 | 28 | <TypedValueCompareIterator_INTEGER> | 29 | <UnhoistIterator> |
2455 | 29 | <UnhoistIterator> | 30 | <ForVarIterator varname="$$opt_temp_0"/> |
2456 | 30 | <ForVarIterator varname="$$opt_temp_0"/> | 31 | </UnhoistIterator> |
2457 | 31 | </UnhoistIterator> | 32 | <ForVarIterator varname="er"/> |
2458 | 32 | <ForVarIterator varname="er"/> | 33 | </TypedValueCompareIterator_INTEGER> |
2459 | 33 | </TypedValueCompareIterator_INTEGER> | 34 | </WhereClause> |
2460 | 34 | </WhereClause> | 35 | <ReturnClause> |
2461 | 35 | <ReturnClause> | 36 | <ElementIterator> |
2462 | 36 | <ElementIterator> | 37 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
2463 | 37 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 38 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
2464 | 38 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 39 | <EnclosedIterator attr_cont="true"> |
2465 | 39 | <EnclosedIterator attr_cont="true"> | 40 | <ForVarIterator varname="er"/> |
2466 | 40 | <ForVarIterator varname="er"/> | 41 | </EnclosedIterator> |
2467 | 41 | </EnclosedIterator> | 42 | </AttributeIterator> |
2468 | 42 | </AttributeIterator> | 43 | </ElementIterator> |
2469 | 43 | </ElementIterator> | 44 | </ReturnClause> |
2470 | 44 | </ReturnClause> | 45 | </FLWORIterator> |
2471 | 45 | </FLWORIterator> | 46 | </iterator-tree> |
2442 | 46 | |||
2472 | 47 | 47 | ||
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 @@ | |||
2540 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2541 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2542 | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> |
2543 | 4 | <HoistIterator> | 4 | <HoistIterator> |
2544 | 5 | <OpToIterator> | 5 | <OpToIterator> |
2545 | 6 | <SingletonIterator value="xs:integer(1)"/> | 6 | <SingletonIterator value="xs:integer(1)"/> |
2546 | 7 | <SingletonIterator value="xs:integer(3)"/> | 7 | <SingletonIterator value="xs:integer(3)"/> |
2547 | 8 | </OpToIterator> | 8 | </OpToIterator> |
2548 | 9 | </HoistIterator> | 9 | </HoistIterator> |
2549 | 10 | </LetVariable> | 10 | </LetVariable> |
2550 | 11 | <LetVariable name="$$opt_temp_4" materialize="true"> | 11 | <LetVariable name="$$opt_temp_4" materialize="true"> |
2551 | 12 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 12 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2552 | 13 | <FLWORIterator> | 13 | <FLWORIterator> |
2553 | 14 | <ForVariable name="$$opt_temp_2"> | 14 | <ForVariable name="$$opt_temp_2"> |
2554 | 15 | <UnhoistIterator> | 15 | <UnhoistIterator> |
2555 | 16 | <LetVarIterator varname="$$opt_temp_0"/> | 16 | <LetVarIterator varname="$$opt_temp_0"/> |
2556 | 17 | </UnhoistIterator> | 17 | </UnhoistIterator> |
2557 | 18 | </ForVariable> | 18 | </ForVariable> |
2558 | 19 | <ReturnClause> | 19 | <ReturnClause> |
2559 | 20 | <ValueIndexEntryBuilderIterator> | 20 | <ValueIndexEntryBuilderIterator> |
2560 | 21 | <ForVarIterator varname="$$opt_temp_2"/> | 21 | <ForVarIterator varname="$$opt_temp_2"/> |
2561 | 22 | <ForVarIterator varname="$$opt_temp_2"/> | 22 | <ForVarIterator varname="$$opt_temp_2"/> |
2562 | 23 | </ValueIndexEntryBuilderIterator> | 23 | </ValueIndexEntryBuilderIterator> |
2563 | 24 | </ReturnClause> | 24 | </ReturnClause> |
2564 | 25 | </FLWORIterator> | 25 | </FLWORIterator> |
2565 | 26 | </CreateInternalIndexIterator> | 26 | </CreateInternalIndexIterator> |
2566 | 27 | </LetVariable> | 27 | </LetVariable> |
2567 | 28 | <ForVariable name="b"> | 28 | <ForVariable name="b"> |
2568 | 29 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 29 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2569 | 30 | <FnDocIterator> | 30 | <FnDocIterator> |
2570 | 31 | <SingletonIterator value="xs:string(books.xml)"/> | 31 | <SingletonIterator value="xs:string(books.xml)"/> |
2571 | 32 | </FnDocIterator> | 32 | </FnDocIterator> |
2572 | 33 | </DescendantAxisIterator> | 33 | </DescendantAxisIterator> |
2573 | 34 | </ForVariable> | 34 | </ForVariable> |
2574 | 35 | <ForVariable name="$$opt_temp_1"> | 35 | <ForVariable name="$$opt_temp_1"> |
2575 | 36 | <HoistIterator> | 36 | <HoistIterator> |
2576 | 37 | <FnCountIterator> | 37 | <FnCountIterator> |
2577 | 38 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 38 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2578 | 39 | <ForVarIterator varname="b"/> | 39 | <ForVarIterator varname="b"/> |
2579 | 40 | </ChildAxisIterator> | 40 | </ChildAxisIterator> |
2580 | 41 | </FnCountIterator> | 41 | </FnCountIterator> |
2581 | 42 | </HoistIterator> | 42 | </HoistIterator> |
2582 | 43 | </ForVariable> | 43 | </ForVariable> |
2583 | 44 | <ForVariable name="er"> | 44 | <ForVariable name="er"> |
2584 | 45 | <ProbeIndexPointValueIterator> | 45 | <ProbeIndexPointValueIterator> |
2585 | 46 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 46 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2586 | 47 | <UnhoistIterator> | 47 | <UnhoistIterator> |
2587 | 48 | <ForVarIterator varname="$$opt_temp_1"/> | 48 | <ForVarIterator varname="$$opt_temp_1"/> |
2588 | 49 | </UnhoistIterator> | 49 | </UnhoistIterator> |
2589 | 50 | </ProbeIndexPointValueIterator> | 50 | </ProbeIndexPointValueIterator> |
2590 | 51 | </ForVariable> | 51 | </ForVariable> |
2591 | 52 | <ReturnClause> | 52 | <ReturnClause> |
2592 | 53 | <ElementIterator> | 53 | <ElementIterator> |
2593 | 54 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 54 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
2594 | 55 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 55 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
2595 | 56 | <EnclosedIterator attr_cont="true"> | 56 | <EnclosedIterator attr_cont="true"> |
2596 | 57 | <ForVarIterator varname="er"/> | 57 | <ForVarIterator varname="er"/> |
2597 | 58 | </EnclosedIterator> | 58 | </EnclosedIterator> |
2598 | 59 | </AttributeIterator> | 59 | </AttributeIterator> |
2599 | 60 | </ElementIterator> | 60 | </ElementIterator> |
2600 | 61 | </ReturnClause> | 61 | </ReturnClause> |
2601 | 62 | </FLWORIterator> | 62 | </FLWORIterator> |
2602 | 63 | 63 | </iterator-tree> | |
2603 | 64 | 64 | ||
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 @@ | |||
2653 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2654 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
2655 | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> |
2656 | 4 | <HoistIterator> | 4 | <HoistIterator> |
2657 | 5 | <OpToIterator> | 5 | <OpToIterator> |
2658 | 6 | <SingletonIterator value="xs:integer(1)"/> | 6 | <SingletonIterator value="xs:integer(1)"/> |
2659 | 7 | <SingletonIterator value="xs:integer(3)"/> | 7 | <SingletonIterator value="xs:integer(3)"/> |
2660 | 8 | </OpToIterator> | 8 | </OpToIterator> |
2661 | 9 | </HoistIterator> | 9 | </HoistIterator> |
2662 | 10 | </LetVariable> | 10 | </LetVariable> |
2663 | 11 | <LetVariable name="$$opt_temp_5" materialize="true"> | 11 | <LetVariable name="$$opt_temp_5" materialize="true"> |
2664 | 12 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 12 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2665 | 13 | <FLWORIterator> | 13 | <FLWORIterator> |
2666 | 14 | <ForVariable name="$$opt_temp_3"> | 14 | <ForVariable name="$$opt_temp_3"> |
2667 | 15 | <UnhoistIterator> | 15 | <UnhoistIterator> |
2668 | 16 | <LetVarIterator varname="$$opt_temp_0"/> | 16 | <LetVarIterator varname="$$opt_temp_0"/> |
2669 | 17 | </UnhoistIterator> | 17 | </UnhoistIterator> |
2670 | 18 | </ForVariable> | 18 | </ForVariable> |
2671 | 19 | <ReturnClause> | 19 | <ReturnClause> |
2672 | 20 | <ValueIndexEntryBuilderIterator> | 20 | <ValueIndexEntryBuilderIterator> |
2673 | 21 | <ForVarIterator varname="$$opt_temp_3"/> | 21 | <ForVarIterator varname="$$opt_temp_3"/> |
2674 | 22 | <ForVarIterator varname="$$opt_temp_3"/> | 22 | <ForVarIterator varname="$$opt_temp_3"/> |
2675 | 23 | </ValueIndexEntryBuilderIterator> | 23 | </ValueIndexEntryBuilderIterator> |
2676 | 24 | </ReturnClause> | 24 | </ReturnClause> |
2677 | 25 | </FLWORIterator> | 25 | </FLWORIterator> |
2678 | 26 | </CreateInternalIndexIterator> | 26 | </CreateInternalIndexIterator> |
2679 | 27 | </LetVariable> | 27 | </LetVariable> |
2680 | 28 | <ForVariable name="b"> | 28 | <ForVariable name="b"> |
2681 | 29 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 29 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2682 | 30 | <FnDocIterator> | 30 | <FnDocIterator> |
2683 | 31 | <SingletonIterator value="xs:string(books.xml)"/> | 31 | <SingletonIterator value="xs:string(books.xml)"/> |
2684 | 32 | </FnDocIterator> | 32 | </FnDocIterator> |
2685 | 33 | </DescendantAxisIterator> | 33 | </DescendantAxisIterator> |
2686 | 34 | </ForVariable> | 34 | </ForVariable> |
2687 | 35 | <LetVariable name="$$opt_temp_2" materialize="true"> | 35 | <LetVariable name="$$opt_temp_2" materialize="true"> |
2688 | 36 | <HoistIterator> | 36 | <HoistIterator> |
2689 | 37 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> | 37 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,title)" typename="*" nill allowed="0"> |
2645 | 38 | <ForVarIterator varname="b"/> | ||
2646 | 39 | </ChildAxisIterator> | ||
2647 | 40 | </HoistIterator> | ||
2648 | 41 | </LetVariable> | ||
2649 | 42 | <ForVariable name="$$opt_temp_1"> | ||
2650 | 43 | <HoistIterator> | ||
2651 | 44 | <FnCountIterator> | ||
2652 | 45 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
2690 | 46 | <ForVarIterator varname="b"/> | 38 | <ForVarIterator varname="b"/> |
2691 | 47 | </ChildAxisIterator> | 39 | </ChildAxisIterator> |
2712 | 48 | </FnCountIterator> | 40 | </HoistIterator> |
2713 | 49 | </HoistIterator> | 41 | </LetVariable> |
2714 | 50 | </ForVariable> | 42 | <ForVariable name="$$opt_temp_1"> |
2715 | 51 | <ForVariable name="er"> | 43 | <HoistIterator> |
2716 | 52 | <ProbeIndexPointValueIterator> | 44 | <FnCountIterator> |
2717 | 53 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 45 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2718 | 54 | <UnhoistIterator> | 46 | <ForVarIterator varname="b"/> |
2719 | 55 | <ForVarIterator varname="$$opt_temp_1"/> | 47 | </ChildAxisIterator> |
2720 | 56 | </UnhoistIterator> | 48 | </FnCountIterator> |
2721 | 57 | </ProbeIndexPointValueIterator> | 49 | </HoistIterator> |
2722 | 58 | </ForVariable> | 50 | </ForVariable> |
2723 | 59 | <ReturnClause> | 51 | <ForVariable name="er"> |
2724 | 60 | <ElementIterator> | 52 | <ProbeIndexPointValueIterator> |
2725 | 61 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 53 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2706 | 62 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
2707 | 63 | <EnclosedIterator attr_cont="true"> | ||
2708 | 64 | <ForVarIterator varname="er"/> | ||
2709 | 65 | </EnclosedIterator> | ||
2710 | 66 | </AttributeIterator> | ||
2711 | 67 | <EnclosedIterator attr_cont="false"> | ||
2726 | 68 | <UnhoistIterator> | 54 | <UnhoistIterator> |
2728 | 69 | <LetVarIterator varname="$$opt_temp_2"/> | 55 | <ForVarIterator varname="$$opt_temp_1"/> |
2729 | 70 | </UnhoistIterator> | 56 | </UnhoistIterator> |
2735 | 71 | </EnclosedIterator> | 57 | </ProbeIndexPointValueIterator> |
2736 | 72 | </ElementIterator> | 58 | </ForVariable> |
2737 | 73 | </ReturnClause> | 59 | <ReturnClause> |
2738 | 74 | </FLWORIterator> | 60 | <ElementIterator> |
2739 | 75 | 61 | <SingletonIterator value="xs:QName(,,gruppe)"/> | |
2740 | 62 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
2741 | 63 | <EnclosedIterator attr_cont="true"> | ||
2742 | 64 | <ForVarIterator varname="er"/> | ||
2743 | 65 | </EnclosedIterator> | ||
2744 | 66 | </AttributeIterator> | ||
2745 | 67 | <EnclosedIterator attr_cont="false"> | ||
2746 | 68 | <UnhoistIterator> | ||
2747 | 69 | <LetVarIterator varname="$$opt_temp_2"/> | ||
2748 | 70 | </UnhoistIterator> | ||
2749 | 71 | </EnclosedIterator> | ||
2750 | 72 | </ElementIterator> | ||
2751 | 73 | </ReturnClause> | ||
2752 | 74 | </FLWORIterator> | ||
2753 | 75 | </iterator-tree> | ||
2754 | 76 | 76 | ||
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 @@ | |||
2827 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2828 | 2 | <ElementIterator> | 2 | <ElementIterator> |
2829 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
2830 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
2831 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
2832 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
2833 | 7 | <HoistIterator> | 7 | <HoistIterator> |
2834 | 8 | <OpToIterator> | 8 | <OpToIterator> |
2835 | 9 | <SingletonIterator value="xs:integer(1)"/> | 9 | <SingletonIterator value="xs:integer(1)"/> |
2836 | 10 | <SingletonIterator value="xs:integer(2)"/> | 10 | <SingletonIterator value="xs:integer(2)"/> |
2837 | 11 | </OpToIterator> | 11 | </OpToIterator> |
2838 | 12 | </HoistIterator> | 12 | </HoistIterator> |
2839 | 13 | </LetVariable> | 13 | </LetVariable> |
2840 | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> |
2841 | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2842 | 16 | <FLWORIterator> | 16 | <FLWORIterator> |
2843 | 17 | <ForVariable name="$$opt_temp_2"> | 17 | <ForVariable name="$$opt_temp_2"> |
2844 | 18 | <UnhoistIterator> | 18 | <UnhoistIterator> |
2845 | 19 | <LetVarIterator varname="$$opt_temp_0"/> | 19 | <LetVarIterator varname="$$opt_temp_0"/> |
2846 | 20 | </UnhoistIterator> | 20 | </UnhoistIterator> |
2847 | 21 | </ForVariable> | 21 | </ForVariable> |
2848 | 22 | <ReturnClause> | 22 | <ReturnClause> |
2849 | 23 | <ValueIndexEntryBuilderIterator> | 23 | <ValueIndexEntryBuilderIterator> |
2850 | 24 | <ForVarIterator varname="$$opt_temp_2"/> | 24 | <ForVarIterator varname="$$opt_temp_2"/> |
2851 | 25 | <ForVarIterator varname="$$opt_temp_2"/> | 25 | <ForVarIterator varname="$$opt_temp_2"/> |
2852 | 26 | </ValueIndexEntryBuilderIterator> | 26 | </ValueIndexEntryBuilderIterator> |
2853 | 27 | </ReturnClause> | 27 | </ReturnClause> |
2854 | 28 | </FLWORIterator> | 28 | </FLWORIterator> |
2855 | 29 | </CreateInternalIndexIterator> | 29 | </CreateInternalIndexIterator> |
2856 | 30 | </LetVariable> | 30 | </LetVariable> |
2857 | 31 | <ForVariable name="book"> | 31 | <ForVariable name="book"> |
2858 | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2859 | 33 | <FnDocIterator> | 33 | <FnDocIterator> |
2860 | 34 | <SingletonIterator value="xs:string(books.xml)"/> | 34 | <SingletonIterator value="xs:string(books.xml)"/> |
2861 | 35 | </FnDocIterator> | 35 | </FnDocIterator> |
2862 | 36 | </DescendantAxisIterator> | 36 | </DescendantAxisIterator> |
2863 | 37 | </ForVariable> | 37 | </ForVariable> |
2864 | 38 | <ForVariable name="$$opt_temp_1"> | 38 | <ForVariable name="$$opt_temp_1"> |
2865 | 39 | <HoistIterator> | 39 | <HoistIterator> |
2866 | 40 | <FnCountIterator> | 40 | <FnCountIterator> |
2867 | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2868 | 42 | <ForVarIterator varname="book"/> | 42 | <ForVarIterator varname="book"/> |
2869 | 43 | </ChildAxisIterator> | 43 | </ChildAxisIterator> |
2870 | 44 | </FnCountIterator> | 44 | </FnCountIterator> |
2871 | 45 | </HoistIterator> | 45 | </HoistIterator> |
2872 | 46 | </ForVariable> | 46 | </ForVariable> |
2873 | 47 | <ForVariable name="anzahl"> | 47 | <ForVariable name="anzahl"> |
2874 | 48 | <ProbeIndexPointValueIterator> | 48 | <ProbeIndexPointValueIterator> |
2875 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
2876 | 50 | <UnhoistIterator> | 50 | <UnhoistIterator> |
2877 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | 51 | <ForVarIterator varname="$$opt_temp_1"/> |
2878 | 52 | </UnhoistIterator> | 52 | </UnhoistIterator> |
2879 | 53 | </ProbeIndexPointValueIterator> | 53 | </ProbeIndexPointValueIterator> |
2880 | 54 | </ForVariable> | 54 | </ForVariable> |
2881 | 55 | <ReturnClause> | 55 | <ReturnClause> |
2882 | 56 | <ElementIterator> | 56 | <ElementIterator> |
2883 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
2884 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
2885 | 59 | <EnclosedIterator attr_cont="true"> | 59 | <EnclosedIterator attr_cont="true"> |
2886 | 60 | <ForVarIterator varname="anzahl"/> | 60 | <ForVarIterator varname="anzahl"/> |
2887 | 61 | </EnclosedIterator> | 61 | </EnclosedIterator> |
2888 | 62 | </AttributeIterator> | 62 | </AttributeIterator> |
2889 | 63 | </ElementIterator> | 63 | </ElementIterator> |
2890 | 64 | </ReturnClause> | 64 | </ReturnClause> |
2891 | 65 | </FLWORIterator> | 65 | </FLWORIterator> |
2892 | 66 | </EnclosedIterator> | 66 | </EnclosedIterator> |
2893 | 67 | </ElementIterator> | 67 | </ElementIterator> |
2894 | 68 | 68 | </iterator-tree> | |
2895 | 69 | 69 | ||
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 @@ | |||
2941 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
2942 | 2 | <ElementIterator> | 2 | <ElementIterator> |
2943 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
2944 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
2945 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
2946 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
2947 | 7 | <HoistIterator> | 7 | <HoistIterator> |
2948 | 8 | <OpToIterator> | 8 | <OpToIterator> |
2949 | 9 | <SingletonIterator value="xs:integer(1)"/> | 9 | <SingletonIterator value="xs:integer(1)"/> |
2950 | 10 | <SingletonIterator value="xs:integer(2)"/> | 10 | <SingletonIterator value="xs:integer(2)"/> |
2951 | 11 | </OpToIterator> | 11 | </OpToIterator> |
2952 | 12 | </HoistIterator> | 12 | </HoistIterator> |
2953 | 13 | </LetVariable> | 13 | </LetVariable> |
2954 | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> |
2955 | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
2956 | 16 | <FLWORIterator> | 16 | <FLWORIterator> |
2957 | 17 | <ForVariable name="$$opt_temp_2"> | 17 | <ForVariable name="$$opt_temp_2"> |
2958 | 18 | <UnhoistIterator> | 18 | <UnhoistIterator> |
2959 | 19 | <LetVarIterator varname="$$opt_temp_0"/> | 19 | <LetVarIterator varname="$$opt_temp_0"/> |
2960 | 20 | </UnhoistIterator> | 20 | </UnhoistIterator> |
2961 | 21 | </ForVariable> | 21 | </ForVariable> |
2962 | 22 | <ReturnClause> | 22 | <ReturnClause> |
2963 | 23 | <ValueIndexEntryBuilderIterator> | 23 | <ValueIndexEntryBuilderIterator> |
2964 | 24 | <ForVarIterator varname="$$opt_temp_2"/> | 24 | <ForVarIterator varname="$$opt_temp_2"/> |
2965 | 25 | <ForVarIterator varname="$$opt_temp_2"/> | 25 | <ForVarIterator varname="$$opt_temp_2"/> |
2966 | 26 | </ValueIndexEntryBuilderIterator> | 26 | </ValueIndexEntryBuilderIterator> |
2967 | 27 | </ReturnClause> | 27 | </ReturnClause> |
2968 | 28 | </FLWORIterator> | 28 | </FLWORIterator> |
2969 | 29 | </CreateInternalIndexIterator> | 29 | </CreateInternalIndexIterator> |
2970 | 30 | </LetVariable> | 30 | </LetVariable> |
2971 | 31 | <ForVariable name="book"> | 31 | <ForVariable name="book"> |
2972 | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
2973 | 33 | <FnDocIterator> | 33 | <FnDocIterator> |
2974 | 34 | <SingletonIterator value="xs:string(books.xml)"/> | 34 | <SingletonIterator value="xs:string(books.xml)"/> |
2975 | 35 | </FnDocIterator> | 35 | </FnDocIterator> |
2976 | 36 | </DescendantAxisIterator> | 36 | </DescendantAxisIterator> |
2977 | 37 | </ForVariable> | 37 | </ForVariable> |
2978 | 38 | <ForVariable name="$$opt_temp_1"> | 38 | <ForVariable name="$$opt_temp_1"> |
2979 | 39 | <HoistIterator> | 39 | <HoistIterator> |
2980 | 40 | <FnCountIterator> | 40 | <FnCountIterator> |
2981 | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
2982 | 42 | <ForVarIterator varname="book"/> | ||
2983 | 43 | </ChildAxisIterator> | ||
2984 | 44 | </FnCountIterator> | ||
2985 | 45 | </HoistIterator> | ||
2986 | 46 | </ForVariable> | ||
2987 | 47 | <ForVariable name="anzahl"> | ||
2988 | 48 | <ProbeIndexPointValueIterator> | ||
2989 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
2990 | 50 | <UnhoistIterator> | ||
2991 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | ||
2992 | 52 | </UnhoistIterator> | ||
2993 | 53 | </ProbeIndexPointValueIterator> | ||
2994 | 54 | </ForVariable> | ||
2995 | 55 | <ReturnClause> | ||
2996 | 56 | <ElementIterator> | ||
2997 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
2998 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
2999 | 59 | <EnclosedIterator attr_cont="true"> | ||
3000 | 60 | <ForVarIterator varname="anzahl"/> | ||
3001 | 61 | </EnclosedIterator> | ||
3002 | 62 | </AttributeIterator> | ||
3003 | 63 | <EnclosedIterator attr_cont="false"> | ||
3004 | 42 | <ForVarIterator varname="book"/> | 64 | <ForVarIterator varname="book"/> |
3005 | 43 | </ChildAxisIterator> | ||
3006 | 44 | </FnCountIterator> | ||
3007 | 45 | </HoistIterator> | ||
3008 | 46 | </ForVariable> | ||
3009 | 47 | <ForVariable name="anzahl"> | ||
3010 | 48 | <ProbeIndexPointValueIterator> | ||
3011 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3012 | 50 | <UnhoistIterator> | ||
3013 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3014 | 52 | </UnhoistIterator> | ||
3015 | 53 | </ProbeIndexPointValueIterator> | ||
3016 | 54 | </ForVariable> | ||
3017 | 55 | <ReturnClause> | ||
3018 | 56 | <ElementIterator> | ||
3019 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3020 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3021 | 59 | <EnclosedIterator attr_cont="true"> | ||
3022 | 60 | <ForVarIterator varname="anzahl"/> | ||
3023 | 61 | </EnclosedIterator> | 65 | </EnclosedIterator> |
3034 | 62 | </AttributeIterator> | 66 | </ElementIterator> |
3035 | 63 | <EnclosedIterator attr_cont="false"> | 67 | </ReturnClause> |
3036 | 64 | <ForVarIterator varname="book"/> | 68 | </FLWORIterator> |
3037 | 65 | </EnclosedIterator> | 69 | </EnclosedIterator> |
3038 | 66 | </ElementIterator> | 70 | </ElementIterator> |
3039 | 67 | </ReturnClause> | 71 | </iterator-tree> |
3030 | 68 | </FLWORIterator> | ||
3031 | 69 | </EnclosedIterator> | ||
3032 | 70 | </ElementIterator> | ||
3033 | 71 | |||
3040 | 72 | 72 | ||
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 @@ | |||
3086 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3087 | 2 | <ElementIterator> | 2 | <ElementIterator> |
3088 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3089 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
3090 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
3091 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3092 | 7 | <HoistIterator> | 7 | <HoistIterator> |
3093 | 8 | <OpToIterator> | 8 | <OpToIterator> |
3094 | 9 | <SingletonIterator value="xs:integer(1)"/> | 9 | <SingletonIterator value="xs:integer(1)"/> |
3095 | 10 | <SingletonIterator value="xs:integer(2)"/> | 10 | <SingletonIterator value="xs:integer(2)"/> |
3096 | 11 | </OpToIterator> | 11 | </OpToIterator> |
3097 | 12 | </HoistIterator> | 12 | </HoistIterator> |
3098 | 13 | </LetVariable> | 13 | </LetVariable> |
3099 | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> |
3100 | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3101 | 16 | <FLWORIterator> | 16 | <FLWORIterator> |
3102 | 17 | <ForVariable name="$$opt_temp_2"> | 17 | <ForVariable name="$$opt_temp_2"> |
3103 | 18 | <UnhoistIterator> | 18 | <UnhoistIterator> |
3104 | 19 | <LetVarIterator varname="$$opt_temp_0"/> | 19 | <LetVarIterator varname="$$opt_temp_0"/> |
3105 | 20 | </UnhoistIterator> | 20 | </UnhoistIterator> |
3106 | 21 | </ForVariable> | 21 | </ForVariable> |
3107 | 22 | <ReturnClause> | 22 | <ReturnClause> |
3108 | 23 | <ValueIndexEntryBuilderIterator> | 23 | <ValueIndexEntryBuilderIterator> |
3109 | 24 | <ForVarIterator varname="$$opt_temp_2"/> | 24 | <ForVarIterator varname="$$opt_temp_2"/> |
3110 | 25 | <ForVarIterator varname="$$opt_temp_2"/> | 25 | <ForVarIterator varname="$$opt_temp_2"/> |
3111 | 26 | </ValueIndexEntryBuilderIterator> | 26 | </ValueIndexEntryBuilderIterator> |
3112 | 27 | </ReturnClause> | 27 | </ReturnClause> |
3113 | 28 | </FLWORIterator> | 28 | </FLWORIterator> |
3114 | 29 | </CreateInternalIndexIterator> | 29 | </CreateInternalIndexIterator> |
3115 | 30 | </LetVariable> | 30 | </LetVariable> |
3116 | 31 | <ForVariable name="book"> | 31 | <ForVariable name="book"> |
3117 | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3118 | 33 | <FnDocIterator> | 33 | <FnDocIterator> |
3119 | 34 | <SingletonIterator value="xs:string(books.xml)"/> | 34 | <SingletonIterator value="xs:string(books.xml)"/> |
3120 | 35 | </FnDocIterator> | 35 | </FnDocIterator> |
3121 | 36 | </DescendantAxisIterator> | 36 | </DescendantAxisIterator> |
3122 | 37 | </ForVariable> | 37 | </ForVariable> |
3123 | 38 | <ForVariable name="$$opt_temp_1"> | 38 | <ForVariable name="$$opt_temp_1"> |
3124 | 39 | <HoistIterator> | 39 | <HoistIterator> |
3125 | 40 | <FnCountIterator> | 40 | <FnCountIterator> |
3126 | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3127 | 42 | <ForVarIterator varname="book"/> | ||
3128 | 43 | </ChildAxisIterator> | ||
3129 | 44 | </FnCountIterator> | ||
3130 | 45 | </HoistIterator> | ||
3131 | 46 | </ForVariable> | ||
3132 | 47 | <ForVariable name="anzahl"> | ||
3133 | 48 | <ProbeIndexPointValueIterator> | ||
3134 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3135 | 50 | <UnhoistIterator> | ||
3136 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3137 | 52 | </UnhoistIterator> | ||
3138 | 53 | </ProbeIndexPointValueIterator> | ||
3139 | 54 | </ForVariable> | ||
3140 | 55 | <ReturnClause> | ||
3141 | 56 | <ElementIterator> | ||
3142 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3143 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3144 | 59 | <EnclosedIterator attr_cont="true"> | ||
3145 | 60 | <ForVarIterator varname="anzahl"/> | ||
3146 | 61 | </EnclosedIterator> | ||
3147 | 62 | </AttributeIterator> | ||
3148 | 63 | <EnclosedIterator attr_cont="false"> | ||
3149 | 42 | <ForVarIterator varname="book"/> | 64 | <ForVarIterator varname="book"/> |
3150 | 43 | </ChildAxisIterator> | ||
3151 | 44 | </FnCountIterator> | ||
3152 | 45 | </HoistIterator> | ||
3153 | 46 | </ForVariable> | ||
3154 | 47 | <ForVariable name="anzahl"> | ||
3155 | 48 | <ProbeIndexPointValueIterator> | ||
3156 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3157 | 50 | <UnhoistIterator> | ||
3158 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3159 | 52 | </UnhoistIterator> | ||
3160 | 53 | </ProbeIndexPointValueIterator> | ||
3161 | 54 | </ForVariable> | ||
3162 | 55 | <ReturnClause> | ||
3163 | 56 | <ElementIterator> | ||
3164 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3165 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3166 | 59 | <EnclosedIterator attr_cont="true"> | ||
3167 | 60 | <ForVarIterator varname="anzahl"/> | ||
3168 | 61 | </EnclosedIterator> | 65 | </EnclosedIterator> |
3179 | 62 | </AttributeIterator> | 66 | </ElementIterator> |
3180 | 63 | <EnclosedIterator attr_cont="false"> | 67 | </ReturnClause> |
3181 | 64 | <ForVarIterator varname="book"/> | 68 | </FLWORIterator> |
3182 | 65 | </EnclosedIterator> | 69 | </EnclosedIterator> |
3183 | 66 | </ElementIterator> | 70 | </ElementIterator> |
3184 | 67 | </ReturnClause> | 71 | </iterator-tree> |
3175 | 68 | </FLWORIterator> | ||
3176 | 69 | </EnclosedIterator> | ||
3177 | 70 | </ElementIterator> | ||
3178 | 71 | |||
3185 | 72 | 72 | ||
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 @@ | |||
3237 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3238 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
3239 | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3240 | 4 | <HoistIterator> | 4 | <HoistIterator> |
3241 | 5 | <OpToIterator> | 5 | <OpToIterator> |
3242 | 6 | <SingletonIterator value="xs:integer(1)"/> | 6 | <SingletonIterator value="xs:integer(1)"/> |
3243 | 7 | <SingletonIterator value="xs:integer(2)"/> | 7 | <SingletonIterator value="xs:integer(2)"/> |
3244 | 8 | </OpToIterator> | 8 | </OpToIterator> |
3245 | 9 | </HoistIterator> | 9 | </HoistIterator> |
3246 | 10 | </LetVariable> | 10 | </LetVariable> |
3247 | 11 | <LetVariable name="$$opt_temp_4" materialize="true"> | 11 | <LetVariable name="$$opt_temp_4" materialize="true"> |
3248 | 12 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 12 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3202 | 13 | <FLWORIterator> | ||
3203 | 14 | <ForVariable name="$$opt_temp_2"> | ||
3204 | 15 | <UnhoistIterator> | ||
3205 | 16 | <LetVarIterator varname="$$opt_temp_0"/> | ||
3206 | 17 | </UnhoistIterator> | ||
3207 | 18 | </ForVariable> | ||
3208 | 19 | <ReturnClause> | ||
3209 | 20 | <ValueIndexEntryBuilderIterator> | ||
3210 | 21 | <ForVarIterator varname="$$opt_temp_2"/> | ||
3211 | 22 | <ForVarIterator varname="$$opt_temp_2"/> | ||
3212 | 23 | </ValueIndexEntryBuilderIterator> | ||
3213 | 24 | </ReturnClause> | ||
3214 | 25 | </FLWORIterator> | ||
3215 | 26 | </CreateInternalIndexIterator> | ||
3216 | 27 | </LetVariable> | ||
3217 | 28 | <ForVariable name="book"> | ||
3218 | 29 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | ||
3219 | 30 | <FnDocIterator> | ||
3220 | 31 | <SingletonIterator value="xs:string(books.xml)"/> | ||
3221 | 32 | </FnDocIterator> | ||
3222 | 33 | </DescendantAxisIterator> | ||
3223 | 34 | </ForVariable> | ||
3224 | 35 | <ForVariable name="$$opt_temp_1"> | ||
3225 | 36 | <HoistIterator> | ||
3226 | 37 | <FnCountIterator> | ||
3227 | 38 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3228 | 39 | <ForVarIterator varname="book"/> | ||
3229 | 40 | </ChildAxisIterator> | ||
3230 | 41 | </FnCountIterator> | ||
3231 | 42 | </HoistIterator> | ||
3232 | 43 | </ForVariable> | ||
3233 | 44 | <ReturnClause> | ||
3234 | 45 | <ElementIterator> | ||
3235 | 46 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | ||
3236 | 47 | <EnclosedIterator attr_cont="false"> | ||
3249 | 48 | <FLWORIterator> | 13 | <FLWORIterator> |
3257 | 49 | <ForVariable name="anzahl"> | 14 | <ForVariable name="$$opt_temp_2"> |
3258 | 50 | <ProbeIndexPointValueIterator> | 15 | <UnhoistIterator> |
3259 | 51 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 16 | <LetVarIterator varname="$$opt_temp_0"/> |
3260 | 52 | <UnhoistIterator> | 17 | </UnhoistIterator> |
3254 | 53 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3255 | 54 | </UnhoistIterator> | ||
3256 | 55 | </ProbeIndexPointValueIterator> | ||
3261 | 56 | </ForVariable> | 18 | </ForVariable> |
3262 | 57 | <ReturnClause> | 19 | <ReturnClause> |
3274 | 58 | <ElementIterator> | 20 | <ValueIndexEntryBuilderIterator> |
3275 | 59 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 21 | <ForVarIterator varname="$$opt_temp_2"/> |
3276 | 60 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 22 | <ForVarIterator varname="$$opt_temp_2"/> |
3277 | 61 | <EnclosedIterator attr_cont="true"> | 23 | </ValueIndexEntryBuilderIterator> |
3267 | 62 | <ForVarIterator varname="anzahl"/> | ||
3268 | 63 | </EnclosedIterator> | ||
3269 | 64 | </AttributeIterator> | ||
3270 | 65 | <EnclosedIterator attr_cont="false"> | ||
3271 | 66 | <ForVarIterator varname="book"/> | ||
3272 | 67 | </EnclosedIterator> | ||
3273 | 68 | </ElementIterator> | ||
3278 | 69 | </ReturnClause> | 24 | </ReturnClause> |
3279 | 70 | </FLWORIterator> | 25 | </FLWORIterator> |
3285 | 71 | </EnclosedIterator> | 26 | </CreateInternalIndexIterator> |
3286 | 72 | </ElementIterator> | 27 | </LetVariable> |
3287 | 73 | </ReturnClause> | 28 | <ForVariable name="book"> |
3288 | 74 | </FLWORIterator> | 29 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3289 | 75 | 30 | <FnDocIterator> | |
3290 | 31 | <SingletonIterator value="xs:string(books.xml)"/> | ||
3291 | 32 | </FnDocIterator> | ||
3292 | 33 | </DescendantAxisIterator> | ||
3293 | 34 | </ForVariable> | ||
3294 | 35 | <ForVariable name="$$opt_temp_1"> | ||
3295 | 36 | <HoistIterator> | ||
3296 | 37 | <FnCountIterator> | ||
3297 | 38 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3298 | 39 | <ForVarIterator varname="book"/> | ||
3299 | 40 | </ChildAxisIterator> | ||
3300 | 41 | </FnCountIterator> | ||
3301 | 42 | </HoistIterator> | ||
3302 | 43 | </ForVariable> | ||
3303 | 44 | <ReturnClause> | ||
3304 | 45 | <ElementIterator> | ||
3305 | 46 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | ||
3306 | 47 | <EnclosedIterator attr_cont="false"> | ||
3307 | 48 | <FLWORIterator> | ||
3308 | 49 | <ForVariable name="anzahl"> | ||
3309 | 50 | <ProbeIndexPointValueIterator> | ||
3310 | 51 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3311 | 52 | <UnhoistIterator> | ||
3312 | 53 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3313 | 54 | </UnhoistIterator> | ||
3314 | 55 | </ProbeIndexPointValueIterator> | ||
3315 | 56 | </ForVariable> | ||
3316 | 57 | <ReturnClause> | ||
3317 | 58 | <ElementIterator> | ||
3318 | 59 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3319 | 60 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3320 | 61 | <EnclosedIterator attr_cont="true"> | ||
3321 | 62 | <ForVarIterator varname="anzahl"/> | ||
3322 | 63 | </EnclosedIterator> | ||
3323 | 64 | </AttributeIterator> | ||
3324 | 65 | <EnclosedIterator attr_cont="false"> | ||
3325 | 66 | <ForVarIterator varname="book"/> | ||
3326 | 67 | </EnclosedIterator> | ||
3327 | 68 | </ElementIterator> | ||
3328 | 69 | </ReturnClause> | ||
3329 | 70 | </FLWORIterator> | ||
3330 | 71 | </EnclosedIterator> | ||
3331 | 72 | </ElementIterator> | ||
3332 | 73 | </ReturnClause> | ||
3333 | 74 | </FLWORIterator> | ||
3334 | 75 | </iterator-tree> | ||
3335 | 76 | 76 | ||
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 @@ | |||
3393 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3394 | 2 | <ElementIterator> | 2 | <ElementIterator> |
3395 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3396 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
3397 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
3398 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3399 | 7 | <HoistIterator> | 7 | <HoistIterator> |
3400 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3401 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
3402 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
3403 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
3404 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
3405 | 13 | </HoistIterator> | 13 | </HoistIterator> |
3406 | 14 | </LetVariable> | 14 | </LetVariable> |
3407 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
3408 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3409 | 17 | <FLWORIterator> | 17 | <FLWORIterator> |
3410 | 18 | <ForVariable name="$$opt_temp_1"> | 18 | <ForVariable name="$$opt_temp_1"> |
3411 | 19 | <UnhoistIterator> | 19 | <UnhoistIterator> |
3412 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
3413 | 21 | </UnhoistIterator> | 21 | </UnhoistIterator> |
3414 | 22 | </ForVariable> | 22 | </ForVariable> |
3415 | 23 | <ReturnClause> | 23 | <ReturnClause> |
3416 | 24 | <ValueIndexEntryBuilderIterator> | 24 | <ValueIndexEntryBuilderIterator> |
3417 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | 25 | <ForVarIterator varname="$$opt_temp_1"/> |
3418 | 26 | <FnCountIterator> | 26 | <FnCountIterator> |
3419 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3420 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | 28 | <ForVarIterator varname="$$opt_temp_1"/> |
3421 | 29 | </ChildAxisIterator> | 29 | </ChildAxisIterator> |
3422 | 30 | </FnCountIterator> | 30 | </FnCountIterator> |
3423 | 31 | </ValueIndexEntryBuilderIterator> | 31 | </ValueIndexEntryBuilderIterator> |
3424 | 32 | </ReturnClause> | 32 | </ReturnClause> |
3425 | 33 | </FLWORIterator> | 33 | </FLWORIterator> |
3426 | 34 | </CreateInternalIndexIterator> | 34 | </CreateInternalIndexIterator> |
3427 | 35 | </LetVariable> | 35 | </LetVariable> |
3428 | 36 | <ForVariable name="anzahl"> | 36 | <ForVariable name="anzahl"> |
3429 | 37 | <OpToIterator> | 37 | <OpToIterator> |
3430 | 38 | <SingletonIterator value="xs:integer(1)"/> | 38 | <SingletonIterator value="xs:integer(1)"/> |
3431 | 39 | <SingletonIterator value="xs:integer(2)"/> | 39 | <SingletonIterator value="xs:integer(2)"/> |
3432 | 40 | </OpToIterator> | 40 | </OpToIterator> |
3433 | 41 | </ForVariable> | 41 | </ForVariable> |
3434 | 42 | <ForVariable name="book"> | 42 | <ForVariable name="book"> |
3435 | 43 | <ProbeIndexPointValueIterator> | 43 | <ProbeIndexPointValueIterator> |
3436 | 44 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 44 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
3437 | 45 | <ForVarIterator varname="anzahl"/> | 45 | <ForVarIterator varname="anzahl"/> |
3438 | 46 | </ProbeIndexPointValueIterator> | 46 | </ProbeIndexPointValueIterator> |
3439 | 47 | </ForVariable> | 47 | </ForVariable> |
3440 | 48 | <ReturnClause> | 48 | <ReturnClause> |
3441 | 49 | <ElementIterator> | 49 | <ElementIterator> |
3442 | 50 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 50 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
3443 | 51 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 51 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
3444 | 52 | <EnclosedIterator attr_cont="true"> | 52 | <EnclosedIterator attr_cont="true"> |
3445 | 53 | <ForVarIterator varname="anzahl"/> | 53 | <ForVarIterator varname="anzahl"/> |
3446 | 54 | </EnclosedIterator> | ||
3447 | 55 | </AttributeIterator> | ||
3448 | 56 | <EnclosedIterator attr_cont="false"> | ||
3449 | 57 | <ForVarIterator varname="book"/> | ||
3450 | 54 | </EnclosedIterator> | 58 | </EnclosedIterator> |
3461 | 55 | </AttributeIterator> | 59 | </ElementIterator> |
3462 | 56 | <EnclosedIterator attr_cont="false"> | 60 | </ReturnClause> |
3463 | 57 | <ForVarIterator varname="book"/> | 61 | </FLWORIterator> |
3464 | 58 | </EnclosedIterator> | 62 | </EnclosedIterator> |
3465 | 59 | </ElementIterator> | 63 | </ElementIterator> |
3466 | 60 | </ReturnClause> | 64 | </iterator-tree> |
3457 | 61 | </FLWORIterator> | ||
3458 | 62 | </EnclosedIterator> | ||
3459 | 63 | </ElementIterator> | ||
3460 | 64 | |||
3467 | 65 | 65 | ||
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 @@ | |||
3513 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3514 | 2 | <ElementIterator> | 2 | <ElementIterator> |
3515 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3516 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
3517 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
3518 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3519 | 7 | <HoistIterator> | 7 | <HoistIterator> |
3520 | 8 | <OpToIterator> | 8 | <OpToIterator> |
3521 | 9 | <SingletonIterator value="xs:integer(1)"/> | 9 | <SingletonIterator value="xs:integer(1)"/> |
3522 | 10 | <SingletonIterator value="xs:integer(2)"/> | 10 | <SingletonIterator value="xs:integer(2)"/> |
3523 | 11 | </OpToIterator> | 11 | </OpToIterator> |
3524 | 12 | </HoistIterator> | 12 | </HoistIterator> |
3525 | 13 | </LetVariable> | 13 | </LetVariable> |
3526 | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> | 14 | <LetVariable name="$$opt_temp_4" materialize="true"> |
3527 | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 15 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3528 | 16 | <FLWORIterator> | 16 | <FLWORIterator> |
3529 | 17 | <ForVariable name="$$opt_temp_2"> | 17 | <ForVariable name="$$opt_temp_2"> |
3530 | 18 | <UnhoistIterator> | 18 | <UnhoistIterator> |
3531 | 19 | <LetVarIterator varname="$$opt_temp_0"/> | 19 | <LetVarIterator varname="$$opt_temp_0"/> |
3532 | 20 | </UnhoistIterator> | 20 | </UnhoistIterator> |
3533 | 21 | </ForVariable> | 21 | </ForVariable> |
3534 | 22 | <ReturnClause> | 22 | <ReturnClause> |
3535 | 23 | <ValueIndexEntryBuilderIterator> | 23 | <ValueIndexEntryBuilderIterator> |
3536 | 24 | <ForVarIterator varname="$$opt_temp_2"/> | 24 | <ForVarIterator varname="$$opt_temp_2"/> |
3537 | 25 | <ForVarIterator varname="$$opt_temp_2"/> | 25 | <ForVarIterator varname="$$opt_temp_2"/> |
3538 | 26 | </ValueIndexEntryBuilderIterator> | 26 | </ValueIndexEntryBuilderIterator> |
3539 | 27 | </ReturnClause> | 27 | </ReturnClause> |
3540 | 28 | </FLWORIterator> | 28 | </FLWORIterator> |
3541 | 29 | </CreateInternalIndexIterator> | 29 | </CreateInternalIndexIterator> |
3542 | 30 | </LetVariable> | 30 | </LetVariable> |
3543 | 31 | <ForVariable name="book"> | 31 | <ForVariable name="book"> |
3544 | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 32 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3545 | 33 | <FnDocIterator> | 33 | <FnDocIterator> |
3546 | 34 | <SingletonIterator value="xs:string(books.xml)"/> | 34 | <SingletonIterator value="xs:string(books.xml)"/> |
3547 | 35 | </FnDocIterator> | 35 | </FnDocIterator> |
3548 | 36 | </DescendantAxisIterator> | 36 | </DescendantAxisIterator> |
3549 | 37 | </ForVariable> | 37 | </ForVariable> |
3550 | 38 | <ForVariable name="$$opt_temp_1"> | 38 | <ForVariable name="$$opt_temp_1"> |
3551 | 39 | <HoistIterator> | 39 | <HoistIterator> |
3552 | 40 | <FnCountIterator> | 40 | <FnCountIterator> |
3553 | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3554 | 42 | <ForVarIterator varname="book"/> | ||
3555 | 43 | </ChildAxisIterator> | ||
3556 | 44 | </FnCountIterator> | ||
3557 | 45 | </HoistIterator> | ||
3558 | 46 | </ForVariable> | ||
3559 | 47 | <ForVariable name="anzahl"> | ||
3560 | 48 | <ProbeIndexPointValueIterator> | ||
3561 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3562 | 50 | <UnhoistIterator> | ||
3563 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3564 | 52 | </UnhoistIterator> | ||
3565 | 53 | </ProbeIndexPointValueIterator> | ||
3566 | 54 | </ForVariable> | ||
3567 | 55 | <ReturnClause> | ||
3568 | 56 | <ElementIterator> | ||
3569 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3570 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3571 | 59 | <EnclosedIterator attr_cont="true"> | ||
3572 | 60 | <ForVarIterator varname="anzahl"/> | ||
3573 | 61 | </EnclosedIterator> | ||
3574 | 62 | </AttributeIterator> | ||
3575 | 63 | <EnclosedIterator attr_cont="false"> | ||
3576 | 42 | <ForVarIterator varname="book"/> | 64 | <ForVarIterator varname="book"/> |
3577 | 43 | </ChildAxisIterator> | ||
3578 | 44 | </FnCountIterator> | ||
3579 | 45 | </HoistIterator> | ||
3580 | 46 | </ForVariable> | ||
3581 | 47 | <ForVariable name="anzahl"> | ||
3582 | 48 | <ProbeIndexPointValueIterator> | ||
3583 | 49 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3584 | 50 | <UnhoistIterator> | ||
3585 | 51 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3586 | 52 | </UnhoistIterator> | ||
3587 | 53 | </ProbeIndexPointValueIterator> | ||
3588 | 54 | </ForVariable> | ||
3589 | 55 | <ReturnClause> | ||
3590 | 56 | <ElementIterator> | ||
3591 | 57 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3592 | 58 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3593 | 59 | <EnclosedIterator attr_cont="true"> | ||
3594 | 60 | <ForVarIterator varname="anzahl"/> | ||
3595 | 61 | </EnclosedIterator> | 65 | </EnclosedIterator> |
3606 | 62 | </AttributeIterator> | 66 | </ElementIterator> |
3607 | 63 | <EnclosedIterator attr_cont="false"> | 67 | </ReturnClause> |
3608 | 64 | <ForVarIterator varname="book"/> | 68 | </FLWORIterator> |
3609 | 65 | </EnclosedIterator> | 69 | </EnclosedIterator> |
3610 | 66 | </ElementIterator> | 70 | </ElementIterator> |
3611 | 67 | </ReturnClause> | 71 | </iterator-tree> |
3602 | 68 | </FLWORIterator> | ||
3603 | 69 | </EnclosedIterator> | ||
3604 | 70 | </ElementIterator> | ||
3605 | 71 | |||
3612 | 72 | 72 | ||
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 @@ | |||
3667 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3668 | 2 | <ElementIterator> | 2 | <ElementIterator> |
3669 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3670 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
3671 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
3672 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3673 | 7 | <HoistIterator> | 7 | <HoistIterator> |
3674 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3675 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
3676 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
3677 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
3678 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
3679 | 13 | </HoistIterator> | 13 | </HoistIterator> |
3680 | 14 | </LetVariable> | 14 | </LetVariable> |
3681 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
3682 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3633 | 17 | <FLWORIterator> | ||
3634 | 18 | <ForVariable name="$$opt_temp_1"> | ||
3635 | 19 | <UnhoistIterator> | ||
3636 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | ||
3637 | 21 | </UnhoistIterator> | ||
3638 | 22 | </ForVariable> | ||
3639 | 23 | <ReturnClause> | ||
3640 | 24 | <ValueIndexEntryBuilderIterator> | ||
3641 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3642 | 26 | <FnCountIterator> | ||
3643 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3644 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3645 | 29 | </ChildAxisIterator> | ||
3646 | 30 | </FnCountIterator> | ||
3647 | 31 | </ValueIndexEntryBuilderIterator> | ||
3648 | 32 | </ReturnClause> | ||
3649 | 33 | </FLWORIterator> | ||
3650 | 34 | </CreateInternalIndexIterator> | ||
3651 | 35 | </LetVariable> | ||
3652 | 36 | <ForVariable name="anzahl"> | ||
3653 | 37 | <OpToIterator> | ||
3654 | 38 | <SingletonIterator value="xs:integer(1)"/> | ||
3655 | 39 | <SingletonIterator value="xs:integer(2)"/> | ||
3656 | 40 | </OpToIterator> | ||
3657 | 41 | </ForVariable> | ||
3658 | 42 | <ReturnClause> | ||
3659 | 43 | <ElementIterator> | ||
3660 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3661 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3662 | 46 | <EnclosedIterator attr_cont="true"> | ||
3663 | 47 | <ForVarIterator varname="anzahl"/> | ||
3664 | 48 | </EnclosedIterator> | ||
3665 | 49 | </AttributeIterator> | ||
3666 | 50 | <EnclosedIterator attr_cont="false"> | ||
3683 | 51 | <FLWORIterator> | 17 | <FLWORIterator> |
3689 | 52 | <ForVariable name="book"> | 18 | <ForVariable name="$$opt_temp_1"> |
3690 | 53 | <ProbeIndexPointValueIterator> | 19 | <UnhoistIterator> |
3691 | 54 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
3692 | 55 | <ForVarIterator varname="anzahl"/> | 21 | </UnhoistIterator> |
3688 | 56 | </ProbeIndexPointValueIterator> | ||
3693 | 57 | </ForVariable> | 22 | </ForVariable> |
3694 | 58 | <ReturnClause> | 23 | <ReturnClause> |
3696 | 59 | <ForVarIterator varname="book"/> | 24 | <ValueIndexEntryBuilderIterator> |
3697 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3698 | 26 | <FnCountIterator> | ||
3699 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3700 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3701 | 29 | </ChildAxisIterator> | ||
3702 | 30 | </FnCountIterator> | ||
3703 | 31 | </ValueIndexEntryBuilderIterator> | ||
3704 | 60 | </ReturnClause> | 32 | </ReturnClause> |
3705 | 61 | </FLWORIterator> | 33 | </FLWORIterator> |
3713 | 62 | </EnclosedIterator> | 34 | </CreateInternalIndexIterator> |
3714 | 63 | </ElementIterator> | 35 | </LetVariable> |
3715 | 64 | </ReturnClause> | 36 | <ForVariable name="anzahl"> |
3716 | 65 | </FLWORIterator> | 37 | <OpToIterator> |
3717 | 66 | </EnclosedIterator> | 38 | <SingletonIterator value="xs:integer(1)"/> |
3718 | 67 | </ElementIterator> | 39 | <SingletonIterator value="xs:integer(2)"/> |
3719 | 68 | 40 | </OpToIterator> | |
3720 | 41 | </ForVariable> | ||
3721 | 42 | <ReturnClause> | ||
3722 | 43 | <ElementIterator> | ||
3723 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3724 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3725 | 46 | <EnclosedIterator attr_cont="true"> | ||
3726 | 47 | <ForVarIterator varname="anzahl"/> | ||
3727 | 48 | </EnclosedIterator> | ||
3728 | 49 | </AttributeIterator> | ||
3729 | 50 | <EnclosedIterator attr_cont="false"> | ||
3730 | 51 | <FLWORIterator> | ||
3731 | 52 | <ForVariable name="book"> | ||
3732 | 53 | <ProbeIndexPointValueIterator> | ||
3733 | 54 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3734 | 55 | <ForVarIterator varname="anzahl"/> | ||
3735 | 56 | </ProbeIndexPointValueIterator> | ||
3736 | 57 | </ForVariable> | ||
3737 | 58 | <ReturnClause> | ||
3738 | 59 | <ForVarIterator varname="book"/> | ||
3739 | 60 | </ReturnClause> | ||
3740 | 61 | </FLWORIterator> | ||
3741 | 62 | </EnclosedIterator> | ||
3742 | 63 | </ElementIterator> | ||
3743 | 64 | </ReturnClause> | ||
3744 | 65 | </FLWORIterator> | ||
3745 | 66 | </EnclosedIterator> | ||
3746 | 67 | </ElementIterator> | ||
3747 | 68 | </iterator-tree> | ||
3748 | 69 | 69 | ||
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 @@ | |||
3806 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3807 | 2 | <ElementIterator> | 2 | <ElementIterator> |
3808 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3809 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
3810 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
3811 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3812 | 7 | <HoistIterator> | 7 | <HoistIterator> |
3813 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3814 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
3815 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
3816 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
3817 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
3818 | 13 | </HoistIterator> | 13 | </HoistIterator> |
3819 | 14 | </LetVariable> | 14 | </LetVariable> |
3820 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
3821 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
3769 | 17 | <FLWORIterator> | ||
3770 | 18 | <ForVariable name="$$opt_temp_1"> | ||
3771 | 19 | <UnhoistIterator> | ||
3772 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | ||
3773 | 21 | </UnhoistIterator> | ||
3774 | 22 | </ForVariable> | ||
3775 | 23 | <ReturnClause> | ||
3776 | 24 | <ValueIndexEntryBuilderIterator> | ||
3777 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3778 | 26 | <FnCountIterator> | ||
3779 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3780 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3781 | 29 | </ChildAxisIterator> | ||
3782 | 30 | </FnCountIterator> | ||
3783 | 31 | </ValueIndexEntryBuilderIterator> | ||
3784 | 32 | </ReturnClause> | ||
3785 | 33 | </FLWORIterator> | ||
3786 | 34 | </CreateInternalIndexIterator> | ||
3787 | 35 | </LetVariable> | ||
3788 | 36 | <ForVariable name="anzahl"> | ||
3789 | 37 | <OpToIterator> | ||
3790 | 38 | <SingletonIterator value="xs:integer(1)"/> | ||
3791 | 39 | <SingletonIterator value="xs:integer(2)"/> | ||
3792 | 40 | </OpToIterator> | ||
3793 | 41 | </ForVariable> | ||
3794 | 42 | <OrderBySpec> | ||
3795 | 43 | <ForVarIterator varname="anzahl"/> | ||
3796 | 44 | </OrderBySpec> | ||
3797 | 45 | <ReturnClause> | ||
3798 | 46 | <ElementIterator> | ||
3799 | 47 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3800 | 48 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3801 | 49 | <EnclosedIterator attr_cont="true"> | ||
3802 | 50 | <ForVarIterator varname="anzahl"/> | ||
3803 | 51 | </EnclosedIterator> | ||
3804 | 52 | </AttributeIterator> | ||
3805 | 53 | <EnclosedIterator attr_cont="false"> | ||
3822 | 54 | <FLWORIterator> | 17 | <FLWORIterator> |
3828 | 55 | <ForVariable name="book"> | 18 | <ForVariable name="$$opt_temp_1"> |
3829 | 56 | <ProbeIndexPointValueIterator> | 19 | <UnhoistIterator> |
3830 | 57 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
3831 | 58 | <ForVarIterator varname="anzahl"/> | 21 | </UnhoistIterator> |
3827 | 59 | </ProbeIndexPointValueIterator> | ||
3832 | 60 | </ForVariable> | 22 | </ForVariable> |
3833 | 61 | <ReturnClause> | 23 | <ReturnClause> |
3835 | 62 | <ForVarIterator varname="book"/> | 24 | <ValueIndexEntryBuilderIterator> |
3836 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3837 | 26 | <FnCountIterator> | ||
3838 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3839 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3840 | 29 | </ChildAxisIterator> | ||
3841 | 30 | </FnCountIterator> | ||
3842 | 31 | </ValueIndexEntryBuilderIterator> | ||
3843 | 63 | </ReturnClause> | 32 | </ReturnClause> |
3844 | 64 | </FLWORIterator> | 33 | </FLWORIterator> |
3852 | 65 | </EnclosedIterator> | 34 | </CreateInternalIndexIterator> |
3853 | 66 | </ElementIterator> | 35 | </LetVariable> |
3854 | 67 | </ReturnClause> | 36 | <ForVariable name="anzahl"> |
3855 | 68 | </FLWORIterator> | 37 | <OpToIterator> |
3856 | 69 | </EnclosedIterator> | 38 | <SingletonIterator value="xs:integer(1)"/> |
3857 | 70 | </ElementIterator> | 39 | <SingletonIterator value="xs:integer(2)"/> |
3858 | 71 | 40 | </OpToIterator> | |
3859 | 41 | </ForVariable> | ||
3860 | 42 | <OrderBySpec> | ||
3861 | 43 | <ForVarIterator varname="anzahl"/> | ||
3862 | 44 | </OrderBySpec> | ||
3863 | 45 | <ReturnClause> | ||
3864 | 46 | <ElementIterator> | ||
3865 | 47 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3866 | 48 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3867 | 49 | <EnclosedIterator attr_cont="true"> | ||
3868 | 50 | <ForVarIterator varname="anzahl"/> | ||
3869 | 51 | </EnclosedIterator> | ||
3870 | 52 | </AttributeIterator> | ||
3871 | 53 | <EnclosedIterator attr_cont="false"> | ||
3872 | 54 | <FLWORIterator> | ||
3873 | 55 | <ForVariable name="book"> | ||
3874 | 56 | <ProbeIndexPointValueIterator> | ||
3875 | 57 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
3876 | 58 | <ForVarIterator varname="anzahl"/> | ||
3877 | 59 | </ProbeIndexPointValueIterator> | ||
3878 | 60 | </ForVariable> | ||
3879 | 61 | <ReturnClause> | ||
3880 | 62 | <ForVarIterator varname="book"/> | ||
3881 | 63 | </ReturnClause> | ||
3882 | 64 | </FLWORIterator> | ||
3883 | 65 | </EnclosedIterator> | ||
3884 | 66 | </ElementIterator> | ||
3885 | 67 | </ReturnClause> | ||
3886 | 68 | </FLWORIterator> | ||
3887 | 69 | </EnclosedIterator> | ||
3888 | 70 | </ElementIterator> | ||
3889 | 71 | </iterator-tree> | ||
3890 | 72 | 72 | ||
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 @@ | |||
3902 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
3903 | 2 | <ElementIterator> | 2 | <ElementIterator> |
3904 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
3905 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
3906 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
3907 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
3908 | 7 | <HoistIterator> | 7 | <HoistIterator> |
3909 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | ||
3910 | 9 | <FnDocIterator> | ||
3911 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | ||
3912 | 11 | </FnDocIterator> | ||
3913 | 12 | </DescendantAxisIterator> | ||
3914 | 13 | </HoistIterator> | ||
3915 | 14 | </LetVariable> | ||
3916 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | ||
3917 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | ||
3918 | 17 | <FLWORIterator> | ||
3919 | 18 | <ForVariable name="$$opt_temp_1"> | ||
3920 | 19 | <UnhoistIterator> | ||
3921 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | ||
3922 | 21 | </UnhoistIterator> | ||
3923 | 22 | </ForVariable> | ||
3924 | 23 | <ReturnClause> | ||
3925 | 24 | <ValueIndexEntryBuilderIterator> | ||
3926 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3927 | 26 | <FnCountIterator> | ||
3928 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3929 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
3930 | 29 | </ChildAxisIterator> | ||
3931 | 30 | </FnCountIterator> | ||
3932 | 31 | </ValueIndexEntryBuilderIterator> | ||
3933 | 32 | </ReturnClause> | ||
3934 | 33 | </FLWORIterator> | ||
3935 | 34 | </CreateInternalIndexIterator> | ||
3936 | 35 | </LetVariable> | ||
3937 | 36 | <ForVariable name="book"> | ||
3938 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 37 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
3939 | 9 | <FnDocIterator> | 38 | <FnDocIterator> |
3940 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 39 | <SingletonIterator value="xs:string(books.xml)"/> |
3941 | 11 | </FnDocIterator> | 40 | </FnDocIterator> |
3942 | 12 | </DescendantAxisIterator> | 41 | </DescendantAxisIterator> |
3989 | 13 | </HoistIterator> | 42 | </ForVariable> |
3990 | 14 | </LetVariable> | 43 | <ForVariable name="anzahl"> |
3991 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 44 | <FnCountIterator> |
3992 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 45 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
3993 | 17 | <FLWORIterator> | 46 | <ForVarIterator varname="book"/> |
3994 | 18 | <ForVariable name="$$opt_temp_1"> | 47 | </ChildAxisIterator> |
3995 | 19 | <UnhoistIterator> | 48 | </FnCountIterator> |
3996 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | 49 | </ForVariable> |
3997 | 21 | </UnhoistIterator> | 50 | <OrderBySpec> |
3998 | 22 | </ForVariable> | 51 | <ForVarIterator varname="anzahl"/> |
3999 | 23 | <ReturnClause> | 52 | </OrderBySpec> |
4000 | 24 | <ValueIndexEntryBuilderIterator> | 53 | <ReturnClause> |
4001 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | 54 | <ElementIterator> |
4002 | 26 | <FnCountIterator> | 55 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
4003 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 56 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
4004 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | 57 | <EnclosedIterator attr_cont="true"> |
4005 | 29 | </ChildAxisIterator> | 58 | <ForVarIterator varname="anzahl"/> |
4006 | 30 | </FnCountIterator> | 59 | </EnclosedIterator> |
4007 | 31 | </ValueIndexEntryBuilderIterator> | 60 | </AttributeIterator> |
4008 | 32 | </ReturnClause> | 61 | <EnclosedIterator attr_cont="false"> |
4009 | 33 | </FLWORIterator> | 62 | <FLWORIterator> |
4010 | 34 | </CreateInternalIndexIterator> | 63 | <ForVariable name="book"> |
4011 | 35 | </LetVariable> | 64 | <ProbeIndexPointValueIterator> |
4012 | 36 | <ForVariable name="book"> | 65 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4013 | 37 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 66 | <ForVarIterator varname="anzahl"/> |
4014 | 38 | <FnDocIterator> | 67 | </ProbeIndexPointValueIterator> |
4015 | 39 | <SingletonIterator value="xs:string(books.xml)"/> | 68 | </ForVariable> |
4016 | 40 | </FnDocIterator> | 69 | <ReturnClause> |
4017 | 41 | </DescendantAxisIterator> | 70 | <ForVarIterator varname="book"/> |
4018 | 42 | </ForVariable> | 71 | </ReturnClause> |
4019 | 43 | <ForVariable name="anzahl"> | 72 | </FLWORIterator> |
3974 | 44 | <FnCountIterator> | ||
3975 | 45 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
3976 | 46 | <ForVarIterator varname="book"/> | ||
3977 | 47 | </ChildAxisIterator> | ||
3978 | 48 | </FnCountIterator> | ||
3979 | 49 | </ForVariable> | ||
3980 | 50 | <OrderBySpec> | ||
3981 | 51 | <ForVarIterator varname="anzahl"/> | ||
3982 | 52 | </OrderBySpec> | ||
3983 | 53 | <ReturnClause> | ||
3984 | 54 | <ElementIterator> | ||
3985 | 55 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
3986 | 56 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
3987 | 57 | <EnclosedIterator attr_cont="true"> | ||
3988 | 58 | <ForVarIterator varname="anzahl"/> | ||
4020 | 59 | </EnclosedIterator> | 73 | </EnclosedIterator> |
4041 | 60 | </AttributeIterator> | 74 | </ElementIterator> |
4042 | 61 | <EnclosedIterator attr_cont="false"> | 75 | </ReturnClause> |
4043 | 62 | <FLWORIterator> | 76 | </FLWORIterator> |
4044 | 63 | <ForVariable name="book"> | 77 | </EnclosedIterator> |
4045 | 64 | <ProbeIndexPointValueIterator> | 78 | </ElementIterator> |
4046 | 65 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 79 | </iterator-tree> |
4027 | 66 | <ForVarIterator varname="anzahl"/> | ||
4028 | 67 | </ProbeIndexPointValueIterator> | ||
4029 | 68 | </ForVariable> | ||
4030 | 69 | <ReturnClause> | ||
4031 | 70 | <ForVarIterator varname="book"/> | ||
4032 | 71 | </ReturnClause> | ||
4033 | 72 | </FLWORIterator> | ||
4034 | 73 | </EnclosedIterator> | ||
4035 | 74 | </ElementIterator> | ||
4036 | 75 | </ReturnClause> | ||
4037 | 76 | </FLWORIterator> | ||
4038 | 77 | </EnclosedIterator> | ||
4039 | 78 | </ElementIterator> | ||
4040 | 79 | |||
4047 | 80 | 80 | ||
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 @@ | |||
4102 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
4103 | 2 | <ElementIterator> | 2 | <ElementIterator> |
4104 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4105 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
4106 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
4107 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
4108 | 7 | <HoistIterator> | 7 | <HoistIterator> |
4109 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4110 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
4111 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
4112 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
4113 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
4114 | 13 | </HoistIterator> | 13 | </HoistIterator> |
4115 | 14 | </LetVariable> | 14 | </LetVariable> |
4116 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
4117 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4118 | 17 | <FLWORIterator> | 17 | <FLWORIterator> |
4119 | 18 | <ForVariable name="$$opt_temp_1"> | 18 | <ForVariable name="$$opt_temp_1"> |
4120 | 19 | <UnhoistIterator> | 19 | <UnhoistIterator> |
4121 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
4122 | 21 | </UnhoistIterator> | 21 | </UnhoistIterator> |
4123 | 22 | </ForVariable> | 22 | </ForVariable> |
4124 | 23 | <ReturnClause> | 23 | <ReturnClause> |
4125 | 24 | <ValueIndexEntryBuilderIterator> | 24 | <ValueIndexEntryBuilderIterator> |
4126 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | 25 | <ForVarIterator varname="$$opt_temp_1"/> |
4127 | 26 | <FnCountIterator> | 26 | <FnCountIterator> |
4128 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4129 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | 28 | <ForVarIterator varname="$$opt_temp_1"/> |
4130 | 29 | </ChildAxisIterator> | 29 | </ChildAxisIterator> |
4131 | 30 | </FnCountIterator> | 30 | </FnCountIterator> |
4132 | 31 | </ValueIndexEntryBuilderIterator> | 31 | </ValueIndexEntryBuilderIterator> |
4133 | 32 | </ReturnClause> | 32 | </ReturnClause> |
4134 | 33 | </FLWORIterator> | 33 | </FLWORIterator> |
4135 | 34 | </CreateInternalIndexIterator> | 34 | </CreateInternalIndexIterator> |
4136 | 35 | </LetVariable> | 35 | </LetVariable> |
4137 | 36 | <ForVariable name="anzahl"> | 36 | <ForVariable name="anzahl"> |
4138 | 37 | <OpToIterator> | 37 | <OpToIterator> |
4139 | 38 | <SingletonIterator value="xs:integer(1)"/> | 38 | <SingletonIterator value="xs:integer(1)"/> |
4140 | 39 | <SingletonIterator value="xs:integer(5)"/> | 39 | <SingletonIterator value="xs:integer(5)"/> |
4141 | 40 | </OpToIterator> | 40 | </OpToIterator> |
4142 | 41 | </ForVariable> | 41 | </ForVariable> |
4143 | 42 | <ReturnClause> | 42 | <ReturnClause> |
4144 | 43 | <ElementIterator> | 43 | <ElementIterator> |
4145 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
4146 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
4147 | 46 | <EnclosedIterator attr_cont="true"> | 46 | <EnclosedIterator attr_cont="true"> |
4148 | 47 | <FLWORIterator> | 47 | <FLWORIterator> |
4149 | 48 | <ForVariable name="karte"> | 48 | <ForVariable name="karte"> |
4150 | 49 | <ProbeIndexPointValueIterator> | 49 | <ProbeIndexPointValueIterator> |
4151 | 50 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 50 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4152 | 51 | <ForVarIterator varname="anzahl"/> | ||
4153 | 52 | </ProbeIndexPointValueIterator> | ||
4154 | 53 | </ForVariable> | ||
4155 | 54 | <ReturnClause> | ||
4156 | 51 | <ForVarIterator varname="anzahl"/> | 55 | <ForVarIterator varname="anzahl"/> |
4172 | 52 | </ProbeIndexPointValueIterator> | 56 | </ReturnClause> |
4173 | 53 | </ForVariable> | 57 | </FLWORIterator> |
4174 | 54 | <ReturnClause> | 58 | </EnclosedIterator> |
4175 | 55 | <ForVarIterator varname="anzahl"/> | 59 | </AttributeIterator> |
4176 | 56 | </ReturnClause> | 60 | <FnConcatIterator/> |
4177 | 57 | </FLWORIterator> | 61 | </ElementIterator> |
4178 | 58 | </EnclosedIterator> | 62 | </ReturnClause> |
4179 | 59 | </AttributeIterator> | 63 | </FLWORIterator> |
4180 | 60 | <FnConcatIterator/> | 64 | </EnclosedIterator> |
4181 | 61 | </ElementIterator> | 65 | </ElementIterator> |
4182 | 62 | </ReturnClause> | 66 | </iterator-tree> |
4168 | 63 | </FLWORIterator> | ||
4169 | 64 | </EnclosedIterator> | ||
4170 | 65 | </ElementIterator> | ||
4171 | 66 | |||
4183 | 67 | 67 | ||
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 @@ | |||
4238 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
4239 | 2 | <FLWORIterator> | 2 | <FLWORIterator> |
4240 | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> | 3 | <LetVariable name="$$opt_temp_0" materialize="true"> |
4241 | 4 | <HoistIterator> | 4 | <HoistIterator> |
4242 | 5 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 5 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4243 | 6 | <FnDocIterator> | 6 | <FnDocIterator> |
4244 | 7 | <SingletonIterator value="xs:string(books.xml)"/> | 7 | <SingletonIterator value="xs:string(books.xml)"/> |
4245 | 8 | </FnDocIterator> | 8 | </FnDocIterator> |
4246 | 9 | </DescendantAxisIterator> | 9 | </DescendantAxisIterator> |
4247 | 10 | </HoistIterator> | 10 | </HoistIterator> |
4248 | 11 | </LetVariable> | 11 | </LetVariable> |
4249 | 12 | <LetVariable name="$$opt_temp_3" materialize="true"> | 12 | <LetVariable name="$$opt_temp_3" materialize="true"> |
4250 | 13 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 13 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4251 | 14 | <FLWORIterator> | 14 | <FLWORIterator> |
4252 | 15 | <ForVariable name="$$opt_temp_1"> | 15 | <ForVariable name="$$opt_temp_1"> |
4253 | 16 | <UnhoistIterator> | 16 | <UnhoistIterator> |
4254 | 17 | <LetVarIterator varname="$$opt_temp_0"/> | 17 | <LetVarIterator varname="$$opt_temp_0"/> |
4255 | 18 | </UnhoistIterator> | 18 | </UnhoistIterator> |
4256 | 19 | </ForVariable> | 19 | </ForVariable> |
4257 | 20 | <ReturnClause> | 20 | <ReturnClause> |
4258 | 21 | <ValueIndexEntryBuilderIterator> | 21 | <ValueIndexEntryBuilderIterator> |
4259 | 22 | <ForVarIterator varname="$$opt_temp_1"/> | 22 | <ForVarIterator varname="$$opt_temp_1"/> |
4260 | 23 | <FnCountIterator> | 23 | <FnCountIterator> |
4261 | 24 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 24 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4262 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | 25 | <ForVarIterator varname="$$opt_temp_1"/> |
4263 | 26 | </ChildAxisIterator> | 26 | </ChildAxisIterator> |
4264 | 27 | </FnCountIterator> | 27 | </FnCountIterator> |
4265 | 28 | </ValueIndexEntryBuilderIterator> | 28 | </ValueIndexEntryBuilderIterator> |
4266 | 29 | </ReturnClause> | 29 | </ReturnClause> |
4267 | 30 | </FLWORIterator> | 30 | </FLWORIterator> |
4268 | 31 | </CreateInternalIndexIterator> | 31 | </CreateInternalIndexIterator> |
4269 | 32 | </LetVariable> | 32 | </LetVariable> |
4270 | 33 | <ForVariable name="anzahl"> | 33 | <ForVariable name="anzahl"> |
4271 | 34 | <OpToIterator> | 34 | <OpToIterator> |
4272 | 35 | <SingletonIterator value="xs:integer(1)"/> | 35 | <SingletonIterator value="xs:integer(1)"/> |
4273 | 36 | <SingletonIterator value="xs:integer(5)"/> | 36 | <SingletonIterator value="xs:integer(5)"/> |
4274 | 37 | </OpToIterator> | 37 | </OpToIterator> |
4275 | 38 | </ForVariable> | 38 | </ForVariable> |
4276 | 39 | <ReturnClause> | 39 | <ReturnClause> |
4277 | 40 | <ElementIterator> | 40 | <ElementIterator> |
4278 | 41 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 41 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4279 | 42 | <EnclosedIterator attr_cont="false"> | 42 | <EnclosedIterator attr_cont="false"> |
4280 | 43 | <ElementIterator> | 43 | <ElementIterator> |
4281 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
4282 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
4283 | 46 | <EnclosedIterator attr_cont="true"> | 46 | <EnclosedIterator attr_cont="true"> |
4284 | 47 | <FLWORIterator> | 47 | <FLWORIterator> |
4285 | 48 | <ForVariable name="karte"> | 48 | <ForVariable name="karte"> |
4286 | 49 | <ProbeIndexPointValueIterator> | 49 | <ProbeIndexPointValueIterator> |
4287 | 50 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 50 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4288 | 51 | <ForVarIterator varname="anzahl"/> | ||
4289 | 52 | </ProbeIndexPointValueIterator> | ||
4290 | 53 | </ForVariable> | ||
4291 | 54 | <ReturnClause> | ||
4292 | 51 | <ForVarIterator varname="anzahl"/> | 55 | <ForVarIterator varname="anzahl"/> |
4308 | 52 | </ProbeIndexPointValueIterator> | 56 | </ReturnClause> |
4309 | 53 | </ForVariable> | 57 | </FLWORIterator> |
4310 | 54 | <ReturnClause> | 58 | </EnclosedIterator> |
4311 | 55 | <ForVarIterator varname="anzahl"/> | 59 | </AttributeIterator> |
4312 | 56 | </ReturnClause> | 60 | <FnConcatIterator/> |
4313 | 57 | </FLWORIterator> | 61 | </ElementIterator> |
4314 | 58 | </EnclosedIterator> | 62 | </EnclosedIterator> |
4315 | 59 | </AttributeIterator> | 63 | </ElementIterator> |
4316 | 60 | <FnConcatIterator/> | 64 | </ReturnClause> |
4317 | 61 | </ElementIterator> | 65 | </FLWORIterator> |
4318 | 62 | </EnclosedIterator> | 66 | </iterator-tree> |
4304 | 63 | </ElementIterator> | ||
4305 | 64 | </ReturnClause> | ||
4306 | 65 | </FLWORIterator> | ||
4307 | 66 | |||
4319 | 67 | 67 | ||
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 @@ | |||
4377 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
4378 | 2 | <ElementIterator> | 2 | <ElementIterator> |
4379 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4380 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
4381 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
4382 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
4383 | 7 | <HoistIterator> | 7 | <HoistIterator> |
4384 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4385 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
4386 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
4387 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
4388 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
4389 | 13 | </HoistIterator> | 13 | </HoistIterator> |
4390 | 14 | </LetVariable> | 14 | </LetVariable> |
4391 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
4392 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4393 | 17 | <FLWORIterator> | 17 | <FLWORIterator> |
4394 | 18 | <ForVariable name="$$opt_temp_1"> | 18 | <ForVariable name="$$opt_temp_1"> |
4395 | 19 | <UnhoistIterator> | 19 | <UnhoistIterator> |
4396 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
4397 | 21 | </UnhoistIterator> | 21 | </UnhoistIterator> |
4398 | 22 | </ForVariable> | 22 | </ForVariable> |
4399 | 23 | <ReturnClause> | 23 | <ReturnClause> |
4400 | 24 | <ValueIndexEntryBuilderIterator> | 24 | <ValueIndexEntryBuilderIterator> |
4401 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | 25 | <ForVarIterator varname="$$opt_temp_1"/> |
4402 | 26 | <FnCountIterator> | 26 | <FnCountIterator> |
4403 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4404 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | 28 | <ForVarIterator varname="$$opt_temp_1"/> |
4405 | 29 | </ChildAxisIterator> | 29 | </ChildAxisIterator> |
4406 | 30 | </FnCountIterator> | 30 | </FnCountIterator> |
4407 | 31 | </ValueIndexEntryBuilderIterator> | 31 | </ValueIndexEntryBuilderIterator> |
4408 | 32 | </ReturnClause> | 32 | </ReturnClause> |
4409 | 33 | </FLWORIterator> | 33 | </FLWORIterator> |
4410 | 34 | </CreateInternalIndexIterator> | 34 | </CreateInternalIndexIterator> |
4411 | 35 | </LetVariable> | 35 | </LetVariable> |
4412 | 36 | <ForVariable name="anzahl"> | 36 | <ForVariable name="anzahl"> |
4413 | 37 | <OpToIterator> | 37 | <OpToIterator> |
4414 | 38 | <SingletonIterator value="xs:integer(1)"/> | 38 | <SingletonIterator value="xs:integer(1)"/> |
4415 | 39 | <SingletonIterator value="xs:integer(2)"/> | 39 | <SingletonIterator value="xs:integer(2)"/> |
4416 | 40 | </OpToIterator> | 40 | </OpToIterator> |
4417 | 41 | </ForVariable> | 41 | </ForVariable> |
4418 | 42 | <ReturnClause> | 42 | <ReturnClause> |
4419 | 43 | <ElementIterator> | 43 | <ElementIterator> |
4420 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
4421 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
4422 | 46 | <FnDataIterator> | 46 | <FnDataIterator> |
4423 | 47 | <FnConcatIterator> | 47 | <FnConcatIterator> |
4424 | 48 | <SingletonIterator value="xs:string( )"/> | 48 | <SingletonIterator value="xs:string( )"/> |
4425 | 49 | <EnclosedIterator attr_cont="true"> | 49 | <EnclosedIterator attr_cont="true"> |
4426 | 50 | <FLWORIterator> | 50 | <FLWORIterator> |
4427 | 51 | <ForVariable name="karte"> | 51 | <ForVariable name="karte"> |
4428 | 52 | <ProbeIndexPointValueIterator> | 52 | <ProbeIndexPointValueIterator> |
4429 | 53 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 53 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4430 | 54 | <ForVarIterator varname="anzahl"/> | ||
4431 | 55 | </ProbeIndexPointValueIterator> | ||
4432 | 56 | </ForVariable> | ||
4433 | 57 | <ReturnClause> | ||
4434 | 54 | <ForVarIterator varname="anzahl"/> | 58 | <ForVarIterator varname="anzahl"/> |
4452 | 55 | </ProbeIndexPointValueIterator> | 59 | </ReturnClause> |
4453 | 56 | </ForVariable> | 60 | </FLWORIterator> |
4454 | 57 | <ReturnClause> | 61 | </EnclosedIterator> |
4455 | 58 | <ForVarIterator varname="anzahl"/> | 62 | </FnConcatIterator> |
4456 | 59 | </ReturnClause> | 63 | </FnDataIterator> |
4457 | 60 | </FLWORIterator> | 64 | </AttributeIterator> |
4458 | 61 | </EnclosedIterator> | 65 | <FnConcatIterator/> |
4459 | 62 | </FnConcatIterator> | 66 | </ElementIterator> |
4460 | 63 | </FnDataIterator> | 67 | </ReturnClause> |
4461 | 64 | </AttributeIterator> | 68 | </FLWORIterator> |
4462 | 65 | <FnConcatIterator/> | 69 | </EnclosedIterator> |
4463 | 66 | </ElementIterator> | 70 | </ElementIterator> |
4464 | 67 | </ReturnClause> | 71 | </iterator-tree> |
4448 | 68 | </FLWORIterator> | ||
4449 | 69 | </EnclosedIterator> | ||
4450 | 70 | </ElementIterator> | ||
4451 | 71 | |||
4465 | 72 | 72 | ||
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 @@ | |||
4521 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
4522 | 2 | <ElementIterator> | 2 | <ElementIterator> |
4523 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4524 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
4525 | 5 | <ElementIterator> | 5 | <ElementIterator> |
4526 | 6 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 6 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
4527 | 7 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 7 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
4528 | 8 | <FnDataIterator> | 8 | <FnDataIterator> |
4529 | 9 | <FnConcatIterator> | 9 | <FnConcatIterator> |
4530 | 10 | <SingletonIterator value="xs:string( )"/> | 10 | <SingletonIterator value="xs:string( )"/> |
4531 | 11 | <EnclosedIterator attr_cont="true"> | 11 | <EnclosedIterator attr_cont="true"> |
4532 | 12 | <FLWORIterator> | 12 | <FLWORIterator> |
4533 | 13 | <LetVariable name="$$opt_temp_0" materialize="true"> | 13 | <LetVariable name="$$opt_temp_0" materialize="true"> |
4534 | 14 | <HoistIterator> | 14 | <HoistIterator> |
4535 | 15 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 15 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4536 | 16 | <FnDocIterator> | 16 | <FnDocIterator> |
4537 | 17 | <SingletonIterator value="xs:string(books.xml)"/> | 17 | <SingletonIterator value="xs:string(books.xml)"/> |
4538 | 18 | </FnDocIterator> | 18 | </FnDocIterator> |
4539 | 19 | </DescendantAxisIterator> | 19 | </DescendantAxisIterator> |
4540 | 20 | </HoistIterator> | 20 | </HoistIterator> |
4541 | 21 | </LetVariable> | 21 | </LetVariable> |
4542 | 22 | <LetVariable name="$$opt_temp_3" materialize="true"> | 22 | <LetVariable name="$$opt_temp_3" materialize="true"> |
4543 | 23 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 23 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4544 | 24 | <FLWORIterator> | 24 | <FLWORIterator> |
4545 | 25 | <ForVariable name="$$opt_temp_1"> | 25 | <ForVariable name="$$opt_temp_1"> |
4546 | 26 | <UnhoistIterator> | 26 | <UnhoistIterator> |
4547 | 27 | <LetVarIterator varname="$$opt_temp_0"/> | 27 | <LetVarIterator varname="$$opt_temp_0"/> |
4548 | 28 | </UnhoistIterator> | 28 | </UnhoistIterator> |
4549 | 29 | </ForVariable> | 29 | </ForVariable> |
4550 | 30 | <ReturnClause> | 30 | <ReturnClause> |
4551 | 31 | <ValueIndexEntryBuilderIterator> | 31 | <ValueIndexEntryBuilderIterator> |
4552 | 32 | <ForVarIterator varname="$$opt_temp_1"/> | 32 | <ForVarIterator varname="$$opt_temp_1"/> |
4553 | 33 | <FnCountIterator> | 33 | <FnCountIterator> |
4554 | 34 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 34 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4555 | 35 | <ForVarIterator varname="$$opt_temp_1"/> | 35 | <ForVarIterator varname="$$opt_temp_1"/> |
4556 | 36 | </ChildAxisIterator> | 36 | </ChildAxisIterator> |
4557 | 37 | </FnCountIterator> | 37 | </FnCountIterator> |
4558 | 38 | </ValueIndexEntryBuilderIterator> | 38 | </ValueIndexEntryBuilderIterator> |
4559 | 39 | </ReturnClause> | 39 | </ReturnClause> |
4560 | 40 | </FLWORIterator> | 40 | </FLWORIterator> |
4561 | 41 | </CreateInternalIndexIterator> | 41 | </CreateInternalIndexIterator> |
4562 | 42 | </LetVariable> | 42 | </LetVariable> |
4563 | 43 | <ForVariable name="anzahl"> | 43 | <ForVariable name="anzahl"> |
4564 | 44 | <OpToIterator> | 44 | <OpToIterator> |
4565 | 45 | <SingletonIterator value="xs:integer(1)"/> | 45 | <SingletonIterator value="xs:integer(1)"/> |
4566 | 46 | <SingletonIterator value="xs:integer(2)"/> | 46 | <SingletonIterator value="xs:integer(2)"/> |
4567 | 47 | </OpToIterator> | 47 | </OpToIterator> |
4568 | 48 | </ForVariable> | 48 | </ForVariable> |
4569 | 49 | <ForVariable name="karte"> | 49 | <ForVariable name="karte"> |
4570 | 50 | <ProbeIndexPointValueIterator> | 50 | <ProbeIndexPointValueIterator> |
4571 | 51 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 51 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4572 | 52 | <ForVarIterator varname="anzahl"/> | ||
4573 | 53 | </ProbeIndexPointValueIterator> | ||
4574 | 54 | </ForVariable> | ||
4575 | 55 | <ReturnClause> | ||
4576 | 52 | <ForVarIterator varname="anzahl"/> | 56 | <ForVarIterator varname="anzahl"/> |
4592 | 53 | </ProbeIndexPointValueIterator> | 57 | </ReturnClause> |
4593 | 54 | </ForVariable> | 58 | </FLWORIterator> |
4594 | 55 | <ReturnClause> | 59 | </EnclosedIterator> |
4595 | 56 | <ForVarIterator varname="anzahl"/> | 60 | </FnConcatIterator> |
4596 | 57 | </ReturnClause> | 61 | </FnDataIterator> |
4597 | 58 | </FLWORIterator> | 62 | </AttributeIterator> |
4598 | 59 | </EnclosedIterator> | 63 | <FnConcatIterator/> |
4599 | 60 | </FnConcatIterator> | 64 | </ElementIterator> |
4600 | 61 | </FnDataIterator> | 65 | </EnclosedIterator> |
4601 | 62 | </AttributeIterator> | 66 | </ElementIterator> |
4602 | 63 | <FnConcatIterator/> | 67 | </iterator-tree> |
4588 | 64 | </ElementIterator> | ||
4589 | 65 | </EnclosedIterator> | ||
4590 | 66 | </ElementIterator> | ||
4591 | 67 | |||
4603 | 68 | 68 | ||
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 @@ | |||
4658 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
4659 | 2 | <ElementIterator> | 2 | <ElementIterator> |
4660 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4661 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
4662 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
4663 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
4664 | 7 | <HoistIterator> | 7 | <HoistIterator> |
4665 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4666 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
4667 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
4668 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
4669 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
4670 | 13 | </HoistIterator> | 13 | </HoistIterator> |
4671 | 14 | </LetVariable> | 14 | </LetVariable> |
4672 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
4673 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4674 | 17 | <FLWORIterator> | 17 | <FLWORIterator> |
4675 | 18 | <ForVariable name="$$opt_temp_1"> | 18 | <ForVariable name="$$opt_temp_1"> |
4676 | 19 | <UnhoistIterator> | 19 | <UnhoistIterator> |
4677 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
4678 | 21 | </UnhoistIterator> | 21 | </UnhoistIterator> |
4679 | 22 | </ForVariable> | 22 | </ForVariable> |
4680 | 23 | <ReturnClause> | 23 | <ReturnClause> |
4681 | 24 | <ValueIndexEntryBuilderIterator> | 24 | <ValueIndexEntryBuilderIterator> |
4682 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | 25 | <ForVarIterator varname="$$opt_temp_1"/> |
4683 | 26 | <FnCountIterator> | 26 | <FnCountIterator> |
4684 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> |
4685 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | 28 | <ForVarIterator varname="$$opt_temp_1"/> |
4686 | 29 | </ChildAxisIterator> | 29 | </ChildAxisIterator> |
4687 | 30 | </FnCountIterator> | 30 | </FnCountIterator> |
4688 | 31 | </ValueIndexEntryBuilderIterator> | 31 | </ValueIndexEntryBuilderIterator> |
4689 | 32 | </ReturnClause> | 32 | </ReturnClause> |
4690 | 33 | </FLWORIterator> | 33 | </FLWORIterator> |
4691 | 34 | </CreateInternalIndexIterator> | 34 | </CreateInternalIndexIterator> |
4692 | 35 | </LetVariable> | 35 | </LetVariable> |
4693 | 36 | <ForVariable name="anzahl"> | 36 | <ForVariable name="anzahl"> |
4694 | 37 | <OpToIterator> | 37 | <OpToIterator> |
4695 | 38 | <SingletonIterator value="xs:integer(1)"/> | 38 | <SingletonIterator value="xs:integer(1)"/> |
4696 | 39 | <SingletonIterator value="xs:integer(2)"/> | 39 | <SingletonIterator value="xs:integer(2)"/> |
4697 | 40 | </OpToIterator> | 40 | </OpToIterator> |
4698 | 41 | </ForVariable> | 41 | </ForVariable> |
4699 | 42 | <ReturnClause> | 42 | <ReturnClause> |
4700 | 43 | <ElementIterator> | 43 | <ElementIterator> |
4701 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> |
4702 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> |
4703 | 46 | <EnclosedIterator attr_cont="true"> | 46 | <EnclosedIterator attr_cont="true"> |
4704 | 47 | <FLWORIterator> | 47 | <FLWORIterator> |
4705 | 48 | <ForVariable name="a"> | 48 | <ForVariable name="a"> |
4706 | 49 | <ProbeIndexPointValueIterator> | 49 | <ProbeIndexPointValueIterator> |
4707 | 50 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 50 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> |
4708 | 51 | <ForVarIterator varname="anzahl"/> | ||
4709 | 52 | </ProbeIndexPointValueIterator> | ||
4710 | 53 | </ForVariable> | ||
4711 | 54 | <ReturnClause> | ||
4712 | 51 | <ForVarIterator varname="anzahl"/> | 55 | <ForVarIterator varname="anzahl"/> |
4727 | 52 | </ProbeIndexPointValueIterator> | 56 | </ReturnClause> |
4728 | 53 | </ForVariable> | 57 | </FLWORIterator> |
4729 | 54 | <ReturnClause> | 58 | </EnclosedIterator> |
4730 | 55 | <ForVarIterator varname="anzahl"/> | 59 | </AttributeIterator> |
4731 | 56 | </ReturnClause> | 60 | </ElementIterator> |
4732 | 57 | </FLWORIterator> | 61 | </ReturnClause> |
4733 | 58 | </EnclosedIterator> | 62 | </FLWORIterator> |
4734 | 59 | </AttributeIterator> | 63 | </EnclosedIterator> |
4735 | 60 | </ElementIterator> | 64 | </ElementIterator> |
4736 | 61 | </ReturnClause> | 65 | </iterator-tree> |
4723 | 62 | </FLWORIterator> | ||
4724 | 63 | </EnclosedIterator> | ||
4725 | 64 | </ElementIterator> | ||
4726 | 65 | |||
4737 | 66 | 66 | ||
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 @@ | |||
4790 | 1 | Iterator tree for main query: | 1 | <iterator-tree description="main query"> |
4791 | 2 | <ElementIterator> | 2 | <ElementIterator> |
4792 | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> | 3 | <SingletonIterator value="xs:QName(,,karteikasten)"/> |
4793 | 4 | <EnclosedIterator attr_cont="false"> | 4 | <EnclosedIterator attr_cont="false"> |
4794 | 5 | <FLWORIterator> | 5 | <FLWORIterator> |
4795 | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> | 6 | <LetVariable name="$$opt_temp_0" materialize="true"> |
4796 | 7 | <HoistIterator> | 7 | <HoistIterator> |
4797 | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> | 8 | <DescendantAxisIterator test kind="match_name_test" qname="xs:QName(,,book)" typename="*" nill allowed="0"> |
4798 | 9 | <FnDocIterator> | 9 | <FnDocIterator> |
4799 | 10 | <SingletonIterator value="xs:string(books.xml)"/> | 10 | <SingletonIterator value="xs:string(books.xml)"/> |
4800 | 11 | </FnDocIterator> | 11 | </FnDocIterator> |
4801 | 12 | </DescendantAxisIterator> | 12 | </DescendantAxisIterator> |
4802 | 13 | </HoistIterator> | 13 | </HoistIterator> |
4803 | 14 | </LetVariable> | 14 | </LetVariable> |
4804 | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> | 15 | <LetVariable name="$$opt_temp_3" materialize="true"> |
4805 | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | 16 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> |
4758 | 17 | <FLWORIterator> | ||
4759 | 18 | <ForVariable name="$$opt_temp_1"> | ||
4760 | 19 | <UnhoistIterator> | ||
4761 | 20 | <LetVarIterator varname="$$opt_temp_0"/> | ||
4762 | 21 | </UnhoistIterator> | ||
4763 | 22 | </ForVariable> | ||
4764 | 23 | <ReturnClause> | ||
4765 | 24 | <ValueIndexEntryBuilderIterator> | ||
4766 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
4767 | 26 | <FnCountIterator> | ||
4768 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
4769 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
4770 | 29 | </ChildAxisIterator> | ||
4771 | 30 | </FnCountIterator> | ||
4772 | 31 | </ValueIndexEntryBuilderIterator> | ||
4773 | 32 | </ReturnClause> | ||
4774 | 33 | </FLWORIterator> | ||
4775 | 34 | </CreateInternalIndexIterator> | ||
4776 | 35 | </LetVariable> | ||
4777 | 36 | <ForVariable name="anzahl"> | ||
4778 | 37 | <OpToIterator> | ||
4779 | 38 | <SingletonIterator value="xs:integer(1)"/> | ||
4780 | 39 | <SingletonIterator value="xs:integer(2)"/> | ||
4781 | 40 | </OpToIterator> | ||
4782 | 41 | </ForVariable> | ||
4783 | 42 | <ReturnClause> | ||
4784 | 43 | <ElementIterator> | ||
4785 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
4786 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
4787 | 46 | <EmptyIterator/> | ||
4788 | 47 | </AttributeIterator> | ||
4789 | 48 | <EnclosedIterator attr_cont="false"> | ||
4806 | 49 | <FLWORIterator> | 17 | <FLWORIterator> |
4812 | 50 | <ForVariable name="a"> | 18 | <ForVariable name="$$opt_temp_1"> |
4813 | 51 | <ProbeIndexPointValueIterator> | 19 | <UnhoistIterator> |
4814 | 52 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | 20 | <LetVarIterator varname="$$opt_temp_0"/> |
4815 | 53 | <ForVarIterator varname="anzahl"/> | 21 | </UnhoistIterator> |
4811 | 54 | </ProbeIndexPointValueIterator> | ||
4816 | 55 | </ForVariable> | 22 | </ForVariable> |
4817 | 56 | <ReturnClause> | 23 | <ReturnClause> |
4819 | 57 | <ForVarIterator varname="a"/> | 24 | <ValueIndexEntryBuilderIterator> |
4820 | 25 | <ForVarIterator varname="$$opt_temp_1"/> | ||
4821 | 26 | <FnCountIterator> | ||
4822 | 27 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,author)" typename="*" nill allowed="0"> | ||
4823 | 28 | <ForVarIterator varname="$$opt_temp_1"/> | ||
4824 | 29 | </ChildAxisIterator> | ||
4825 | 30 | </FnCountIterator> | ||
4826 | 31 | </ValueIndexEntryBuilderIterator> | ||
4827 | 58 | </ReturnClause> | 32 | </ReturnClause> |
4828 | 59 | </FLWORIterator> | 33 | </FLWORIterator> |
4836 | 60 | </EnclosedIterator> | 34 | </CreateInternalIndexIterator> |
4837 | 61 | </ElementIterator> | 35 | </LetVariable> |
4838 | 62 | </ReturnClause> | 36 | <ForVariable name="anzahl"> |
4839 | 63 | </FLWORIterator> | 37 | <OpToIterator> |
4840 | 64 | </EnclosedIterator> | 38 | <SingletonIterator value="xs:integer(1)"/> |
4841 | 65 | </ElementIterator> | 39 | <SingletonIterator value="xs:integer(2)"/> |
4842 | 66 | 40 | </OpToIterator> | |
4843 | 41 | </ForVariable> | ||
4844 | 42 | <ReturnClause> | ||
4845 | 43 | <ElementIterator> | ||
4846 | 44 | <SingletonIterator value="xs:QName(,,gruppe)"/> | ||
4847 | 45 | <AttributeIterator qname="xs:QName(,,anzahl)"> | ||
4848 | 46 | <EmptyIterator/> | ||
4849 | 47 | </AttributeIterator> | ||
4850 | 48 | <EnclosedIterator attr_cont="false"> | ||
4851 | 49 | <FLWORIterator> | ||
4852 | 50 | <ForVariable name="a"> | ||
4853 | 51 | <ProbeIndexPointValueIterator> | ||
4854 | 52 | <SingletonIterator value="xs:QName(,,tempIndex0)"/> | ||
4855 | 53 | <ForVarIterator varname="anzahl"/> | ||
4856 | 54 | </ProbeIndexPointValueIterator> | ||
4857 | 55 | </ForVariable> | ||
4858 | 56 | <ReturnClause> | ||
4859 | 57 | <ForVarIterator varname="a"/> | ||
4860 | 58 | </ReturnClause> | ||
4861 | 59 | </FLWORIterator> | ||
4862 | 60 | </EnclosedIterator> | ||
4863 | 61 | </ElementIterator> | ||
4864 | 62 | </ReturnClause> | ||
4865 | 63 | </FLWORIterator> | ||
4866 | 64 | </EnclosedIterator> | ||
4867 | 65 | </ElementIterator> | ||
4868 | 66 | </iterator-tree> | ||
4869 | 67 | 67 | ||
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 @@ | |||
4904 | 1 | Iterator tree for const-folded expr: | 1 | <iterator-tree description="const-folded expr"> |
4905 | 2 | <OrIterator> | 2 | <OrIterator> |
4906 | 3 | <SingletonIterator value="xs:boolean(false)"/> | 3 | <SingletonIterator value="xs:boolean(false)"/> |
4907 | 4 | <SingletonIterator value="xs:boolean(false)"/> | 4 | <SingletonIterator value="xs:boolean(false)"/> |
4908 | 5 | <SingletonIterator value="xs:boolean(false)"/> | 5 | <SingletonIterator value="xs:boolean(false)"/> |
4909 | 6 | </OrIterator> | 6 | </OrIterator> |
4910 | 7 | 7 | </iterator-tree> | |
4911 | 8 | Iterator tree for const-folded expr: | 8 | <iterator-tree description="const-folded expr"> |
4912 | 9 | <OrIterator> | 9 | <OrIterator> |
4913 | 10 | <SingletonIterator value="xs:boolean(false)"/> | 10 | <SingletonIterator value="xs:boolean(false)"/> |
4914 | 11 | <SingletonIterator value="xs:boolean(false)"/> | 11 | <SingletonIterator value="xs:boolean(false)"/> |
4915 | 12 | <SingletonIterator value="xs:boolean(false)"/> | 12 | <SingletonIterator value="xs:boolean(false)"/> |
4916 | 13 | </OrIterator> | 13 | </OrIterator> |
4917 | 14 | 14 | </iterator-tree> | |
4918 | 15 | Iterator tree for const-folded expr: | 15 | <iterator-tree description="const-folded expr"> |
4919 | 16 | <OrIterator> | 16 | <OrIterator> |
4920 | 17 | <SingletonIterator value="xs:boolean(false)"/> | 17 | <SingletonIterator value="xs:boolean(false)"/> |
4921 | 18 | <SingletonIterator value="xs:boolean(false)"/> | 18 | <SingletonIterator value="xs:boolean(false)"/> |
4922 | 19 | <SingletonIterator value="xs:boolean(false)"/> | 19 | <SingletonIterator value="xs:boolean(false)"/> |
4923 | 20 | </OrIterator> | 20 | </OrIterator> |
4924 | 21 | 21 | </iterator-tree> | |
4925 | 22 | Iterator tree for main query: | 22 | <iterator-tree description="main query"> |
4926 | 23 | <ElementIterator> | 23 | <ElementIterator> |
4927 | 24 | <SingletonIterator value="xs:QName(,,institutions)"/> | 24 | <SingletonIterator value="xs:QName(,,institutions)"/> |
4928 | 25 | <EnclosedIterator attr_cont="false"> | 25 | <EnclosedIterator attr_cont="false"> |
4929 | 26 | <FLWORIterator> | 26 | <FLWORIterator> |
4930 | 27 | <LetVariable name="y" materialize="true"> | 27 | <LetVariable name="y" materialize="true"> |
4931 | 28 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,data)" typename="*" nill allowed="0"> | 28 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,data)" typename="*" nill allowed="0"> |
4932 | 29 | <TupleStreamIterator> | 29 | <TupleStreamIterator> |
4903 | 30 | <WhereIterator> | ||
4933 | 31 | <WhereIterator> | 30 | <WhereIterator> |
4936 | 32 | <ForIterator> | 31 | <WhereIterator> |
4935 | 33 | <ForVariable name="$$context-item"/> | ||
4937 | 34 | <ForIterator> | 32 | <ForIterator> |
4938 | 35 | <ForVariable name="$$context-item"/> | 33 | <ForVariable name="$$context-item"/> |
4943 | 36 | <TupleSourceIterator/> | 34 | <ForIterator> |
4944 | 37 | <FnDocIterator> | 35 | <ForVariable name="$$context-item"/> |
4945 | 38 | <SingletonIterator value="xs:string(min_ic1980.xml)"/> | 36 | <TupleSourceIterator/> |
4946 | 39 | </FnDocIterator> | 37 | <FnDocIterator> |
4947 | 38 | <SingletonIterator value="xs:string(min_ic1980.xml)"/> | ||
4948 | 39 | </FnDocIterator> | ||
4949 | 40 | </ForIterator> | ||
4950 | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,ipeds)" typename="*" nill allowed="0"> | ||
4951 | 42 | <ForVarIterator varname="$$context-item"/> | ||
4952 | 43 | </ChildAxisIterator> | ||
4953 | 40 | </ForIterator> | 44 | </ForIterator> |
4958 | 41 | <ChildAxisIterator test kind="match_name_test" qname="xs:QName(,,ipeds)" typename="*" nill allowed="0"> | 45 | <CompareIterator> |
4959 | 42 | <ForVarIterator varname="$$context-item"/> | 46 | <FnDataIterator> |
4960 | 43 | </ChildAxisIterator> | 47 | <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,year)" typename="*" nill allowed="0"> |
4961 | 44 | </ForIterator> | 48 | <ForVarIterator varname="$$context-item"/> |
4962 | 49 | </AttributeAxisIterator> | ||
4963 | 50 | </FnDataIterator> | ||
4964 | 51 | <SingletonIterator value="xs:integer(1980)"/> | ||
4965 | 52 | </CompareIterator> | ||
4966 | 53 | </WhereIterator> | ||
4967 | 45 | <CompareIterator> | 54 | <CompareIterator> |
4968 | 46 | <FnDataIterator> | 55 | <FnDataIterator> |
4970 | 47 | <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,year)" typename="*" nill allowed="0"> | 56 | <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,file)" typename="*" nill allowed="0"> |
4971 | 48 | <ForVarIterator varname="$$context-item"/> | 57 | <ForVarIterator varname="$$context-item"/> |
4972 | 49 | </AttributeAxisIterator> | 58 | </AttributeAxisIterator> |
4973 | 50 | </FnDataIterator> | 59 | </FnDataIterator> |
4975 | 51 | <SingletonIterator value="xs:integer(1980)"/> | 60 | <SingletonIterator value="xs:string(ic1980)"/> |
4976 | 52 | </CompareIterator> | 61 | </CompareIterator> |
4977 | 53 | </WhereIterator> | 62 | </WhereIterator> |
4978 | 54 | <CompareIterator> | ||
4979 | 55 | <FnDataIterator> | ||
4980 | 56 | <AttributeAxisIterator test kind="match_name_test" qname="xs:QName(,,file)" typename="*" nill allowed="0"> | ||
4981 | 57 | <ForVarIterator varname="$$context-item"/> | ||
4982 | 58 | </AttributeAxisIterator> | ||
4983 | 59 | </FnDataIterator> | ||
4984 | 60 | <SingletonIterator value="xs:string(ic1980)"/> | ||
4985 | 61 | </CompareIterator> | ||
4986 | 62 | </WhereIterator> | ||
4987 | 63 | <ForVarIterator varname="$$context-item"/> | ||
4988 | 64 | </TupleStreamIterator> | ||
4989 | 65 | </ChildAxisIterator> | ||
4990 | 66 | </LetVariable> | ||
4991 | 67 | <LetVariable name="$$opt_temp_4" materialize="true"> | ||
4992 | 68 | <CreateInternalIndexIterator name="xs:QName(,,tempIndex0)"> | ||
4993 | 69 | <FLWORIterator> | ||
4994 | 70 | <ForVariable name="$$opt_temp_2"> | ||
4995 | 71 | <LetVarIterator varname="y"/> | ||
4996 | 72 | </ForVariable> | ||
4997 | 73 | <ReturnClause> | ||
4998 | 74 | <GeneralIndexEntryBuilderIterator> | ||
4999 | 75 | <ForVarIterator varname="$$opt_temp_2"/> | ||
5000 | 76 | <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