Merge lp:~zorba-coders/zorba/feature-profile into lp:zorba

Proposed by Paul J. Lucas on 2014-02-24
Status: Merged
Approved by: Paul J. Lucas on 2014-02-25
Approved revision: 11732
Merged at revision: 11703
Proposed branch: lp:~zorba-coders/zorba/feature-profile
Merge into: lp:zorba
Diff against target: 10562 lines (+3051/-99)
168 files modified
bin/zorbacmd_args.cpp (+5/-0)
include/zorba/properties.h (+19/-0)
src/api/properties.cpp (+1/-0)
src/api/xqueryimpl.cpp (+25/-21)
src/api/xqueryimpl.h (+2/-0)
src/functions/udf.h (+1/-0)
src/runtime/accessors/pregenerated/accessors.cpp (+28/-0)
src/runtime/accessors/pregenerated/accessors.h (+14/-0)
src/runtime/any_uri/pregenerated/any_uri.cpp (+4/-0)
src/runtime/any_uri/pregenerated/any_uri.h (+2/-0)
src/runtime/api/plan_wrapper.cpp (+14/-1)
src/runtime/api/plan_wrapper.h (+2/-0)
src/runtime/base/binarybase.h (+1/-1)
src/runtime/base/narybase.h (+1/-1)
src/runtime/base/noarybase.h (+1/-1)
src/runtime/base/plan_iterator.cpp (+12/-4)
src/runtime/base/plan_iterator.h (+81/-5)
src/runtime/base/unarybase.h (+7/-7)
src/runtime/base64/pregenerated/base64.cpp (+8/-0)
src/runtime/base64/pregenerated/base64.h (+4/-0)
src/runtime/booleans/BooleanImpl.cpp (+15/-0)
src/runtime/booleans/BooleanImpl.h (+12/-0)
src/runtime/booleans/pregenerated/booleans.cpp (+12/-0)
src/runtime/booleans/pregenerated/booleans.h (+6/-0)
src/runtime/collections/pregenerated/collections.cpp (+136/-0)
src/runtime/collections/pregenerated/collections.h (+68/-0)
src/runtime/context/pregenerated/context.cpp (+20/-0)
src/runtime/context/pregenerated/context.h (+10/-0)
src/runtime/core/apply_updates.cpp (+1/-0)
src/runtime/core/apply_updates.h (+2/-0)
src/runtime/core/constructors.cpp (+9/-0)
src/runtime/core/constructors.h (+18/-0)
src/runtime/core/flwor_iterator.cpp (+5/-0)
src/runtime/core/flwor_iterator.h (+2/-0)
src/runtime/core/fncall_iterator.cpp (+52/-5)
src/runtime/core/fncall_iterator.h (+4/-0)
src/runtime/core/gflwor/count_iterator.cpp (+1/-0)
src/runtime/core/gflwor/count_iterator.h (+2/-0)
src/runtime/core/gflwor/for_iterator.cpp (+5/-0)
src/runtime/core/gflwor/for_iterator.h (+2/-0)
src/runtime/core/gflwor/groupby_iterator.cpp (+5/-0)
src/runtime/core/gflwor/groupby_iterator.h (+2/-0)
src/runtime/core/gflwor/let_iterator.cpp (+4/-0)
src/runtime/core/gflwor/let_iterator.h (+2/-0)
src/runtime/core/gflwor/orderby_iterator.cpp (+5/-0)
src/runtime/core/gflwor/orderby_iterator.h (+2/-0)
src/runtime/core/gflwor/outerfor_iterator.cpp (+1/-0)
src/runtime/core/gflwor/outerfor_iterator.h (+2/-0)
src/runtime/core/gflwor/tuplesource_iterator.cpp (+1/-0)
src/runtime/core/gflwor/tuplestream_iterator.cpp (+1/-0)
src/runtime/core/gflwor/tuplestream_iterator.h (+2/-0)
src/runtime/core/gflwor/where_iterator.cpp (+1/-0)
src/runtime/core/gflwor/window_iterator.cpp (+5/-0)
src/runtime/core/gflwor/window_iterator.h (+2/-0)
src/runtime/core/internal_operators.cpp (+2/-0)
src/runtime/core/item_iterator.cpp (+3/-0)
src/runtime/core/item_iterator.h (+4/-0)
src/runtime/core/nodeid_iterators.cpp (+2/-0)
src/runtime/core/nodeid_iterators.h (+4/-0)
src/runtime/core/path_iterators.cpp (+16/-0)
src/runtime/core/path_iterators.h (+32/-0)
src/runtime/core/sequencetypes.cpp (+7/-0)
src/runtime/core/sequencetypes.h (+10/-0)
src/runtime/core/trycatch.cpp (+6/-0)
src/runtime/core/trycatch.h (+2/-0)
src/runtime/core/var_iterators.cpp (+6/-0)
src/runtime/core/var_iterators.h (+12/-0)
src/runtime/csv/pregenerated/csv.cpp (+8/-0)
src/runtime/csv/pregenerated/csv.h (+4/-0)
src/runtime/datetime/pregenerated/datetime.cpp (+36/-0)
src/runtime/datetime/pregenerated/datetime.h (+18/-0)
src/runtime/debug/pregenerated/debug_iterator.cpp (+4/-0)
src/runtime/debug/pregenerated/debug_iterator.h (+2/-0)
src/runtime/durations_dates_times/DurationsDatesTimesImpl.cpp (+3/-0)
src/runtime/durations_dates_times/format_dateTime.cpp (+1/-0)
src/runtime/durations_dates_times/format_dateTime.h (+2/-0)
src/runtime/durations_dates_times/pregenerated/durations_dates_times.cpp (+84/-0)
src/runtime/durations_dates_times/pregenerated/durations_dates_times.h (+42/-0)
src/runtime/errors_and_diagnostics/pregenerated/errors_and_diagnostics.cpp (+8/-0)
src/runtime/errors_and_diagnostics/pregenerated/errors_and_diagnostics.h (+4/-0)
src/runtime/errors_and_diagnostics/pregenerated/other_diagnostics.cpp (+12/-0)
src/runtime/errors_and_diagnostics/pregenerated/other_diagnostics.h (+6/-0)
src/runtime/eval/eval.cpp (+1/-0)
src/runtime/eval/eval.h (+2/-0)
src/runtime/fetch/pregenerated/fetch.cpp (+12/-0)
src/runtime/fetch/pregenerated/fetch.h (+6/-0)
src/runtime/fnput/pregenerated/fnput.cpp (+4/-0)
src/runtime/fnput/pregenerated/fnput.h (+2/-0)
src/runtime/full_text/pregenerated/ft_module.cpp (+60/-0)
src/runtime/full_text/pregenerated/ft_module.h (+30/-0)
src/runtime/hof/dynamic_fncall_iterator.cpp (+2/-0)
src/runtime/hof/dynamic_fncall_iterator.h (+4/-0)
src/runtime/hof/function_item_iter.cpp (+1/-0)
src/runtime/hof/function_item_iter.h (+2/-0)
src/runtime/hof/pregenerated/fn_hof_functions.cpp (+20/-0)
src/runtime/hof/pregenerated/fn_hof_functions.h (+10/-0)
src/runtime/indexing/index_ddl.cpp (+10/-0)
src/runtime/indexing/index_ddl.h (+20/-0)
src/runtime/indexing/pregenerated/ic_ddl.cpp (+12/-0)
src/runtime/indexing/pregenerated/ic_ddl.h (+6/-0)
src/runtime/indexing/pregenerated/index_func.cpp (+4/-0)
src/runtime/indexing/pregenerated/index_func.h (+2/-0)
src/runtime/item/pregenerated/item.cpp (+4/-0)
src/runtime/item/pregenerated/item.h (+2/-0)
src/runtime/json/json_constructors.cpp (+3/-0)
src/runtime/json/json_constructors.h (+9/-2)
src/runtime/json/pregenerated/json.cpp (+8/-0)
src/runtime/json/pregenerated/json.h (+4/-0)
src/runtime/json/pregenerated/jsoniq_functions.cpp (+92/-0)
src/runtime/json/pregenerated/jsoniq_functions.h (+46/-0)
src/runtime/jsound/pregenerated/jsound.cpp (+8/-0)
src/runtime/jsound/pregenerated/jsound.h (+4/-0)
src/runtime/maths/pregenerated/maths.cpp (+104/-0)
src/runtime/maths/pregenerated/maths.h (+52/-0)
src/runtime/misc/materialize.cpp (+1/-0)
src/runtime/misc/materialize.h (+2/-0)
src/runtime/nodes/pregenerated/node_position.cpp (+96/-0)
src/runtime/nodes/pregenerated/node_position.h (+48/-0)
src/runtime/nodes/pregenerated/nodes.cpp (+76/-0)
src/runtime/nodes/pregenerated/nodes.h (+38/-0)
src/runtime/numerics/NumericsImpl.cpp (+54/-0)
src/runtime/numerics/NumericsImpl.h (+8/-0)
src/runtime/numerics/pregenerated/numerics.cpp (+28/-0)
src/runtime/numerics/pregenerated/numerics.h (+14/-0)
src/runtime/parsing_and_serializing/pregenerated/parse_fragment.cpp (+12/-0)
src/runtime/parsing_and_serializing/pregenerated/parse_fragment.h (+6/-0)
src/runtime/parsing_and_serializing/pregenerated/parsing_and_serializing.cpp (+8/-0)
src/runtime/parsing_and_serializing/pregenerated/parsing_and_serializing.h (+4/-0)
src/runtime/qnames/pregenerated/qnames.cpp (+32/-0)
src/runtime/qnames/pregenerated/qnames.h (+16/-0)
src/runtime/random/pregenerated/random.cpp (+12/-0)
src/runtime/random/pregenerated/random.h (+6/-0)
src/runtime/reference/pregenerated/reference.cpp (+16/-0)
src/runtime/reference/pregenerated/reference.h (+8/-0)
src/runtime/schema/pregenerated/schema.cpp (+16/-0)
src/runtime/schema/pregenerated/schema.h (+8/-0)
src/runtime/scripting/scripting.cpp (+5/-0)
src/runtime/scripting/scripting.h (+10/-0)
src/runtime/sctx/pregenerated/sctx.cpp (+104/-0)
src/runtime/sctx/pregenerated/sctx.h (+52/-0)
src/runtime/seq/pregenerated/seq.cpp (+12/-0)
src/runtime/seq/pregenerated/seq.h (+6/-0)
src/runtime/sequences/SequencesImpl.cpp (+1/-0)
src/runtime/sequences/SequencesImpl.h (+2/-0)
src/runtime/sequences/pregenerated/sequences.cpp (+140/-0)
src/runtime/sequences/pregenerated/sequences.h (+70/-0)
src/runtime/spec/iterator_cpp.xq (+20/-0)
src/runtime/spec/iterator_h.xq (+10/-0)
src/runtime/spec/printer_visitor_h.xq (+11/-4)
src/runtime/store/pregenerated/documents.cpp (+20/-0)
src/runtime/store/pregenerated/documents.h (+10/-0)
src/runtime/store/pregenerated/maps.cpp (+36/-0)
src/runtime/store/pregenerated/maps.h (+18/-0)
src/runtime/strings/pregenerated/strings.cpp (+124/-0)
src/runtime/strings/pregenerated/strings.h (+62/-0)
src/runtime/update/update.cpp (+5/-0)
src/runtime/update/update.h (+8/-0)
src/runtime/uris/pregenerated/uris.cpp (+12/-0)
src/runtime/uris/pregenerated/uris.h (+6/-0)
src/runtime/visitors/iterprinter.cpp (+9/-9)
src/runtime/visitors/iterprinter.h (+18/-12)
src/runtime/visitors/pregenerated/printer_visitor.h (+7/-2)
src/runtime/visitors/printer_visitor_api.cpp (+2/-3)
src/runtime/visitors/printer_visitor_api.h (+10/-7)
src/runtime/visitors/printer_visitor_impl.cpp (+38/-14)
src/runtime/xqdoc/pregenerated/xqdoc.cpp (+4/-0)
src/runtime/xqdoc/pregenerated/xqdoc.h (+2/-0)
src/util/time_util.h (+173/-0)
To merge this branch: bzr merge lp:~zorba-coders/zorba/feature-profile
Reviewer Review Type Date Requested Status
Matthias Brantner 2014-02-25 Approve on 2014-03-05
Paul J. Lucas Approve on 2014-02-25
Review via email: mp+208042@code.launchpad.net

Commit message

Added a profiling feature.

Description of the change

Added a profiling feature.

To post a comment you must log in.
11727. By Paul J. Lucas on 2014-02-24

Intermediate check-in.

11728. By Paul J. Lucas on 2014-02-25

Removed ProfileVisitor.

11729. By Paul J. Lucas on 2014-02-25

Cosmetic changes.

11730. By Paul J. Lucas on 2014-02-25

Intermediate check-in.

11731. By Paul J. Lucas on 2014-02-25

Merge from trunk.

11732. By Paul J. Lucas on 2014-02-25

Intermediate check-in.

Paul J. Lucas (paul-lucas) :
review: Approve

What about showing elapsed time which seems more useful if making calls to the outside world (e.g. http).

review: Needs Information
Paul J. Lucas (paul-lucas) wrote :

> What about showing elapsed time which seems more useful if making calls to the
> outside world (e.g. http).

Do you mean in addition to CPU time? Or instead of CPU time?

If in addition to, then there are 2 Timer objects that have to be updated and checked making calls to produceNext() just a tiny bit slower.

In addition. The timers would only be updated and checked if the query is in profile mode, right?

Paul J. Lucas (paul-lucas) wrote :

> The timers would only be updated and checked if the query is in
> profile mode, right?

Yes.

11733. By Paul J. Lucas on 2014-02-27

Intedmediate check-in.

11734. By Paul J. Lucas on 2014-02-27

Now using char const *.

11735. By Paul J. Lucas on 2014-02-28

Merge from trunk.

./bin/zorba -h
Error: No value given for "--debug-host" option
Use -h for help.

review: Needs Fixing
11736. By Paul J. Lucas on 2014-03-01

Merge from trunk.

Paul J. Lucas (paul-lucas) wrote :

The "Needs Fixing" was fixed on the pjl-misc branch.

11737. By Paul J. Lucas on 2014-03-04

Merge from trunk.

review: Approve
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/feature-profile/+merge/208042

Progress dashboard at http://jenkins.zorba.io:8180/view/ValidationQueue

Zorba Build Bot (zorba-buildbot) wrote :

Validation queue succeeded - proposal merged!

Preview Diff

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

Subscribers

People subscribed via source and target branches