Merge lp:~zorba-coders/zorba/bug-1044260 into lp:zorba

Proposed by Paul J. Lucas
Status: Merged
Approved by: Matthias Brantner
Approved revision: 11080
Merged at revision: 11133
Proposed branch: lp:~zorba-coders/zorba/bug-1044260
Merge into: lp:zorba
Diff against target: 1826 lines (+769/-163)
31 files modified
include/zorba/internal/diagnostic.h (+6/-5)
include/zorba/pregenerated/diagnostic_list.h (+2/-0)
modules/org/jsoniq/www/pregenerated/errors.xq (+8/-0)
src/compiler/translator/translator.cpp (+5/-5)
src/context/static_context.cpp (+1/-1)
src/diagnostics/CMakeLists.txt (+16/-5)
src/diagnostics/diagnostic.h (+31/-5)
src/diagnostics/diagnostic_en.xml (+102/-33)
src/diagnostics/dict.h (+3/-1)
src/diagnostics/dict_zed_keys_h.xq (+55/-0)
src/diagnostics/pregenerated/diagnostic_list.cpp (+3/-0)
src/diagnostics/pregenerated/dict_en.cpp (+45/-37)
src/diagnostics/pregenerated/dict_zed_keys.h (+338/-0)
src/runtime/core/apply_updates.cpp (+35/-19)
src/runtime/core/fncall_iterator.cpp (+1/-1)
src/runtime/core/sequencetypes.cpp (+7/-8)
src/runtime/function_item/dynamic_fncall_iterator.cpp (+3/-3)
src/runtime/json/jsoniq_functions_impl.cpp (+2/-2)
src/runtime/numerics/numerics_impl.cpp (+1/-1)
src/store/naive/node_items.cpp (+2/-1)
src/store/naive/pul_primitives.cpp (+59/-26)
src/store/naive/store.cpp (+1/-1)
src/util/error_util.cpp (+2/-2)
src/util/fs_util.h (+31/-0)
test/rbkt/ExpQueryResults/zorba/index/auctions2u.xml.res (+1/-1)
test/rbkt/ExpQueryResults/zorba/index/undo1.xml.res (+1/-1)
test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_06.xml.res (+1/-1)
test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_10.xml.res (+1/-1)
test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res (+1/-1)
test/rbkt/Queries/zorba/index/auctions2u.xq (+1/-1)
test/rbkt/Queries/zorba/index/undo1.xq (+4/-1)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug-1044260
Reviewer Review Type Date Requested Status
Matthias Brantner Approve
Markos Zaharioudakis Approve
Paul J. Lucas Approve
Review via email: mp+136043@code.launchpad.net

This proposal supersedes a proposal from 2012-11-17.

Commit message

ZED keys are now compile-time checked for existence.

Added error codes specified by Matthias.

The build bot complained, so resubmitting and seeing if that fixes it.

Description of the change

ZED keys are now compile-time checked for existence.

Added error codes specified by Matthias.

The build bot complained, so resubmitting and seeing if that fixes it.

To post a comment you must log in.
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Paul J. Lucas (paul-lucas) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/bug-1044260 into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job bug-1044260-2012-09-19T18-38-42.91Z is finished. The
  final status was:

  37 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/bug-1044260 into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:274 (message):
  Validation queue job bug-1044260-2012-09-20T17-56-04.083Z is finished. The
  final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Matthias Brantner (matthias-brantner) wrote : Posted in a previous version of this proposal

Looks good.

I added Markos as a reviewer because he was reviewer for the proposal regarding bug 'Bug #1052283: XUDY0021_AppliedAt used without definition' which has been merged into the proposed branch.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Validation queue job bug-1044260-2012-09-20T21-38-55.839Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 2 Approve, 2 Pending.

Revision history for this message
Markos Zaharioudakis (markos-za) wrote : Posted in a previous version of this proposal

I think more error codes must be listed in the catch clause in apply_updates.cpp. For example, XUDY0024, and a bunch of ZDDY codes related to collections and indexes (search for XUDY and ZDDY in src/store and see which of these errors are thrown during PUL apply).

review: Needs Fixing
Revision history for this message
Paul J. Lucas (paul-lucas) wrote : Posted in a previous version of this proposal

It looks like: XUDY0014, XUDY0015, XUDY0016, XUDY0017, XUDY0023, XUDY0031, ZDDY0016, ZDDY0027.

Revision history for this message
Markos Zaharioudakis (markos-za) wrote : Posted in a previous version of this proposal

No, the erros you list here are not thrown during PUL apply. My comment was actually meant for Matthias. I think it will be easier for him to find the correct list of errors.

Revision history for this message
Paul J. Lucas (paul-lucas) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Matthias Brantner (matthias-brantner) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Markos Zaharioudakis (markos-za) : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

There are additional revisions which have not been approved in review. Please seek review and approval of these new revisions.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal
Revision history for this message
Paul J. Lucas (paul-lucas) :
review: Approve
Revision history for this message
Paul J. Lucas (paul-lucas) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote : Posted in a previous version of this proposal

The attempt to merge lp:~zorba-coders/zorba/bug-1044260 into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:275 (message):
  Validation queue job bug-1044260-2012-11-25T08-42-13.959Z is finished. The
  final status was:

  1 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Paul J. Lucas (paul-lucas) wrote :

The test failed because it tests for a specific error message -- which now includes:

(applied at /home/ceej/zo/testing/zorbatest/tester/remotequeue/bug-1044260-2012-11-25T08-42-13.959Z/bzr/zorba/test/rbkt/Queries/zorba/index/undo1.xq:48.9-39)

There's no way such a test can pass on every machine. So one of the following must be done:

1. The test must be removed.
2. The test must only test for the error code and not the actual error message.
3. The error message must be altered such that the path is elided, e.g.:

(applied at undo1.xq:48.9-39)

Choose.

Revision history for this message
Markos Zaharioudakis (markos-za) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job bug-1044260-2012-11-26T05-20-23.156Z is finished. The final status was:

All tests succeeded!

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1. Got: 3 Approve, 1 Pending.

lp:~zorba-coders/zorba/bug-1044260 updated
11080. By Paul J. Lucas

Now only putting file name in error.

Revision history for this message
Matthias Brantner (matthias-brantner) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job bug-1044260-2012-11-26T16-17-28.427Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'include/zorba/internal/diagnostic.h'
2--- include/zorba/internal/diagnostic.h 2012-09-19 21:16:15 +0000
3+++ include/zorba/internal/diagnostic.h 2012-11-26 15:42:26 +0000
4@@ -70,15 +70,16 @@
5 /**
6 * Constructs a %location.
7 *
8- * @param file The name of the file where the error occurred.
9- * @param line The line number of the file where the expression that raises
10- * the error begins.
11+ * @param file The name of the file where the expression causing the error
12+ * occurred.
13+ * @param line The line number of the file where the expression causing the
14+ * error begins.
15 * @param column The column number, if any, of the file where the expression
16- * that raises the error begins.
17+ * causing the error begins.
18 * @param line_end The end line number, if any, of the file where the
19 * expression causing the error ends.
20 * @param column_end The end column number, if any, of the file where the
21- * xpression causing the error ends.
22+ * expression causing the error ends.
23 */
24 location( char const *file, line_type line, column_type column = 0,
25 line_type line_end = 0, column_type column_end = 0 ) :
26
27=== modified file 'include/zorba/pregenerated/diagnostic_list.h'
28--- include/zorba/pregenerated/diagnostic_list.h 2012-11-08 05:38:30 +0000
29+++ include/zorba/pregenerated/diagnostic_list.h 2012-11-26 15:42:26 +0000
30@@ -847,6 +847,8 @@
31
32 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0012;
33
34+extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0013;
35+
36 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0014;
37
38 extern ZORBA_DLL_PUBLIC JSONiqErrorCode JNSE0022;
39
40=== modified file 'modules/org/jsoniq/www/pregenerated/errors.xq'
41--- modules/org/jsoniq/www/pregenerated/errors.xq 2012-10-08 12:09:36 +0000
42+++ modules/org/jsoniq/www/pregenerated/errors.xq 2012-11-26 15:42:26 +0000
43@@ -100,6 +100,14 @@
44 declare variable $jerr:JNSE0012 as xs:QName := fn:QName($jerr:NS, "jerr:JNSE0012");
45
46 (:~
47+ :It is a dynamic error to serialize an atomic value not
48+ : supported by JSON or a node with the JSON output method and with
49+ : the jsoniq-serialization-extensions serialization parameter
50+ : set to false.
51+:)
52+declare variable $jerr:JNSE0013 as xs:QName := fn:QName($jerr:NS, "jerr:JNSE0013");
53+
54+(:~
55 :It is a dynamic error to serialize a function or a node with the
56 : JSON output method.
57 :)
58
59=== modified file 'src/compiler/translator/translator.cpp'
60--- src/compiler/translator/translator.cpp 2012-11-20 01:01:49 +0000
61+++ src/compiler/translator/translator.cpp 2012-11-26 15:42:26 +0000
62@@ -6328,7 +6328,7 @@
63 if (v.has_allowing_empty())
64 {
65 if (theSctx->xquery_version() < StaticContextConsts::xquery_version_3_0)
66- RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_OuterForClause11)));
67+ RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_OuterForClause30)));
68
69 theFlworClausesStack.push_back(NULL);
70 }
71@@ -6547,7 +6547,7 @@
72 TRACE_VISIT();
73
74 if (theSctx->xquery_version() < StaticContextConsts::xquery_version_3_0)
75- RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_WindowClause11)));
76+ RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_WindowClause30)));
77
78 return no_state;
79 }
80@@ -7257,7 +7257,7 @@
81 TRACE_VISIT ();
82
83 if (theSctx->xquery_version() < StaticContextConsts::xquery_version_3_0)
84- RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_CountClause11)));
85+ RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_CountClause30)));
86
87 return no_state;
88 }
89@@ -7321,7 +7321,7 @@
90
91 if (theSctx->xquery_version() < StaticContextConsts::xquery_version_3_0)
92 {
93- RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_SwitchExpr11)));
94+ RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_SwitchExpr30)));
95 }
96
97 v.get_switch_expr()->accept(*this);
98@@ -7731,7 +7731,7 @@
99
100 if (theSctx->xquery_version() < StaticContextConsts::xquery_version_3_0)
101 {
102- RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_TryCatchExpr11)));
103+ RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(XPST0003_TryCatchExpr30)));
104 }
105
106 theTryStack.push_back(&v);
107
108=== modified file 'src/context/static_context.cpp'
109--- src/context/static_context.cpp 2012-11-12 17:12:41 +0000
110+++ src/context/static_context.cpp 2012-11-26 15:42:26 +0000
111@@ -284,7 +284,7 @@
112 if (!module)
113 {
114 throw ZORBA_EXCEPTION(zerr::ZCSE0013_UNABLE_TO_LOAD_QUERY,
115- ERROR_PARAMS(ZED(NoExternalModuleFromDLL), lURI));
116+ ERROR_PARAMS(ZED(NoExternalModuleFromDLL_2), lURI));
117 }
118 }
119 else
120
121=== modified file 'src/diagnostics/CMakeLists.txt'
122--- src/diagnostics/CMakeLists.txt 2012-09-19 21:16:15 +0000
123+++ src/diagnostics/CMakeLists.txt 2012-11-26 15:42:26 +0000
124@@ -25,6 +25,7 @@
125 xquery_stack_trace.cpp
126 user_error.cpp
127 user_exception.cpp
128+ dict_zed_keys.h
129 )
130
131 ZORBA_DIAGNOSTIC_GENERATOR(
132@@ -32,21 +33,24 @@
133 "input=${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_en.xml"
134 "diagnostic_en.xml"
135 ""
136- "${CMAKE_BINARY_DIR}/include/zorba/diagnostic_list.h")
137+ "${CMAKE_BINARY_DIR}/include/zorba/diagnostic_list.h"
138+)
139
140 ZORBA_DIAGNOSTIC_GENERATOR(
141 "${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_list_cpp.xq"
142 "input=${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_en.xml"
143 "diagnostic_en.xml"
144 "${CMAKE_BINARY_DIR}/include/zorba/diagnostic_list.h"
145- "${CMAKE_BINARY_DIR}/src/diagnostics/diagnostic_list.cpp")
146+ "${CMAKE_BINARY_DIR}/src/diagnostics/diagnostic_list.cpp"
147+)
148
149 ZORBA_DIAGNOSTIC_GENERATOR(
150 "${CMAKE_SOURCE_DIR}/src/diagnostics/dict_XX_cpp.xq"
151 "input=${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_en.xml"
152 "diagnostic_en.xml"
153 ""
154- "${CMAKE_BINARY_DIR}/src/diagnostics/dict_en.cpp")
155+ "${CMAKE_BINARY_DIR}/src/diagnostics/dict_en.cpp"
156+)
157
158 ZORBA_DIAGNOSTIC_GENERATOR(
159 "${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_list_xq.xq"
160@@ -56,6 +60,14 @@
161 "${CMAKE_BINARY_DIR}/modules/w3c/xqt-errors.xq"
162 )
163
164+ZORBA_DIAGNOSTIC_GENERATOR(
165+ "${CMAKE_SOURCE_DIR}/src/diagnostics/dict_zed_keys_h.xq"
166+ "input=${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_en.xml"
167+ "diagnostic_en.xml"
168+ ""
169+ "${CMAKE_BINARY_DIR}/src/diagnostics/dict_zed_keys.h"
170+)
171+
172 IF(ZORBA_WITH_JSON)
173 ZORBA_DIAGNOSTIC_GENERATOR(
174 "${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_list_xq.xq"
175@@ -79,8 +91,7 @@
176 "input=${CMAKE_SOURCE_DIR}/src/diagnostics/diagnostic_en.xml;ns:=zwarn"
177 "diagnostic_en.xml"
178 ""
179- "${CMAKE_BINARY_DIR}/modules/com/zorba-xquery/www/modules/warnings.xq"
180-)
181+ "${CMAKE_BINARY_DIR}/modules/com/zorba-xquery/www/modules/warnings.xq")
182
183 SET(DIAG_MODULES
184 ${CMAKE_BINARY_DIR}/modules/com/zorba-xquery/www/modules/warnings.xq
185
186=== modified file 'src/diagnostics/diagnostic.h'
187--- src/diagnostics/diagnostic.h 2012-09-19 21:16:15 +0000
188+++ src/diagnostics/diagnostic.h 2012-11-26 15:42:26 +0000
189@@ -19,6 +19,7 @@
190 #define ZORBA_DIAGNOSTIC_H
191
192 #include <zorba/diagnostic.h>
193+#include <zorba/xquery_exception.h>
194
195 #include "compiler/parser/query_loc.h"
196 #include "store/api/item.h"
197@@ -71,16 +72,41 @@
198 /**
199 * Makes a location.
200 *
201- * @param file The name of the file where the error occurred.
202- * @param line The line number of the file where the error occurred.
203- * @param column The column number, if any, of the file where the error
204+ * @param file The name of the file where the expression causing the error
205 * occurred.
206+ * @param line The line number of the file where the expression causing the
207+ * error begins.
208+ * @param column The column number, if any, of the file where the expression
209+ * causing the error begins.
210+ * @param line_end The end line number, if any, of the file where the
211+ * expression causing the error ends.
212+ * @param column_end The end column number, if any, of the file where the
213+ * expression causing the error ends.
214 * @return Returns a new location.
215 */
216 inline internal::diagnostic::location
217 make_location( char const *file, internal::diagnostic::location::line_type line,
218- internal::diagnostic::location::column_type column = 0 ) {
219- return internal::diagnostic::location( file, line, column );
220+ internal::diagnostic::location::column_type column = 0,
221+ internal::diagnostic::location::line_type line_end = 0,
222+ internal::diagnostic::location::column_type column_end = 0 ) {
223+ return internal::diagnostic::location(
224+ file, line, column, line_end, column_end
225+ );
226+}
227+
228+/**
229+ * Makes a location.
230+ *
231+ * @param e The XQueryException to copy the location from.
232+ * @return Returns a new location.
233+ */
234+inline internal::diagnostic::location
235+make_location( XQueryException const &e ) {
236+ return internal::diagnostic::location(
237+ e.source_uri(),
238+ e.source_line(), e.source_column(),
239+ e.source_line_end(), e.source_column_end()
240+ );
241 }
242
243 /**
244
245=== modified file 'src/diagnostics/diagnostic_en.xml'
246--- src/diagnostics/diagnostic_en.xml 2012-11-17 01:08:54 +0000
247+++ src/diagnostics/diagnostic_en.xml 2012-11-26 15:42:26 +0000
248@@ -14,6 +14,45 @@
249 ! limitations under the License.
250 -->
251
252+<!--
253+ ! Please use the following convention for sub-message keys.
254+ !
255+ ! If a sub-message key has at least one $n number in it (where 'n' is [1-9]),
256+ ! append an underscore ('_') followed by all the number(s) used in the value.
257+ ! If the last $n is optional, append a lowercase 'o'.
258+ !
259+ ! For example, given this "throw" in C++ code:
260+ !
261+ ! throw XQUERY_EXCEPTION(
262+ ! err::XPTY0004,
263+ ! ERROR_PARAMS(
264+ ! ZED( BadType_23o ), *domainType,
265+ ! ZED( NoTreatAs_4 ), *declaredType
266+ ! ),
267+ ! ERROR_LOC( get_loc() )
268+ ! );
269+ !
270+ ! The "bad type" and "no treat as" keys are defined as:
271+ !
272+ ! <entry key="BadType_23o">
273+ ! <value>"$2": invalid type${: 3}</value>
274+ ! </entry>
275+ !
276+ ! <entry key="NoTreatAs_4">
277+ ! <value>can not treat as "$4"</value>
278+ ! </entry>
279+ !
280+ ! In the "throw" above, you can tell just by looking at it that all the
281+ ! required parameters are given and that each has the correct number/position.
282+ !
283+ ! ERROR_PARAMS(
284+ ! ZED( BadType_23o ), // #1
285+ ! *domainType, // #2
286+ ! ZED( NoTreatAs_4 ), // #3
287+ ! *declaredType // #4
288+ ! ),
289+ -->
290+
291 <diagnostic-list lang="en">
292
293 <namespace prefix="err">
294@@ -47,27 +86,27 @@
295 <value>"$2": XQuery version must be at least 3.0</value>
296 </entry>
297
298- <entry key="OuterForClause11">
299+ <entry key="OuterForClause30">
300 <value>"outer-for" clause only available in XQuery 3.0 or later</value>
301 </entry>
302
303- <entry key="WindowClause11">
304+ <entry key="WindowClause30">
305 <value>"window" clause only available in XQuery 3.0 or later</value>
306 </entry>
307
308- <entry key="CountClause11">
309+ <entry key="CountClause30">
310 <value>"count" clause only available in XQuery 3.0 or later</value>
311 </entry>
312
313- <entry key="SwitchExpr11">
314+ <entry key="SwitchExpr30">
315 <value>"switch" expressions only available in XQuery 3.0 or later</value>
316 </entry>
317
318- <entry key="TryCatchExpr11">
319+ <entry key="TryCatchExpr30">
320 <value>"try/catch" expressions only available in XQuery 3.0 or later</value>
321 </entry>
322
323- <entry key="Anotations">
324+ <entry key="Annotations">
325 <value>function and variable annotations only available in XQuery 3.0 or later</value>
326 </entry>
327
328@@ -156,32 +195,32 @@
329
330 <value>$1</value>
331
332- <entry key="FuncReturn">
333+ <entry key="NoReturnTypePromote_234">
334 <value>$2 can not be promoted to return type $3 of function $4()</value>
335 </entry>
336
337- <entry key="FuncParam">
338+ <entry key="NoParamTypePromote_234">
339 <value>$2 can not be promoted to parameter type $3 of function $4()</value>
340 </entry>
341
342- <entry key="TypePromotion">
343+ <entry key="NoTypePromote_23">
344 <value>$2 can not be promoted to type $3</value>
345 </entry>
346
347- <entry key="NoMultiSeqTypePromotion">
348+ <entry key="NoMultiSeqTypePromotion_2">
349 <value>sequence of more than one item can not be promoted to type $2</value>
350 </entry>
351
352- <entry key="TypeMatch">
353+ <entry key="NoTreatAs_23">
354 <value>$2 can not be treated as type $3</value>
355 </entry>
356
357 <entry key="FormatNumber_2">
358- <value>the first parameter to the format-number() function is of type $2, which is not allowed</value>
359+ <value>first parameter to format-number() function is type $2 that is not allowed</value>
360 </entry>
361
362 <entry key="JSONIQ_SELECTOR">
363- <value>Cannot atomize and/or cast value of type $2 to a string.</value>
364+ <value>can not atomize and/or cast value of type $2 to string</value>
365 </entry>
366
367 <entry key="MultiValuedGroupingKey">
368@@ -1436,7 +1475,15 @@
369 [XQuery 1.0 and XPath 2.0 Data Model]. In this case, none of the updates
370 in the query are made effective.
371 </comment>
372- <value>updates violate constraint</value>
373+ <value>$1${ 2}</value>
374+
375+ <entry key="AttributeName">
376+ <value>"$3": attribute with the same name already exists</value>
377+ </entry>
378+
379+ <entry key="AppliedAt">
380+ <value>(applied at $3)</value>
381+ </entry>
382 </diagnostic>
383
384 <diagnostic code="XUTY0022">
385@@ -1988,11 +2035,11 @@
386 </diagnostic>
387
388 <diagnostic code="ZAPI0080" name="CANNOT_RETRIEVE_NODE_REFERENCE">
389- <value>can not retrieve node-reference for a node that is not in a collection.</value>
390+ <value>can not retrieve node-reference for a node that is not in a collection</value>
391 </diagnostic>
392
393 <diagnostic code="ZAPI0090" name="CANNOT_VALIDATE_NON_ROOT">
394- <value>a non root element cannot be validated in place.</value>
395+ <value>non root element cannot be validated in place</value>
396 </diagnostic>
397
398 <!--////////// Zorba Class Serialization Errors ////////////////////////-->
399@@ -2488,7 +2535,7 @@
400 </diagnostic>
401
402 <diagnostic code="ZSTR0066" name="REFERENCED_NODE_NOT_IN_COLLECTION">
403- <value>$1: does not reference a node in collection $2.</value>
404+ <value>$1: does not reference a node in collection $2</value>
405 </diagnostic>
406
407 <!--////////// XQuery Scripting ////////////////////////////////////////-->
408@@ -2561,6 +2608,7 @@
409 <diagnostic code="ZJPE0009" name="ILLEGAL_EMPTY_STRING">
410 <value>illegal empty string</value>
411 </diagnostic>
412+
413 <diagnostic code="ZJPE0010" name="JSONML_ARRAY_REQUIRES_BRACKET">
414 <value>JsonML (array form) must start with '['</value>
415 </diagnostic>
416@@ -2607,17 +2655,17 @@
417
418 <diagnostic code="JNTY0002" if="defined(ZORBA_WITH_JSON)">
419 <comment>It is a type error if the right-hand-side expression of a pair constructor does not return exactly one item.</comment>
420- <value>Pair value returns no, or more than one, item.</value>
421+ <value>pair value returns no, or more than one, item</value>
422 </diagnostic>
423
424 <diagnostic code="JNDY0003" if="defined(ZORBA_WITH_JSON)">
425 <comment>It is a dynamic error if two pairs in an object constructor or in a simple object union have the same name.</comment>
426- <value>"$1": pair with the same name already exists in object.</value>
427+ <value>"$1": pair with the same name already exists in object</value>
428 </diagnostic>
429
430 <diagnostic code="JNTY0004" if="defined(ZORBA_WITH_JSON)">
431 <comment>It is a type error to call fn:data on a sequence containing an array or an object.</comment>
432- <value>Cannot atomize an $1 item. An $1 has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item).</value>
433+ <value>can not atomize an $1 item: an $1 has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item)</value>
434 </diagnostic>
435
436 <diagnostic code="JNUP0005" if="defined(ZORBA_WITH_JSON)">
437@@ -2630,14 +2678,14 @@
438 <diagnostic code="JNUP0006" if="defined(ZORBA_WITH_JSON)">
439 <comment>It is a dynamic error if upd:applyUpdates causes an object to contain two pairs with the same name.</comment>
440
441- <value>"$1": pair to insert already exists in object.</value>
442+ <value>"$1": pair to insert already exists in object</value>
443
444 </diagnostic>
445
446 <diagnostic code="JNUP0007" if="defined(ZORBA_WITH_JSON)">
447 <comment>It is a type error if, in an updating expression, an array selector cannot be cast to xs:integer or if an object selector cannot be cast to xs:string.</comment>
448
449- <value>$1 - wrong type for object/array selector in update expression.</value>
450+ <value>"$1": wrong type for object/array selector in update expression</value>
451
452 <entry key="Object">
453 <value>"$2": can not be promoted to type xs:string</value>
454@@ -2663,7 +2711,7 @@
455 <value>$1</value>
456
457 <entry key="Object">
458- <value>"$2": target of a renaming expression or of a non-position-inserting expression is not an object.</value>
459+ <value>"$2": target of a renaming expression or of a non-position-inserting expression is not an object</value>
460 </entry>
461
462 <entry key="Array">
463@@ -2671,7 +2719,7 @@
464 </entry>
465
466 <entry key="ObjectArray">
467- <value>"$2": target of a deleting or replacing expression is not a JSON item.</value>
468+ <value>"$2": target of a deleting or replacing expression is not a JSON item</value>
469 </entry>
470
471 </diagnostic>
472@@ -2700,6 +2748,15 @@
473 <value>can not serialize multiple top-level items as JSON</value>
474 </diagnostic>
475
476+ <diagnostic code="JNSE0013" if="defined(ZORBA_WITH_JSON)">
477+ <comment>It is a dynamic error to serialize an atomic value not
478+ supported by JSON or a node with the JSON output method and with
479+ the jsoniq-serialization-extensions serialization parameter
480+ set to false.</comment>
481+
482+ <value>can not serialize value as JSON: $1</value>
483+ </diagnostic>
484+
485 <diagnostic code="JNSE0014" if="defined(ZORBA_WITH_JSON)">
486 <comment>It is a dynamic error to serialize a function or a node with the
487 JSON output method.</comment>
488@@ -2710,7 +2767,7 @@
489 <comment>It is a dynamic error to serialize a sequence that does
490 not exist of exactly one document node with XML, HTML, XHTML, Text.
491 </comment>
492- <value>$1: invalid serialization method for item type ($2)</value>
493+ <value>"$1": invalid serialization method for item type ($2)</value>
494 </diagnostic>
495
496 <diagnostic code="JNUP0016" if="defined(ZORBA_WITH_JSON)">
497@@ -2719,29 +2776,29 @@
498 <value>$1</value>
499
500 <entry key="Object">
501- <value>"$2": selector cannot be resolved against supplied object.</value>
502+ <value>"$2": selector cannot be resolved against supplied object</value>
503 </entry>
504
505 <entry key="Array">
506- <value>"$2": selector cannot be resolved against supplied array.</value>
507+ <value>"$2": selector cannot be resolved against supplied array</value>
508 </entry>
509 </diagnostic>
510
511 <diagnostic code="JNUP0017" if="defined(ZORBA_WITH_JSON)">
512 <comment> It is a dynamic error if the value in a replace expression is not exactly a single item.</comment>
513- <value>Cannot replace with less or more than an item.</value>
514+ <value>can not replace with less or more than an item</value>
515 </diagnostic>
516
517 <diagnostic code="JNTY0018" if="defined(ZORBA_WITH_JSON)">
518 <comment>It is a dynamic error if there is not exactly one supplied parameter for an object or array selector.</comment>
519
520- <value>Object or array selection needs exactly one parameter.</value>
521+ <value>object or array selection needs exactly one parameter</value>
522 </diagnostic>
523
524 <diagnostic code="JNUP0019" if="defined(ZORBA_WITH_JSON)">
525 <comment>It is a dynamic error if the content expression, in an object insert expression, does not evaluate to a sequence of objects.</comment>
526
527- <value>The content of an insert expression must evaluate to a sequence of objects.</value>
528+ <value>"$1": invalid type (content of insert expression must evaluate to a sequence of objects)</value>
529 </diagnostic>
530
531 <diagnostic code="JNTY0023" if="defined(ZORBA_WITH_JSON)">
532@@ -2787,7 +2844,7 @@
533 </diagnostic>
534
535 <diagnostic code="ZWST0004" name="AMBIGUOUS_SEQUENTIAL_FLWOR">
536- <value>Sequential FLWOR expr may not have the semantics you expect</value>
537+ <value>sequential FLWOR expr may not have the semantics you expect</value>
538 </diagnostic>
539
540 <diagnostic code="ZWST0005" name="CACHING_NOT_POSSIBLE">
541@@ -3003,6 +3060,10 @@
542 <value>collection iterator not open</value>
543 </entry>
544
545+ <entry key="DefaultCollection">
546+ <value>default collection</value>
547+ </entry>
548+
549 <entry key="DefaultCollation">
550 <value>default collation</value>
551 </entry>
552@@ -3107,11 +3168,11 @@
553 <value>full-text was not enabled in this build</value>
554 </entry>
555
556- <entry key="FunctionFailedErrorCodeMessage_123">
557+ <entry key="FunctionFailedErrorCodeMessage_234">
558 <value>$2 failed (error $3): $4</value>
559 </entry>
560
561- <entry key="FunctionFailed_12o">
562+ <entry key="FunctionFailed_23o">
563 <value>$2 failed${: 3}</value>
564 </entry>
565
566@@ -3271,6 +3332,14 @@
567 <value>document, collection, or module resolver required but no SerializationCallback given</value>
568 </entry>
569
570+ <entry key="NoExternalFunction_2">
571+ <value>"$2": external function not found</value>
572+ </entry>
573+
574+ <entry key="NoExternalModuleFromDLL_2">
575+ <value>required external module "$2" not found</value>
576+ </entry>
577+
578 <entry key="NoSerializationCallbackForModule">
579 <value>no SerializationCallback for required external module "$2"</value>
580 </entry>
581
582=== modified file 'src/diagnostics/dict.h'
583--- src/diagnostics/dict.h 2012-09-19 21:16:15 +0000
584+++ src/diagnostics/dict.h 2012-11-26 15:42:26 +0000
585@@ -17,6 +17,8 @@
586 #ifndef ZORBA_DIAGNOSTIC_DICT_H
587 #define ZORBA_DIAGNOSTIC_DICT_H
588
589+#include "diagnostics/dict_zed_keys.h"
590+
591 namespace zorba {
592 namespace diagnostic {
593 namespace dict {
594@@ -40,7 +42,7 @@
595 * \endcode
596 * \hideinitializer
597 */
598-#define ZED(DICT_KEY) ZED_PREFIX #DICT_KEY
599+#define ZED(DICT_KEY) ZED_##DICT_KEY
600
601 /**
602 * Looks up the given key in the language dictionary.
603
604=== added file 'src/diagnostics/dict_zed_keys_h.xq'
605--- src/diagnostics/dict_zed_keys_h.xq 1970-01-01 00:00:00 +0000
606+++ src/diagnostics/dict_zed_keys_h.xq 2012-11-26 15:42:26 +0000
607@@ -0,0 +1,55 @@
608+(:
609+ : Copyright 2006-2009 The FLWOR Foundation.
610+ :
611+ : Licensed under the Apache License, Version 2.0 (the "License");
612+ : you may not use this file except in compliance with the License.
613+ : You may obtain a copy of the License at
614+ :
615+ : http://www.apache.org/licenses/LICENSE-2.0
616+ :
617+ : Unless required by applicable law or agreed to in writing, software
618+ : distributed under the License is distributed on an "AS IS" BASIS,
619+ : WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
620+ : See the License for the specific language governing permissions and
621+ : limitations under the License.
622+:)
623+
624+import module namespace util = "http://www.zorba-xquery.com/diagnostic/util" at "diagnostic_util.xq";
625+
626+declare function local:make-zed-defines( $doc ) as xs:string*
627+{
628+ for $entry in ( $doc//entry )
629+ let $key := $entry/@key
630+ return
631+ if ( contains( $key, ' ' ) )
632+ then ()
633+ else
634+ let $full_key :=
635+ if ( $entry/parent::diagnostic )
636+ then concat( $entry/parent::diagnostic/@code, "_", $key )
637+ else $key
638+ return concat( "#define ZED_", $full_key, ' "~', $full_key, '"' )
639+};
640+
641+declare variable $input external;
642+
643+string-join(
644+ ( util:copyright(),
645+ '#ifndef ZORBA_DIAGNOSTICS_ZED_KEYS',
646+ '#define ZORBA_DIAGNOSTICS_ZED_KEYS',
647+ '',
648+ local:make-zed-defines( $input ),
649+ '',
650+ '#endif /* ZORBA_DIAGNOSTICS_ZED_KEYS */',
651+ '/*',
652+ ' * Local variables:',
653+ ' * mode: c++',
654+ ' * End:',
655+ ' */',
656+ '/* vim:set et sw=2 ts=2: */'
657+ ),
658+ $util:newline
659+),
660+$util:newline
661+
662+(: vim:set syntax=xquery et sw=2 ts=2: :)
663
664=== modified file 'src/diagnostics/pregenerated/diagnostic_list.cpp'
665--- src/diagnostics/pregenerated/diagnostic_list.cpp 2012-11-08 05:38:30 +0000
666+++ src/diagnostics/pregenerated/diagnostic_list.cpp 2012-11-26 15:42:26 +0000
667@@ -1246,6 +1246,9 @@
668 JSONiqErrorCode JNSE0012( "JNSE0012" );
669
670
671+JSONiqErrorCode JNSE0013( "JNSE0013" );
672+
673+
674 JSONiqErrorCode JNSE0014( "JNSE0014" );
675
676
677
678=== modified file 'src/diagnostics/pregenerated/dict_en.cpp'
679--- src/diagnostics/pregenerated/dict_en.cpp 2012-11-17 01:08:54 +0000
680+++ src/diagnostics/pregenerated/dict_en.cpp 2012-11-26 15:42:26 +0000
681@@ -98,7 +98,7 @@
682 { "FTST0019", "\"$1\": match option specified more than once" },
683 #endif
684 #if defined(ZORBA_WITH_JSON)
685- { "JNDY0003", "\"$1\": pair with the same name already exists in object." },
686+ { "JNDY0003", "\"$1\": pair with the same name already exists in object" },
687 #endif
688 #if defined(ZORBA_WITH_JSON)
689 { "JNDY0021", "$1" },
690@@ -107,22 +107,25 @@
691 { "JNSE0012", "can not serialize multiple top-level items as JSON" },
692 #endif
693 #if defined(ZORBA_WITH_JSON)
694+ { "JNSE0013", "can not serialize value as JSON: $1" },
695+#endif
696+#if defined(ZORBA_WITH_JSON)
697 { "JNSE0014", "can not serialize a node or function item as JSON" },
698 #endif
699 #if defined(ZORBA_WITH_JSON)
700- { "JNSE0022", "$1: invalid serialization method for item type ($2)" },
701-#endif
702-#if defined(ZORBA_WITH_JSON)
703- { "JNTY0002", "Pair value returns no, or more than one, item." },
704-#endif
705-#if defined(ZORBA_WITH_JSON)
706- { "JNTY0004", "Cannot atomize an $1 item. An $1 has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item)." },
707+ { "JNSE0022", "\"$1\": invalid serialization method for item type ($2)" },
708+#endif
709+#if defined(ZORBA_WITH_JSON)
710+ { "JNTY0002", "pair value returns no, or more than one, item" },
711+#endif
712+#if defined(ZORBA_WITH_JSON)
713+ { "JNTY0004", "can not atomize an $1 item: an $1 has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item)" },
714 #endif
715 #if defined(ZORBA_WITH_JSON)
716 { "JNTY0011", "JSON item cannot appear in content sequence of node constructor or updating expression" },
717 #endif
718 #if defined(ZORBA_WITH_JSON)
719- { "JNTY0018", "Object or array selection needs exactly one parameter." },
720+ { "JNTY0018", "object or array selection needs exactly one parameter" },
721 #endif
722 #if defined(ZORBA_WITH_JSON)
723 { "JNTY0020", "$1: invalid option type for option $2 (expected $3)" },
724@@ -137,10 +140,10 @@
725 { "JNUP0005", "\"$1\": duplicate pair to insert" },
726 #endif
727 #if defined(ZORBA_WITH_JSON)
728- { "JNUP0006", "\"$1\": pair to insert already exists in object." },
729+ { "JNUP0006", "\"$1\": pair to insert already exists in object" },
730 #endif
731 #if defined(ZORBA_WITH_JSON)
732- { "JNUP0007", "$1 - wrong type for object/array selector in update expression." },
733+ { "JNUP0007", "\"$1\": wrong type for object/array selector in update expression" },
734 #endif
735 #if defined(ZORBA_WITH_JSON)
736 { "JNUP0008", "$1" },
737@@ -155,10 +158,10 @@
738 { "JNUP0016", "$1" },
739 #endif
740 #if defined(ZORBA_WITH_JSON)
741- { "JNUP0017", "Cannot replace with less or more than an item." },
742+ { "JNUP0017", "can not replace with less or more than an item" },
743 #endif
744 #if defined(ZORBA_WITH_JSON)
745- { "JNUP0019", "The content of an insert expression must evaluate to a sequence of objects." },
746+ { "JNUP0019", "\"$1\": invalid type (content of insert expression must evaluate to a sequence of objects)" },
747 #endif
748 { "SENR0001", "\"$1\": can not serialize $2" },
749 { "SEPM0004", "doctype-system parameter, or standalone parameter with a value other than \"omit\", specified" },
750@@ -270,7 +273,7 @@
751 { "XUDY0017", "node is target of multiple \"replace value of\" expressions in same query" },
752 { "XUDY0018", "\"$1\": function declared external, non-updating returns non-empty pending update list" },
753 { "XUDY0019", "\"$1\": function declated external, updating returns non-empty data model instance" },
754- { "XUDY0021", "updates violate constraint" },
755+ { "XUDY0021", "$1${ 2}" },
756 { "XUDY0023", "\"$1\": namespace binding conflicts with $2=$3" },
757 { "XUDY0024", "\"$1\": namespace binding conflicts with $2=$3" },
758 { "XUDY0027", "target expression is empty sequence" },
759@@ -320,8 +323,8 @@
760 { "ZAPI0043", "cannot serialize JSON item using current output method" },
761 { "ZAPI0045", "cannot serialize sequence containing both JSON and XML items" },
762 { "ZAPI0070", "\"$1\": invalid serialization method for SAX" },
763- { "ZAPI0080", "can not retrieve node-reference for a node that is not in a collection." },
764- { "ZAPI0090", "a non root element cannot be validated in place." },
765+ { "ZAPI0080", "can not retrieve node-reference for a node that is not in a collection" },
766+ { "ZAPI0090", "non root element cannot be validated in place" },
767 { "ZCSE0001", "\"$1\": nonexistent input field" },
768 { "ZCSE0002", "\"$1\": incompatible input field${: type=2}${, class=3}" },
769 { "ZCSE0003", "\"$1\": unrecognized class field" },
770@@ -455,10 +458,10 @@
771 { "ZSTR0055", "streamable string has already been consumed" },
772 { "ZSTR0060", "out of range: $1" },
773 { "ZSTR0065", "Zorba did not close properly, objects may still in memory.\n$1 referenced URI(s) remain in the string pool.\nFor help avoiding this message please refer to http://www.zorba-xquery.com/html/documentation in section General Architecture -> Memory Leaks." },
774- { "ZSTR0066", "$1: does not reference a node in collection $2." },
775+ { "ZSTR0066", "$1: does not reference a node in collection $2" },
776 { "ZWST0002", "\"$1\": unknown or unsupported annotation" },
777 { "ZWST0003", "\"$1\": function declared sequential, but has non-sequential body" },
778- { "ZWST0004", "Sequential FLWOR expr may not have the semantics you expect" },
779+ { "ZWST0004", "sequential FLWOR expr may not have the semantics you expect" },
780 { "ZWST0005", "\"$1\": function caching not possible; $2" },
781 { "ZWST0006", "\"$1\": function caching might not give the intended result because the function is declared as $2" },
782 { "ZXQD0001", "\"$1\": prefix not declared when calling function \"$2\" from $3" },
783@@ -560,6 +563,7 @@
784 { "~ClosingBraceWithoutOpen", "'}' encountered without '{' first" },
785 { "~CollectionIteratorNotOpen", "collection iterator not open" },
786 { "~DefaultCollation", "default collation" },
787+ { "~DefaultCollection", "default collection" },
788 { "~DivisionNoINF", "division can not have +-INF dividend" },
789 { "~DivisionNoNaN", "division can not involve NaN" },
790 { "~DocNodeMultipleElements", "document node has more than one element" },
791@@ -596,8 +600,8 @@
792 { "~FormatNumberIntegerPart", ": the integer part of a sub-picture must not contain a member of the decimal-digit-family that is followed by an optional-digit-sign" },
793 { "~FormatNumberPercentPermille", ": a sub-picture must not contain more than one percent-sign or per-mille-sign, and it must not contain one of each" },
794 { "~FullTextNotEnabled", "full-text was not enabled in this build" },
795- { "~FunctionFailedErrorCodeMessage_123", "$2 failed (error $3): $4" },
796- { "~FunctionFailed_12o", "$2 failed${: 3}" },
797+ { "~FunctionFailedErrorCodeMessage_234", "$2 failed (error $3): $4" },
798+ { "~FunctionFailed_23o", "$2 failed${: 3}" },
799 { "~FunctionUndeclared_3", "function with arity $3 not declared" },
800 { "~GoodValuesAreUTF8", "valid values are: UTF-8, UTF-16" },
801 { "~GoodValuesAreXMLEtc", "valid values are: xml, html, xhtml, text, binary, json, jsoniq" },
802@@ -610,10 +614,10 @@
803 { "~JNUP0007_Object", "\"$2\": can not be promoted to type xs:string" },
804 { "~JNUP0007_ObjectArray", "\"$2\": can not be promoted to type xs:anyAtomicType" },
805 { "~JNUP0008_Array", "\"$2\": target of an appending expression or of a position-inserting expression is not an array" },
806- { "~JNUP0008_Object", "\"$2\": target of a renaming expression or of a non-position-inserting expression is not an object." },
807- { "~JNUP0008_ObjectArray", "\"$2\": target of a deleting or replacing expression is not a JSON item." },
808- { "~JNUP0016_Array", "\"$2\": selector cannot be resolved against supplied array." },
809- { "~JNUP0016_Object", "\"$2\": selector cannot be resolved against supplied object." },
810+ { "~JNUP0008_Object", "\"$2\": target of a renaming expression or of a non-position-inserting expression is not an object" },
811+ { "~JNUP0008_ObjectArray", "\"$2\": target of a deleting or replacing expression is not a JSON item" },
812+ { "~JNUP0016_Array", "\"$2\": selector cannot be resolved against supplied array" },
813+ { "~JNUP0016_Object", "\"$2\": selector cannot be resolved against supplied object" },
814 { "~JSON parser error", "JSON parser error" },
815 { "~JSON serialization error", "JSON serialization error" },
816 { "~JSON_ILLEGAL_CHARACTER", "'$2': illegal JSON character${ at 3}" },
817@@ -649,6 +653,8 @@
818 { "~NoEmptyLocalname", "local-name can not be empty" },
819 { "~NoEmptySeqAsBaseURI", "can't treat empty sequence as base URI" },
820 { "~NoEmptySeqAsCollationParam", "empty-sequence not allowed as collation parameter" },
821+ { "~NoExternalFunction_2", "\"$2\": external function not found" },
822+ { "~NoExternalModuleFromDLL_2", "required external module \"$2\" not found" },
823 { "~NoHashItemOfType_2", "can not hash item of type \"$2\"" },
824 { "~NoInputData", "no input data" },
825 { "~NoModuleURIResolver", "no module URI resolver could be retrieved using SerializationCallback" },
826@@ -862,27 +868,29 @@
827 { "~VariabledHasNoValue", "variable has no value" },
828 { "~VariabledUndeclared", "undeclared variable" },
829 { "~XMLSchema", "XML schema" },
830- { "~XPST0003_Anotations", "function and variable annotations only available in XQuery 3.0 or later" },
831- { "~XPST0003_CountClause11", "\"count\" clause only available in XQuery 3.0 or later" },
832+ { "~XPST0003_Annotations", "function and variable annotations only available in XQuery 3.0 or later" },
833+ { "~XPST0003_CountClause30", "\"count\" clause only available in XQuery 3.0 or later" },
834 { "~XPST0003_ModuleDeclNotInMain", "module declaration must not be in main module" },
835- { "~XPST0003_OuterForClause11", "\"outer-for\" clause only available in XQuery 3.0 or later" },
836+ { "~XPST0003_OuterForClause30", "\"outer-for\" clause only available in XQuery 3.0 or later" },
837 { "~XPST0003_PiTarget", "\"XML\" not allowed as target of a direct processing-instruction constructor" },
838 { "~XPST0003_Scripting", "scripting feature not available" },
839 { "~XPST0003_StartEndTagMismatch_23", "start tag \"$2\" does not match end tag \"$3\"" },
840- { "~XPST0003_SwitchExpr11", "\"switch\" expressions only available in XQuery 3.0 or later" },
841- { "~XPST0003_TryCatchExpr11", "\"try/catch\" expressions only available in XQuery 3.0 or later" },
842- { "~XPST0003_WindowClause11", "\"window\" clause only available in XQuery 3.0 or later" },
843+ { "~XPST0003_SwitchExpr30", "\"switch\" expressions only available in XQuery 3.0 or later" },
844+ { "~XPST0003_TryCatchExpr30", "\"try/catch\" expressions only available in XQuery 3.0 or later" },
845+ { "~XPST0003_WindowClause30", "\"window\" clause only available in XQuery 3.0 or later" },
846 { "~XPST0003_XQueryVersionAtLeast30_2", "\"$2\": XQuery version must be at least 3.0" },
847- { "~XPTY0004_FormatNumber_2", "the first parameter to the format-number() function is of type $2, which is not allowed" },
848- { "~XPTY0004_FuncParam", "$2 can not be promoted to parameter type $3 of function $4()" },
849- { "~XPTY0004_FuncReturn", "$2 can not be promoted to return type $3 of function $4()" },
850- { "~XPTY0004_JSONIQ_SELECTOR", "Cannot atomize and/or cast value of type $2 to a string." },
851+ { "~XPTY0004_FormatNumber_2", "first parameter to format-number() function is type $2 that is not allowed" },
852+ { "~XPTY0004_JSONIQ_SELECTOR", "can not atomize and/or cast value of type $2 to string" },
853 { "~XPTY0004_MultiValuedGroupingKey", "atomization of grouping variable produces more than one item" },
854- { "~XPTY0004_NoMultiSeqTypePromotion", "sequence of more than one item can not be promoted to type $2" },
855- { "~XPTY0004_TypeMatch", "$2 can not be treated as type $3" },
856- { "~XPTY0004_TypePromotion", "$2 can not be promoted to type $3" },
857+ { "~XPTY0004_NoMultiSeqTypePromotion_2", "sequence of more than one item can not be promoted to type $2" },
858+ { "~XPTY0004_NoParamTypePromote_234", "$2 can not be promoted to parameter type $3 of function $4()" },
859+ { "~XPTY0004_NoReturnTypePromote_234", "$2 can not be promoted to return type $3 of function $4()" },
860+ { "~XPTY0004_NoTreatAs_23", "$2 can not be treated as type $3" },
861+ { "~XPTY0004_NoTypePromote_23", "$2 can not be promoted to type $3" },
862 { "~XQST0106_CONFLICTING", "conflicting" },
863 { "~XQST0106_THE_SAME", "the same" },
864+ { "~XUDY0021_AppliedAt", "(applied at $3)" },
865+ { "~XUDY0021_AttributeName", "\"$3\": attribute with the same name already exists" },
866 { "~XUST0001_CONCAT", "comma expression with updating and non-updating branches" },
867 { "~XUST0001_Generic", "updating expression illegal here" },
868 { "~XUST0001_IF", "conditional expression with updating and non-updating branch" },
869
870=== added file 'src/diagnostics/pregenerated/dict_zed_keys.h'
871--- src/diagnostics/pregenerated/dict_zed_keys.h 1970-01-01 00:00:00 +0000
872+++ src/diagnostics/pregenerated/dict_zed_keys.h 2012-11-26 15:42:26 +0000
873@@ -0,0 +1,338 @@
874+/**
875+ * Copyright 2006-2011 The FLWOR Foundation.
876+ *
877+ * Licensed under the Apache License, Version 2.0 (the "License");
878+ * you may not use this file except in compliance with the License.
879+ * You may obtain a copy of the License at
880+ *
881+ * http://www.apache.org/licenses/LICENSE-2.0
882+ *
883+ * Unless required by applicable law or agreed to in writing, software
884+ * distributed under the License is distributed on an "AS IS" BASIS,
885+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
886+ * See the License for the specific language governing permissions and
887+ * limitations under the License.
888+ */
889+
890+ /*
891+ * THIS FILE IS GENERATED.
892+ * PLEASE DO NOT EDIT.
893+ */
894+
895+#ifndef ZORBA_DIAGNOSTICS_ZED_KEYS
896+#define ZORBA_DIAGNOSTICS_ZED_KEYS
897+
898+#define ZED_XPST0003_StartEndTagMismatch_23 "~XPST0003_StartEndTagMismatch_23"
899+#define ZED_XPST0003_ModuleDeclNotInMain "~XPST0003_ModuleDeclNotInMain"
900+#define ZED_XPST0003_XQueryVersionAtLeast30_2 "~XPST0003_XQueryVersionAtLeast30_2"
901+#define ZED_XPST0003_OuterForClause30 "~XPST0003_OuterForClause30"
902+#define ZED_XPST0003_WindowClause30 "~XPST0003_WindowClause30"
903+#define ZED_XPST0003_CountClause30 "~XPST0003_CountClause30"
904+#define ZED_XPST0003_SwitchExpr30 "~XPST0003_SwitchExpr30"
905+#define ZED_XPST0003_TryCatchExpr30 "~XPST0003_TryCatchExpr30"
906+#define ZED_XPST0003_Annotations "~XPST0003_Annotations"
907+#define ZED_XPST0003_Scripting "~XPST0003_Scripting"
908+#define ZED_XPST0003_PiTarget "~XPST0003_PiTarget"
909+#define ZED_XPTY0004_NoReturnTypePromote_234 "~XPTY0004_NoReturnTypePromote_234"
910+#define ZED_XPTY0004_NoParamTypePromote_234 "~XPTY0004_NoParamTypePromote_234"
911+#define ZED_XPTY0004_NoTypePromote_23 "~XPTY0004_NoTypePromote_23"
912+#define ZED_XPTY0004_NoMultiSeqTypePromotion_2 "~XPTY0004_NoMultiSeqTypePromotion_2"
913+#define ZED_XPTY0004_NoTreatAs_23 "~XPTY0004_NoTreatAs_23"
914+#define ZED_XPTY0004_FormatNumber_2 "~XPTY0004_FormatNumber_2"
915+#define ZED_XPTY0004_JSONIQ_SELECTOR "~XPTY0004_JSONIQ_SELECTOR"
916+#define ZED_XPTY0004_MultiValuedGroupingKey "~XPTY0004_MultiValuedGroupingKey"
917+#define ZED_XQST0106_THE_SAME "~XQST0106_THE_SAME"
918+#define ZED_XQST0106_CONFLICTING "~XQST0106_CONFLICTING"
919+#define ZED_FTST0009_BadStopWordsLang "~FTST0009_BadStopWordsLang"
920+#define ZED_FTST0009_BadStemmerLang "~FTST0009_BadStemmerLang"
921+#define ZED_FTST0009_BadThesaurusLang "~FTST0009_BadThesaurusLang"
922+#define ZED_FTST0009_BadTokenizerLang "~FTST0009_BadTokenizerLang"
923+#define ZED_XUST0001_CONCAT "~XUST0001_CONCAT"
924+#define ZED_XUST0001_TRYCATCH "~XUST0001_TRYCATCH"
925+#define ZED_XUST0001_Generic "~XUST0001_Generic"
926+#define ZED_XUST0001_IF "~XUST0001_IF"
927+#define ZED_XUST0001_UDF_2 "~XUST0001_UDF_2"
928+#define ZED_XUDY0021_AttributeName "~XUDY0021_AttributeName"
929+#define ZED_XUDY0021_AppliedAt "~XUDY0021_AppliedAt"
930+#define ZED_ZXQP0004_TypeOps_is_in_scope_ForFunctionItemTypes "~ZXQP0004_TypeOps_is_in_scope_ForFunctionItemTypes"
931+#define ZED_ZXQP0025_RESOURCE_NOT_FOUND "~ZXQP0025_RESOURCE_NOT_FOUND"
932+#define ZED_ZXQD0004_NON_NEGATIVE "~ZXQD0004_NON_NEGATIVE"
933+#define ZED_ZXQD0004_NOT_WITHIN_RANGE "~ZXQD0004_NOT_WITHIN_RANGE"
934+#define ZED_ZDST0027_NO_KEY_TYPE_DECL "~ZDST0027_NO_KEY_TYPE_DECL"
935+#define ZED_ZDST0027_NON_SPECIFIC_KEY_TYPE_DECL "~ZDST0027_NON_SPECIFIC_KEY_TYPE_DECL"
936+#define ZED_ZDST0027_MULTI_VALUED_KEY_TYPE_DECL "~ZDST0027_MULTI_VALUED_KEY_TYPE_DECL"
937+#define ZED_ZDST0027_NON_ATOMIC_KEY_TYPE "~ZDST0027_NON_ATOMIC_KEY_TYPE"
938+#define ZED_ZDST0027_NON_ORDERED_KEY_TYPE "~ZDST0027_NON_ORDERED_KEY_TYPE"
939+#define ZED_ZDST0060_unknown_namespace "~ZDST0060_unknown_namespace"
940+#define ZED_ZDST0060_unknown_localname "~ZDST0060_unknown_localname"
941+#define ZED_JNUP0007_Object "~JNUP0007_Object"
942+#define ZED_JNUP0007_Array "~JNUP0007_Array"
943+#define ZED_JNUP0007_ObjectArray "~JNUP0007_ObjectArray"
944+#define ZED_JNUP0008_Object "~JNUP0008_Object"
945+#define ZED_JNUP0008_Array "~JNUP0008_Array"
946+#define ZED_JNUP0008_ObjectArray "~JNUP0008_ObjectArray"
947+#define ZED_JNUP0016_Object "~JNUP0016_Object"
948+#define ZED_JNUP0016_Array "~JNUP0016_Array"
949+#define ZED_ZWST0005_RETURN_TYPE "~ZWST0005_RETURN_TYPE"
950+#define ZED_ZWST0005_PARAM_TYPE "~ZWST0005_PARAM_TYPE"
951+#define ZED_ZWST0005_UPDATING "~ZWST0005_UPDATING"
952+#define ZED_ZWST0005_VARIADIC "~ZWST0005_VARIADIC"
953+#define ZED_AllMatchesHasExcludes "~AllMatchesHasExcludes"
954+#define ZED_AlreadySpecified "~AlreadySpecified"
955+#define ZED_ArithOpNotDefinedBetween_23 "~ArithOpNotDefinedBetween_23"
956+#define ZED_AtomizationHasMoreThanOneValue "~AtomizationHasMoreThanOneValue"
957+#define ZED_AttributeName "~AttributeName"
958+#define ZED_AttributeNode "~AttributeNode"
959+#define ZED_BackRef0Illegal "~BackRef0Illegal"
960+#define ZED_BackRefIllegalInCharClass "~BackRefIllegalInCharClass"
961+#define ZED_BadAnyURI "~BadAnyURI"
962+#define ZED_BadArgTypeForFn_2o34o "~BadArgTypeForFn_2o34o"
963+#define ZED_BadCharAfter_34 "~BadCharAfter_34"
964+#define ZED_BadCharInBraces_3 "~BadCharInBraces_3"
965+#define ZED_BadDecDigit_3 "~BadDecDigit_3"
966+#define ZED_BadFileURIAuthority_2 "~BadFileURIAuthority_2"
967+#define ZED_BadHexDigit_3 "~BadHexDigit_3"
968+#define ZED_BadHexSequence "~BadHexSequence"
969+#define ZED_BadItem "~BadItem"
970+#define ZED_BadIterator "~BadIterator"
971+#define ZED_BadLibraryModule "~BadLibraryModule"
972+#define ZED_BadRegexEscape_3 "~BadRegexEscape_3"
973+#define ZED_BadPath "~BadPath"
974+#define ZED_BadStreamState "~BadStreamState"
975+#define ZED_BadTokenInBraces_3 "~BadTokenInBraces_3"
976+#define ZED_BadTraceStream "~BadTraceStream"
977+#define ZED_BadTypeFor_23 "~BadTypeFor_23"
978+#define ZED_BadType_23o "~BadType_23o"
979+#define ZED_BadURIScheme_3 "~BadURIScheme_3"
980+#define ZED_BadURISyntaxForScheme_3 "~BadURISyntaxForScheme_3"
981+#define ZED_BadUnicodeChar_3 "~BadUnicodeChar_3"
982+#define ZED_BadWordNetPartOfSpeech_2 "~BadWordNetPartOfSpeech_2"
983+#define ZED_BadWordNetPtr_2 "~BadWordNetPtr_2"
984+#define ZED_BadXMLDocument_2o "~BadXMLDocument_2o"
985+#define ZED_BadXMLNoOpeningTag "~BadXMLNoOpeningTag"
986+#define ZED_BadXMLForXQDoc_3 "~BadXMLForXQDoc_3"
987+#define ZED_BadXQueryVersion "~BadXQueryVersion"
988+#define ZED_Base64BadChar "~Base64BadChar"
989+#define ZED_Base64Multiple4 "~Base64Multiple4"
990+#define ZED_BaseURI "~BaseURI"
991+#define ZED_BoxCondTooManyColumns "~BoxCondTooManyColumns"
992+#define ZED_CastFromToFailed_34 "~CastFromToFailed_34"
993+#define ZED_CharExpected_3 "~CharExpected_3"
994+#define ZED_CloneNotImplemented "~CloneNotImplemented"
995+#define ZED_ClosingBraceWithoutOpen "~ClosingBraceWithoutOpen"
996+#define ZED_CollectionIteratorNotOpen "~CollectionIteratorNotOpen"
997+#define ZED_DefaultCollection "~DefaultCollection"
998+#define ZED_DefaultCollation "~DefaultCollation"
999+#define ZED_DivisionNoINF "~DivisionNoINF"
1000+#define ZED_DivisionNoNaN "~DivisionNoNaN"
1001+#define ZED_DocNodeMultipleElements "~DocNodeMultipleElements"
1002+#define ZED_EBVNotDefSeq_5 "~EBVNotDefSeq_5"
1003+#define ZED_EffectiveBooleanValue "~EffectiveBooleanValue"
1004+#define ZED_ElementName "~ElementName"
1005+#define ZED_ElementNode "~ElementNode"
1006+#define ZED_EmptyPath "~EmptyPath"
1007+#define ZED_EmptySeqNoCastToQName "~EmptySeqNoCastToQName"
1008+#define ZED_EmptySeqNoCastToTypeWithQuantOne "~EmptySeqNoCastToTypeWithQuantOne"
1009+#define ZED_EmptySeqNoFnRemoveArg "~EmptySeqNoFnRemoveArg"
1010+#define ZED_EmptySeqNoSearchItem "~EmptySeqNoSearchItem"
1011+#define ZED_EmptySequence "~EmptySequence"
1012+#define ZED_ErrorCodeMessage_12 "~ErrorCodeMessage_12"
1013+#define ZED_ExpectedNumericOrDurationType "~ExpectedNumericOrDurationType"
1014+#define ZED_ExpectedNumericType "~ExpectedNumericType"
1015+#define ZED_ExpectedType_5 "~ExpectedType_5"
1016+#define ZED_ExprNoReturnUpdateList "~ExprNoReturnUpdateList"
1017+#define ZED_ExprReturnsTooManyUpdateLists "~ExprReturnsTooManyUpdateLists"
1018+#define ZED_ExternFnDeterministic "~ExternFnDeterministic"
1019+#define ZED_ExternFnNondeterministic "~ExternFnNondeterministic"
1020+#define ZED_FileNotFoundOrReadable "~FileNotFoundOrReadable"
1021+#define ZED_FnNilledArgNotNode "~FnNilledArgNotNode"
1022+#define ZED_FnOnlyInXQueryVersion_3 "~FnOnlyInXQueryVersion_3"
1023+#define ZED_FullTextNotEnabled "~FullTextNotEnabled"
1024+#define ZED_FunctionFailedErrorCodeMessage_234 "~FunctionFailedErrorCodeMessage_234"
1025+#define ZED_FunctionFailed_23o "~FunctionFailed_23o"
1026+#define ZED_FunctionUndeclared_3 "~FunctionUndeclared_3"
1027+#define ZED_GoodValuesAreUTF8 "~GoodValuesAreUTF8"
1028+#define ZED_GoodValuesAreXMLEtc "~GoodValuesAreXMLEtc"
1029+#define ZED_GoodValuesAreYesNo "~GoodValuesAreYesNo"
1030+#define ZED_GoodValuesAreYesNoOmit "~GoodValuesAreYesNoOmit"
1031+#define ZED_HexBinaryMustBeEven "~HexBinaryMustBeEven"
1032+#define ZED_IncompleteKeyInIndexBuild "~IncompleteKeyInIndexBuild"
1033+#define ZED_IncompleteKeyInIndexRefresh "~IncompleteKeyInIndexRefresh"
1034+#define ZED_LibModVersionMismatch_3 "~LibModVersionMismatch_3"
1035+#define ZED_ModuleNotFound "~ModuleNotFound"
1036+#define ZED_MustBeAbsoluteURI "~MustBeAbsoluteURI"
1037+#define ZED_MustBeNCName "~MustBeNCName"
1038+#define ZED_NoAttrNodesInDocument "~NoAttrNodesInDocument"
1039+#define ZED_NoBindURI "~NoBindURI"
1040+#define ZED_NoCastToCInt_2 "~NoCastToCInt_2"
1041+#define ZED_NoCastTo_34o "~NoCastTo_34o"
1042+#define ZED_NoCastTo_45o "~NoCastTo_45o"
1043+#define ZED_NoCompareTypes_23 "~NoCompareTypes_23"
1044+#define ZED_NoCompareWithType_4 "~NoCompareWithType_4"
1045+#define ZED_NoDriveSpecification "~NoDriveSpecification"
1046+#define ZED_NoEmptyLocalname "~NoEmptyLocalname"
1047+#define ZED_NoEmptySeqAsBaseURI "~NoEmptySeqAsBaseURI"
1048+#define ZED_NoEmptySeqAsCollationParam "~NoEmptySeqAsCollationParam"
1049+#define ZED_NoHashItemOfType_2 "~NoHashItemOfType_2"
1050+#define ZED_NoInputData "~NoInputData"
1051+#define ZED_NoModuleURIResolver "~NoModuleURIResolver"
1052+#define ZED_NoMultiKeyNodeValues_2 "~NoMultiKeyNodeValues_2"
1053+#define ZED_NoParseFnArity "~NoParseFnArity"
1054+#define ZED_NoRebindPrefix "~NoRebindPrefix"
1055+#define ZED_NoRegisteredSerializationCallback_2 "~NoRegisteredSerializationCallback_2"
1056+#define ZED_NoResolveRelativeURI "~NoResolveRelativeURI"
1057+#define ZED_NoSeqAsArithOp "~NoSeqAsArithOp"
1058+#define ZED_NoSeqAsCollationParam "~NoSeqAsCollationParam"
1059+#define ZED_NoSeqCastToTypeWithQuantOneOrQuestion "~NoSeqCastToTypeWithQuantOneOrQuestion"
1060+#define ZED_NoSeqForFnOp_2 "~NoSeqForFnOp_2"
1061+#define ZED_NoSeqForConcat "~NoSeqForConcat"
1062+#define ZED_NoSeqInValueComp "~NoSeqInValueComp"
1063+#define ZED_NoSeqTestedForAtomicEquiv "~NoSeqTestedForAtomicEquiv"
1064+#define ZED_NoSerializationCallbackForDocColMod "~NoSerializationCallbackForDocColMod"
1065+#define ZED_NoExternalFunction_2 "~NoExternalFunction_2"
1066+#define ZED_NoExternalModuleFromDLL_2 "~NoExternalModuleFromDLL_2"
1067+#define ZED_NoSerializationCallbackForModule "~NoSerializationCallbackForModule"
1068+#define ZED_NoSerializationCallbackForTraceStream "~NoSerializationCallbackForTraceStream"
1069+#define ZED_NoSourceURI "~NoSourceURI"
1070+#define ZED_NoTreatAs_4 "~NoTreatAs_4"
1071+#define ZED_NoTypeInCtx "~NoTypeInCtx"
1072+#define ZED_NoTypeInMainModule_4 "~NoTypeInMainModule_4"
1073+#define ZED_NoTypeInModule_45 "~NoTypeInModule_45"
1074+#define ZED_NoURIAuthority "~NoURIAuthority"
1075+#define ZED_NoURIInStore "~NoURIInStore"
1076+#define ZED_NoURIScheme "~NoURIScheme"
1077+#define ZED_NoUntypedKeyNodeValue_2 "~NoUntypedKeyNodeValue_2"
1078+#define ZED_NodeIDNeedsBytes_2 "~NodeIDNeedsBytes_2"
1079+#define ZED_NodeIDTooBig "~NodeIDTooBig"
1080+#define ZED_NonClosedBackRef_3 "~NonClosedBackRef_3"
1081+#define ZED_NonFileThesaurusURI "~NonFileThesaurusURI"
1082+#define ZED_NonLocalhostAuthority "~NonLocalhostAuthority"
1083+#define ZED_NonexistentBackRef_3 "~NonexistentBackRef_3"
1084+#define ZED_NotAllowedForTypeName "~NotAllowedForTypeName"
1085+#define ZED_NotAmongInScopeSchemaTypes "~NotAmongInScopeSchemaTypes"
1086+#define ZED_NotDefInDynamicCtx "~NotDefInDynamicCtx"
1087+#define ZED_NotDocOrElementNode "~NotDocOrElementNode"
1088+#define ZED_NotInStaticCtx "~NotInStaticCtx"
1089+#define ZED_NotPlainFile "~NotPlainFile"
1090+#define ZED_NotSpecified "~NotSpecified"
1091+#define ZED_OpIsSameNodeMustHaveNodes "~OpIsSameNodeMustHaveNodes"
1092+#define ZED_OpNodeAfterMustHaveNodes "~OpNodeAfterMustHaveNodes"
1093+#define ZED_OpNodeBeforeMustHaveNodes "~OpNodeBeforeMustHaveNodes"
1094+#define ZED_OperationNotDef_23 "~OperationNotDef_23"
1095+#define ZED_OperationNotPossibleWithTypes_234 "~OperationNotPossibleWithTypes_234"
1096+#define ZED_ParserInitFailed "~ParserInitFailed"
1097+#define ZED_ParserNoCreateTree "~ParserNoCreateTree"
1098+#define ZED_PromotionImpossible "~PromotionImpossible"
1099+#define ZED_QuotedColon_23 "~QuotedColon_23"
1100+#define ZED_SEPM0009_Not10 "~SEPM0009_Not10"
1101+#define ZED_SEPM0009_NotOmit "~SEPM0009_NotOmit"
1102+#define ZED_SchemaAttributeName "~SchemaAttributeName"
1103+#define ZED_SchemaElementName "~SchemaElementName"
1104+#define ZED_SchemaOutOfMemory "~SchemaOutOfMemory"
1105+#define ZED_SchemaParseError "~SchemaParseError"
1106+#define ZED_SchemaUnexpected "~SchemaUnexpected"
1107+#define ZED_SearchKeyTypeMismatch_234 "~SearchKeyTypeMismatch_234"
1108+#define ZED_SearchKeyTypeNoProbeIndex_23 "~SearchKeyTypeNoProbeIndex_23"
1109+#define ZED_SeqFnBody "~SeqFnBody"
1110+#define ZED_SeqNoCastToQName "~SeqNoCastToQName"
1111+#define ZED_SingletonExpected_2o "~SingletonExpected_2o"
1112+#define ZED_StackOverflow "~StackOverflow"
1113+#define ZED_StingLiteral "~StingLiteral"
1114+#define ZED_StringValue "~StringValue"
1115+#define ZED_SumImpossibleWithTypes_23 "~SumImpossibleWithTypes_23"
1116+#define ZED_TrailingChar_3 "~TrailingChar_3"
1117+#define ZED_TwoDecimalFormatsSameName_2 "~TwoDecimalFormatsSameName_2"
1118+#define ZED_TwoDefaultDecimalFormats "~TwoDefaultDecimalFormats"
1119+#define ZED_TypeIsNotSubtype "~TypeIsNotSubtype"
1120+#define ZED_U_REGEX_BAD_ESCAPE_SEQUENCE "~U_REGEX_BAD_ESCAPE_SEQUENCE"
1121+#define ZED_U_REGEX_BAD_INTERVAL "~U_REGEX_BAD_INTERVAL"
1122+#define ZED_U_REGEX_INTERNAL_ERROR "~U_REGEX_INTERNAL_ERROR"
1123+#define ZED_U_REGEX_INVALID_BACK_REF "~U_REGEX_INVALID_BACK_REF"
1124+#define ZED_U_REGEX_INVALID_FLAG "~U_REGEX_INVALID_FLAG"
1125+#define ZED_U_REGEX_INVALID_RANGE "~U_REGEX_INVALID_RANGE"
1126+#define ZED_U_REGEX_INVALID_STATE "~U_REGEX_INVALID_STATE"
1127+#define ZED_U_REGEX_LOOK_BEHIND_LIMIT "~U_REGEX_LOOK_BEHIND_LIMIT"
1128+#define ZED_U_REGEX_MAX_LT_MIN "~U_REGEX_MAX_LT_MIN"
1129+#define ZED_U_REGEX_MISMATCHED_PAREN "~U_REGEX_MISMATCHED_PAREN"
1130+#define ZED_U_REGEX_MISSING_CLOSE_BRACKET "~U_REGEX_MISSING_CLOSE_BRACKET"
1131+#define ZED_U_REGEX_NUMBER_TOO_BIG "~U_REGEX_NUMBER_TOO_BIG"
1132+#define ZED_U_REGEX_OCTAL_TOO_BIG "~U_REGEX_OCTAL_TOO_BIG"
1133+#define ZED_U_REGEX_PROPERTY_SYNTAX "~U_REGEX_PROPERTY_SYNTAX"
1134+#define ZED_U_REGEX_RULE_SYNTAX "~U_REGEX_RULE_SYNTAX"
1135+#define ZED_U_REGEX_SET_CONTAINS_STRING "~U_REGEX_SET_CONTAINS_STRING"
1136+#define ZED_U_REGEX_STACK_OVERFLOW "~U_REGEX_STACK_OVERFLOW"
1137+#define ZED_U_REGEX_STOPPED_BY_CALLER "~U_REGEX_STOPPED_BY_CALLER"
1138+#define ZED_U_REGEX_TIME_OUT "~U_REGEX_TIME_OUT"
1139+#define ZED_U_REGEX_UNIMPLEMENTED "~U_REGEX_UNIMPLEMENTED"
1140+#define ZED_REGEX_UNIMPLEMENTED "~REGEX_UNIMPLEMENTED"
1141+#define ZED_REGEX_MISMATCHED_PAREN "~REGEX_MISMATCHED_PAREN"
1142+#define ZED_REGEX_BROKEN_P_CONSTRUCT "~REGEX_BROKEN_P_CONSTRUCT"
1143+#define ZED_REGEX_UNKNOWN_PL_CONSTRUCT "~REGEX_UNKNOWN_PL_CONSTRUCT"
1144+#define ZED_REGEX_UNKNOWN_PM_CONSTRUCT "~REGEX_UNKNOWN_PM_CONSTRUCT"
1145+#define ZED_REGEX_UNKNOWN_PN_CONSTRUCT "~REGEX_UNKNOWN_PN_CONSTRUCT"
1146+#define ZED_REGEX_UNKNOWN_PP_CONSTRUCT "~REGEX_UNKNOWN_PP_CONSTRUCT"
1147+#define ZED_REGEX_UNKNOWN_PZ_CONSTRUCT "~REGEX_UNKNOWN_PZ_CONSTRUCT"
1148+#define ZED_REGEX_UNKNOWN_PS_CONSTRUCT "~REGEX_UNKNOWN_PS_CONSTRUCT"
1149+#define ZED_REGEX_UNKNOWN_PC_CONSTRUCT "~REGEX_UNKNOWN_PC_CONSTRUCT"
1150+#define ZED_REGEX_BROKEN_PIs_CONSTRUCT "~REGEX_BROKEN_PIs_CONSTRUCT"
1151+#define ZED_REGEX_UNKNOWN_PIs_CONSTRUCT "~REGEX_UNKNOWN_PIs_CONSTRUCT"
1152+#define ZED_REGEX_INVALID_UNICODE_CODEPOINT_u "~REGEX_INVALID_UNICODE_CODEPOINT_u"
1153+#define ZED_REGEX_UNKNOWN_ESC_CHAR "~REGEX_UNKNOWN_ESC_CHAR"
1154+#define ZED_REGEX_INVALID_BACK_REF "~REGEX_INVALID_BACK_REF"
1155+#define ZED_REGEX_INVALID_ATOM_CHAR "~REGEX_INVALID_ATOM_CHAR"
1156+#define ZED_REGEX_INVALID_SUBCLASS "~REGEX_INVALID_SUBCLASS"
1157+#define ZED_REGEX_INVALID_USE_OF_SUBCLASS "~REGEX_INVALID_USE_OF_SUBCLASS"
1158+#define ZED_REGEX_MULTICHAR_IN_CHAR_RANGE "~REGEX_MULTICHAR_IN_CHAR_RANGE"
1159+#define ZED_REGEX_MISSING_CLOSE_BRACKET "~REGEX_MISSING_CLOSE_BRACKET"
1160+#define ZED_REGEX_MAX_LT_MIN "~REGEX_MAX_LT_MIN"
1161+#define ZED_UnaryArithOp "~UnaryArithOp"
1162+#define ZED_UnbalancedChar_3 "~UnbalancedChar_3"
1163+#define ZED_UnescapedChar_3 "~UnescapedChar_3"
1164+#define ZED_UnexpectedElement "~UnexpectedElement"
1165+#define ZED_VarValMustBeSingleItem_2 "~VarValMustBeSingleItem_2"
1166+#define ZED_Variable "~Variable"
1167+#define ZED_VariabledHasNoValue "~VariabledHasNoValue"
1168+#define ZED_VariabledUndeclared "~VariabledUndeclared"
1169+#define ZED_XMLSchema "~XMLSchema"
1170+#define ZED_XUST0002_Transform "~XUST0002_Transform"
1171+#define ZED_XUST0002_UDF_2 "~XUST0002_UDF_2"
1172+#define ZED_ZeroLenURI "~ZeroLenURI"
1173+#define ZED_error "~error"
1174+#define ZED_format_integer_bad_picture_format "~format_integer_bad_picture_format"
1175+#define ZED_format_integer_duplicated_optional_format_modifier "~format_integer_duplicated_optional_format_modifier"
1176+#define ZED_format_integer_optional_format_modifier_not_closed "~format_integer_optional_format_modifier_not_closed"
1177+#define ZED_format_integer_picture_empty "~format_integer_picture_empty"
1178+#define ZED_format_integer_unknown_optional_format_modifier_character "~format_integer_unknown_optional_format_modifier_character"
1179+#define ZED_format_integer_value_1_10 "~format_integer_value_1_10"
1180+#define ZED_format_integer_value_1_20 "~format_integer_value_1_20"
1181+#define ZED_format_integer_value_gt_3000 "~format_integer_value_gt_3000"
1182+#define ZED_warning "~warning"
1183+#define ZED_xqueryx_empty_content "~xqueryx_empty_content"
1184+#define ZED_ParseFragmentOptionCombinationNotAllowed "~ParseFragmentOptionCombinationNotAllowed"
1185+#define ZED_ParseFragmentInvalidOptions "~ParseFragmentInvalidOptions"
1186+#define ZED_ParseFragmentDoctypeNotAllowed "~ParseFragmentDoctypeNotAllowed"
1187+#define ZED_ParseFragmentDoctypeNotAllowedHere "~ParseFragmentDoctypeNotAllowedHere"
1188+#define ZED_FormatNumberDuplicates "~FormatNumberDuplicates"
1189+#define ZED_FormatNumberGroupingAdjacentToDecimal "~FormatNumberGroupingAdjacentToDecimal"
1190+#define ZED_FormatNumberIntegerPart "~FormatNumberIntegerPart"
1191+#define ZED_FormatNumberFractionalPart "~FormatNumberFractionalPart"
1192+#define ZED_FormatNumberPercentPermille "~FormatNumberPercentPermille"
1193+#define ZED_FormatNumberAtLeastOneOptionalOrDecimal "~FormatNumberAtLeastOneOptionalOrDecimal"
1194+#define ZED_JSON_ILLEGAL_CHARACTER "~JSON_ILLEGAL_CHARACTER"
1195+#define ZED_JSON_ILLEGAL_CODEPOINT "~JSON_ILLEGAL_CODEPOINT"
1196+#define ZED_JSON_ILLEGAL_ESCAPE "~JSON_ILLEGAL_ESCAPE"
1197+#define ZED_JSON_ILLEGAL_LITERAL "~JSON_ILLEGAL_LITERAL"
1198+#define ZED_JSON_ILLEGAL_NUMBER "~JSON_ILLEGAL_NUMBER"
1199+#define ZED_JSON_UNEXPECTED_TOKEN "~JSON_UNEXPECTED_TOKEN"
1200+#define ZED_JSON_UNTERMINATED_STRING "~JSON_UNTERMINATED_STRING"
1201+#define ZED_JSON_UNEXPECTED_EXTRA_CONTENT "~JSON_UNEXPECTED_EXTRA_CONTENT"
1202+#define ZED_FUNCTION "~FUNCTION"
1203+#define ZED_ANNOTATION "~ANNOTATION"
1204+
1205+#endif /* ZORBA_DIAGNOSTICS_ZED_KEYS */
1206+/*
1207+ * Local variables:
1208+ * mode: c++
1209+ * End:
1210+ */
1211+/* vim:set et sw=2 ts=2: */
1212
1213=== modified file 'src/runtime/core/apply_updates.cpp'
1214--- src/runtime/core/apply_updates.cpp 2012-10-08 12:09:36 +0000
1215+++ src/runtime/core/apply_updates.cpp 2012-11-26 15:42:26 +0000
1216@@ -33,11 +33,13 @@
1217
1218 #include "system/globalenv.h"
1219
1220+#include "util/fs_util.h"
1221 #include "zorbautils/fatal.h"
1222
1223 #include "common/shared_types.h"
1224
1225 #include "diagnostics/util_macros.h"
1226+#include "zorba/internal/system_diagnostic.h"
1227
1228
1229 namespace zorba
1230@@ -232,32 +234,47 @@
1231 }
1232 catch (XQueryException& e)
1233 {
1234- if (e.has_source() &&
1235- (e.diagnostic() == err::XUDY0021 ||
1236- e.diagnostic() == err::XUDY0015 ||
1237- e.diagnostic() == err::XUDY0016 ||
1238- e.diagnostic() == err::XUDY0017 ||
1239- e.diagnostic() == err::XUDY0014))
1240+ if ( e.has_source() )
1241 {
1242- XQueryException lNewE =
1243- XQUERY_EXCEPTION(err::XUDY0021, ERROR_PARAMS(ZED(XUDY0021_AppliedAt), loc));
1244-
1245- QueryLoc lLoc;
1246- lLoc.setFilename(e.source_uri());
1247- lLoc.setLineBegin(e.source_line());
1248- lLoc.setColumnBegin(e.source_column());
1249- set_source(lNewE, lLoc);
1250- lNewE.set_diagnostic(e.diagnostic());
1251-
1252- throw lNewE;
1253+ Diagnostic const &d = e.diagnostic();
1254+ if ( d == err::XUDY0021
1255+ || d == err::XUDY0024
1256+ || d == jerr::JNUP0006
1257+ || d == zerr::ZDDY0013_COLLECTION_BAD_DESTROY_INDEXES
1258+ || d == zerr::ZDDY0014_COLLECTION_BAD_DESTROY_ICS
1259+ || d == zerr::ZDDY0015_COLLECTION_BAD_DESTROY_NODES
1260+ || d == zerr::ZDDY0028_INDEX_DOMAIN_HAS_DUPLICATE_NODES
1261+ || d == zerr::ZDDY0023_INDEX_DOES_NOT_EXIST
1262+ || d == zerr::ZSTR0060_RANGE_EXCEPTION )
1263+ {
1264+ try {
1265+ QueryLoc loc2( loc );
1266+ loc2.setFilename( fs::base_name( loc.getFilename() ) );
1267+ throw XQUERY_EXCEPTION(
1268+ err::XUDY0021,
1269+ ERROR_PARAMS( e.what(), ZED( XUDY0021_AppliedAt ), loc2 ),
1270+ ERROR_LOC( e )
1271+ );
1272+ }
1273+ catch ( XQueryException &e2 ) {
1274+ //
1275+ // This extra try/catch is used so that we can use the error
1276+ // dictionary value string of XUDY0021 to format the error message,
1277+ // but then set the actual error code back to that of the original
1278+ // exception.
1279+ //
1280+ e2.set_diagnostic( d );
1281+ throw;
1282+ }
1283+ }
1284 }
1285 else
1286 {
1287 // exception raised by the store doesn't have a store location
1288 // hence, we add the location of the apply expression
1289 set_source(e, loc);
1290- throw;
1291 }
1292+ throw;
1293 }
1294 }
1295
1296@@ -265,6 +282,5 @@
1297 UNARY_ACCEPT(ApplyIterator);
1298
1299
1300-
1301 } // namespace zorba
1302 /* vim:set et sw=2 ts=2: */
1303
1304=== modified file 'src/runtime/core/fncall_iterator.cpp'
1305--- src/runtime/core/fncall_iterator.cpp 2012-10-19 20:42:38 +0000
1306+++ src/runtime/core/fncall_iterator.cpp 2012-11-26 15:42:26 +0000
1307@@ -711,7 +711,7 @@
1308 throw ZORBA_EXCEPTION(
1309 zerr::ZCSE0013_UNABLE_TO_LOAD_QUERY,
1310 ERROR_PARAMS(
1311- ZED( NoExternalFunction ),
1312+ ZED( NoExternalFunction_2 ),
1313 BUILD_STRING( '{', theNamespace, '}', lLocalname )
1314 )
1315 );
1316
1317=== modified file 'src/runtime/core/sequencetypes.cpp'
1318--- src/runtime/core/sequencetypes.cpp 2012-10-24 11:32:56 +0000
1319+++ src/runtime/core/sequencetypes.cpp 2012-11-26 15:42:26 +0000
1320@@ -468,7 +468,7 @@
1321 assert(theQName != NULL);
1322
1323 RAISE_ERROR(err::XPTY0004, loc,
1324- ERROR_PARAMS(ZED(XPTY0004_FuncReturn),
1325+ ERROR_PARAMS(ZED(XPTY0004_NoReturnTypePromote_234),
1326 valueType, targetType, theQName->getStringValue()));
1327 break;
1328 }
1329@@ -477,14 +477,14 @@
1330 assert(theQName != NULL);
1331
1332 RAISE_ERROR(err::XPTY0004, loc,
1333- ERROR_PARAMS(ZED(XPTY0004_FuncParam),
1334+ ERROR_PARAMS(ZED(XPTY0004_NoParamTypePromote_234),
1335 valueType, targetType, theQName->getStringValue()));
1336 break;
1337 }
1338 case PROMOTE_TYPE_PROMOTION:
1339 {
1340 RAISE_ERROR(err::XPTY0004, loc,
1341- ERROR_PARAMS(ZED(XPTY0004_TypePromotion), valueType, targetType));
1342+ ERROR_PARAMS(ZED(XPTY0004_NoTypePromote_23), valueType, targetType));
1343 break;
1344 }
1345 #ifdef ZORBA_WITH_JSON
1346@@ -670,7 +670,7 @@
1347 assert(theQName != NULL);
1348
1349 RAISE_ERROR(err::XPTY0004, loc,
1350- ERROR_PARAMS(ZED(XPTY0004_FuncReturn),
1351+ ERROR_PARAMS(ZED(XPTY0004_NoReturnTypePromote_234),
1352 valueType, targetType, theQName->getStringValue()));
1353 break;
1354 }
1355@@ -679,14 +679,14 @@
1356 assert(theQName != NULL);
1357
1358 RAISE_ERROR(err::XPTY0004, loc,
1359- ERROR_PARAMS(ZED(XPTY0004_FuncParam),
1360+ ERROR_PARAMS(ZED(XPTY0004_NoParamTypePromote_234),
1361 valueType, targetType, theQName->getStringValue()));
1362 break;
1363 }
1364 case TREAT_TYPE_MATCH:
1365 {
1366 RAISE_ERROR(err::XPTY0004, loc,
1367- ERROR_PARAMS(ZED(XPTY0004_TypeMatch), valueType, targetType));
1368+ ERROR_PARAMS(ZED(XPTY0004_NoTreatAs_23), valueType, targetType));
1369 break;
1370 }
1371 case TREAT_EXPR:
1372@@ -742,8 +742,7 @@
1373 }
1374 case TREAT_JSONIQ_OBJECT_UPDATE_CONTENT:
1375 {
1376- RAISE_ERROR(jerr::JNUP0019, loc,
1377- ERROR_PARAMS(ZED(JNUP0019), valueType));
1378+ RAISE_ERROR(jerr::JNUP0019, loc, ERROR_PARAMS(valueType));
1379 break;
1380 }
1381 case TREAT_JSONIQ_ARRAY_UPDATE_TARGET:
1382
1383=== modified file 'src/runtime/function_item/dynamic_fncall_iterator.cpp'
1384--- src/runtime/function_item/dynamic_fncall_iterator.cpp 2012-09-19 21:16:15 +0000
1385+++ src/runtime/function_item/dynamic_fncall_iterator.cpp 2012-11-26 15:42:26 +0000
1386@@ -167,7 +167,7 @@
1387 if (!consumeNext(targetItem, theChildren[0], planState))
1388 {
1389 RAISE_ERROR(err::XPTY0004, loc,
1390- ERROR_PARAMS(ZED(XPTY0004_TypePromotion),
1391+ ERROR_PARAMS(ZED(XPTY0004_NoTypePromote_23),
1392 "empty-sequence()",
1393 GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_ONE->toSchemaString()));
1394 }
1395@@ -177,7 +177,7 @@
1396 if (consumeNext(item, theChildren[0], planState))
1397 {
1398 RAISE_ERROR(err::XPTY0004, loc,
1399- ERROR_PARAMS(ZED(XPTY0004_NoMultiSeqTypePromotion),
1400+ ERROR_PARAMS(ZED(XPTY0004_NoMultiSeqTypePromotion_2),
1401 GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_ONE->toSchemaString()));
1402 }
1403
1404@@ -308,7 +308,7 @@
1405 xqtref_t type = tm->create_value_type(targetItem);
1406
1407 RAISE_ERROR(err::XPTY0004, loc,
1408- ERROR_PARAMS(ZED(XPTY0004_TypePromotion),
1409+ ERROR_PARAMS(ZED(XPTY0004_NoTypePromote_23),
1410 type->toSchemaString(),
1411 GENV_TYPESYSTEM.ANY_FUNCTION_TYPE_ONE->toSchemaString()));
1412 }
1413
1414=== modified file 'src/runtime/json/jsoniq_functions_impl.cpp'
1415--- src/runtime/json/jsoniq_functions_impl.cpp 2012-10-24 12:49:43 +0000
1416+++ src/runtime/json/jsoniq_functions_impl.cpp 2012-11-26 15:42:26 +0000
1417@@ -1160,7 +1160,7 @@
1418 xqtref_t type = tm->create_value_type(selector, loc);
1419
1420 RAISE_ERROR(err::XPTY0004, loc,
1421- ERROR_PARAMS(ZED(XPTY0004_NoTypePromotion_23),
1422+ ERROR_PARAMS(ZED(XPTY0004_NoTypePromote_23),
1423 type->toSchemaString(),
1424 GENV_TYPESYSTEM.INTEGER_TYPE_ONE->toSchemaString()));
1425 }
1426@@ -1178,7 +1178,7 @@
1427 xqtref_t type = tm->create_value_type(selector, loc);
1428
1429 RAISE_ERROR(err::XPTY0004, loc,
1430- ERROR_PARAMS(ZED(XPTY0004_NoTypePromotion_23),
1431+ ERROR_PARAMS(ZED(XPTY0004_NoTypePromote_23),
1432 type->toSchemaString(),
1433 GENV_TYPESYSTEM.STRING_TYPE_ONE->toSchemaString()));
1434 }
1435
1436=== modified file 'src/runtime/numerics/numerics_impl.cpp'
1437--- src/runtime/numerics/numerics_impl.cpp 2012-09-19 21:16:15 +0000
1438+++ src/runtime/numerics/numerics_impl.cpp 2012-11-26 15:42:26 +0000
1439@@ -883,7 +883,7 @@
1440 if (!isAllowedType(result->getType()))
1441 {
1442 RAISE_ERROR(err::XPTY0004, info.loc,
1443- ERROR_PARAMS(ZED(FormatNumber_2), result->getType()->getStringValue()));
1444+ ERROR_PARAMS(ZED(XPTY0004_FormatNumber_2), result->getType()->getStringValue()));
1445 }
1446
1447 consumeNext(pictureItem, theChildren[1].getp(), planState);
1448
1449=== modified file 'src/store/naive/node_items.cpp'
1450--- src/store/naive/node_items.cpp 2012-10-12 09:05:54 +0000
1451+++ src/store/naive/node_items.cpp 2012-11-26 15:42:26 +0000
1452@@ -3224,7 +3224,8 @@
1453
1454 if (!otherAttr->isHidden() && otherAttr->getNodeName()->equals(attrName))
1455 {
1456- throw XQUERY_EXCEPTION(err::XUDY0021, ERROR_PARAMS(attrName->getStringValue()));
1457+ throw XQUERY_EXCEPTION(err::XUDY0021,
1458+ ERROR_PARAMS(ZED(XUDY0021_AttributeName), "", attrName->getStringValue()));
1459 }
1460 }
1461 }
1462
1463=== modified file 'src/store/naive/pul_primitives.cpp'
1464--- src/store/naive/pul_primitives.cpp 2012-09-19 21:16:15 +0000
1465+++ src/store/naive/pul_primitives.cpp 2012-11-26 15:42:26 +0000
1466@@ -314,7 +314,15 @@
1467 void UpdInsertAttributes::apply()
1468 {
1469 theIsApplied = true;
1470- ELEM_NODE(theTarget)->insertAttributes(*this);
1471+ try
1472+ {
1473+ ELEM_NODE(theTarget)->insertAttributes(*this);
1474+ }
1475+ catch (ZorbaException& e)
1476+ {
1477+ set_source(e, *theLoc);
1478+ throw;
1479+ }
1480 }
1481
1482
1483@@ -330,7 +338,8 @@
1484 try
1485 {
1486 target->checkUniqueAttrs();
1487- } catch (ZorbaException& e)
1488+ }
1489+ catch (ZorbaException& e)
1490 {
1491 set_source(e, *theLoc);
1492 throw;
1493@@ -364,8 +373,16 @@
1494
1495 void UpdReplaceAttribute::apply()
1496 {
1497- theIsApplied = true;
1498- ELEM_NODE(theTarget)->replaceAttribute(*this);
1499+ try
1500+ {
1501+ ELEM_NODE(theTarget)->replaceAttribute(*this);
1502+ theIsApplied = true;
1503+ }
1504+ catch (ZorbaException& e)
1505+ {
1506+ set_source(e, *theLoc);
1507+ throw;
1508+ }
1509 }
1510
1511
1512@@ -381,7 +398,8 @@
1513 try
1514 {
1515 target->checkUniqueAttrs();
1516- } catch (ZorbaException& e)
1517+ }
1518+ catch (ZorbaException& e)
1519 {
1520 set_source(e, *theLoc);
1521 throw;
1522@@ -463,8 +481,16 @@
1523 ********************************************************************************/
1524 void UpdRenameElem::apply()
1525 {
1526- ELEM_NODE(theTarget)->replaceName(*this);
1527- theIsApplied = true;
1528+ try
1529+ {
1530+ ELEM_NODE(theTarget)->replaceName(*this);
1531+ theIsApplied = true;
1532+ }
1533+ catch (ZorbaException& e)
1534+ {
1535+ set_source(e, *theLoc);
1536+ throw;
1537+ }
1538 }
1539
1540
1541@@ -612,8 +638,16 @@
1542 ********************************************************************************/
1543 void UpdRenameAttr::apply()
1544 {
1545- ATTR_NODE(theTarget)->replaceName(*this);
1546- theIsApplied = true;
1547+ try
1548+ {
1549+ ATTR_NODE(theTarget)->replaceName(*this);
1550+ theIsApplied = true;
1551+ }
1552+ catch (ZorbaException& e)
1553+ {
1554+ set_source(e, *theLoc);
1555+ throw;
1556+ }
1557 }
1558
1559
1560@@ -839,7 +873,7 @@
1561
1562 store->addNode(targetUri, theTarget);
1563 }
1564- catch(ZorbaException const& e)
1565+ catch(ZorbaException& e)
1566 {
1567 if (e.diagnostic() == zerr::ZAPI0020_DOCUMENT_ALREADY_EXISTS)
1568 {
1569@@ -851,6 +885,7 @@
1570 }
1571 else
1572 {
1573+ set_source(e, *theLoc);
1574 throw;
1575 }
1576 }
1577@@ -989,7 +1024,7 @@
1578 }
1579 catch (std::range_error& e)
1580 {
1581- throw ZORBA_EXCEPTION(zerr::ZSTR0060_RANGE_EXCEPTION,
1582+ RAISE_ERROR(zerr::ZSTR0060_RANGE_EXCEPTION, theLoc,
1583 ERROR_PARAMS(BUILD_STRING("collection too big ("
1584 << e.what() << "; " << theName << ")")));
1585 }
1586@@ -1066,7 +1101,7 @@
1587 }
1588 catch (std::range_error& e)
1589 {
1590- throw ZORBA_EXCEPTION(zerr::ZSTR0060_RANGE_EXCEPTION,
1591+ RAISE_ERROR(zerr::ZSTR0060_RANGE_EXCEPTION, theLoc,
1592 ERROR_PARAMS(BUILD_STRING("collection too big ("
1593 << e.what() << "; " << theName << ")")));
1594 }
1595@@ -1157,7 +1192,7 @@
1596 }
1597 catch (std::range_error& e)
1598 {
1599- throw ZORBA_EXCEPTION(zerr::ZSTR0060_RANGE_EXCEPTION,
1600+ RAISE_ERROR(zerr::ZSTR0060_RANGE_EXCEPTION, theLoc,
1601 ERROR_PARAMS(BUILD_STRING("collection too big ("
1602 << e.what() << "; " << theName << ")")));
1603 }
1604@@ -1256,7 +1291,7 @@
1605 }
1606 catch (std::range_error& e)
1607 {
1608- throw ZORBA_EXCEPTION(zerr::ZSTR0060_RANGE_EXCEPTION,
1609+ RAISE_ERROR(zerr::ZSTR0060_RANGE_EXCEPTION, theLoc,
1610 ERROR_PARAMS(BUILD_STRING("collection too big ("
1611 << e.what() << "; " << theName << ")")));
1612 }
1613@@ -1362,15 +1397,15 @@
1614 {
1615 theIndex = store->createIndex(theQName, theSpec, theSourceIter);
1616 }
1617- catch(ZorbaException const& e)
1618+ catch(ZorbaException& e)
1619 {
1620 if (e.diagnostic() == zerr::ZSTR0045_DUPLICATE_NODE_ERROR)
1621 {
1622- throw ZORBA_EXCEPTION(
1623- zerr::ZDDY0028_INDEX_DOMAIN_HAS_DUPLICATE_NODES,
1624- ERROR_PARAMS( theQName->getStringValue() )
1625- );
1626+ RAISE_ERROR(zerr::ZDDY0028_INDEX_DOMAIN_HAS_DUPLICATE_NODES, theLoc,
1627+ ERROR_PARAMS(theQName->getStringValue()));
1628 }
1629+
1630+ set_source(e, *theLoc);
1631 throw;
1632 }
1633
1634@@ -1409,7 +1444,7 @@
1635
1636 if ((theIndex = store->getIndex(theQName)) == NULL)
1637 {
1638- throw ZORBA_EXCEPTION(zerr::ZSTR0002_INDEX_DOES_NOT_EXIST,
1639+ RAISE_ERROR(zerr::ZDDY0023_INDEX_DOES_NOT_EXIST, theLoc,
1640 ERROR_PARAMS(theQName->getStringValue()));
1641 }
1642
1643@@ -1457,7 +1492,7 @@
1644
1645 if ((theIndex = store.getIndex(theQName)) == NULL)
1646 {
1647- throw ZORBA_EXCEPTION(zerr::ZSTR0002_INDEX_DOES_NOT_EXIST,
1648+ RAISE_ERROR(zerr::ZDDY0023_INDEX_DOES_NOT_EXIST, theLoc,
1649 ERROR_PARAMS(theQName->getStringValue()));
1650 }
1651
1652@@ -1821,7 +1856,7 @@
1653
1654 if (!lMap)
1655 {
1656- throw ZORBA_EXCEPTION(zerr::ZDDY0023_INDEX_DOES_NOT_EXIST,
1657+ RAISE_ERROR(zerr::ZDDY0023_INDEX_DOES_NOT_EXIST, theLoc,
1658 ERROR_PARAMS(theQName->getStringValue()));
1659 }
1660
1661@@ -1877,10 +1912,8 @@
1662
1663 if (!lMap)
1664 {
1665- throw ZORBA_EXCEPTION(
1666- zerr::ZDDY0023_INDEX_DOES_NOT_EXIST,
1667- ERROR_PARAMS( theQName->getStringValue() )
1668- );
1669+ RAISE_ERROR(zerr::ZDDY0023_INDEX_DOES_NOT_EXIST, theLoc,
1670+ ERROR_PARAMS(theQName->getStringValue()));
1671 }
1672
1673 simplestore::ValueHashIndex* lImpl =
1674
1675=== modified file 'src/store/naive/store.cpp'
1676--- src/store/naive/store.cpp 2012-10-08 12:09:36 +0000
1677+++ src/store/naive/store.cpp 2012-11-26 15:42:26 +0000
1678@@ -714,7 +714,7 @@
1679
1680 if (!theIndices.get(non_const_items, index))
1681 {
1682- throw ZORBA_EXCEPTION(zerr::ZSTR0002_INDEX_DOES_NOT_EXIST,
1683+ throw ZORBA_EXCEPTION(zerr::ZDDY0023_INDEX_DOES_NOT_EXIST,
1684 ERROR_PARAMS(qname->getStringValue()));
1685 }
1686
1687
1688=== modified file 'src/util/error_util.cpp'
1689--- src/util/error_util.cpp 2012-09-19 21:16:15 +0000
1690+++ src/util/error_util.cpp 2012-11-26 15:42:26 +0000
1691@@ -61,7 +61,7 @@
1692 if ( function && *function ) {
1693 using namespace internal::diagnostic;
1694 parameters::value_type result =
1695- diagnostic::dict::lookup( ZED( FunctionFailed_12o ) );
1696+ diagnostic::dict::lookup( ZED( FunctionFailed_23o ) );
1697 parameters const params( ERROR_PARAMS( function, err_string ) );
1698 params.substitute( &result );
1699 return result;
1700@@ -77,7 +77,7 @@
1701 parameters::value_type result;
1702 if ( function && *function ) {
1703 result = diagnostic::dict::lookup(
1704- ZED( FunctionFailedErrorCodeMessage_123 )
1705+ ZED( FunctionFailedErrorCodeMessage_234 )
1706 );
1707 params = ERROR_PARAMS( function, code, err_string );
1708 } else {
1709
1710=== modified file 'src/util/fs_util.h'
1711--- src/util/fs_util.h 2012-09-19 21:16:15 +0000
1712+++ src/util/fs_util.h 2012-11-26 15:42:26 +0000
1713@@ -465,6 +465,37 @@
1714
1715 ////////// File information ///////////////////////////////////////////////////
1716
1717+/**
1718+ * Gets the base name of the given path name, i.e., the file name without the
1719+ * path leading up to it.
1720+ *
1721+ * @param path The full path to get the base name of.
1722+ * @return Returns the base name. Note that if \a path is just a file name,
1723+ * then returns \a path.
1724+ */
1725+inline char const* base_name( char const *path ) {
1726+ if ( char const *const sep = ::strrchr( path, dir_separator ) )
1727+ return sep + 1;
1728+ return path;
1729+}
1730+
1731+/**
1732+ * Gets the base name of the given path name, i.e., the file name without the
1733+ * path leading up to it.
1734+ *
1735+ * @tparam PathStringType The \a path string type.
1736+ * @param path The full path to get the base name of.
1737+ * @return Returns the base name. Note that if \a path is just a file name,
1738+ * then returns \a path.
1739+ */
1740+template<class PathStringType> inline
1741+typename std::enable_if<ztd::has_c_str<PathStringType,
1742+ char const* (PathStringType::*)() const>::value,
1743+ char const*>::type
1744+base_name( PathStringType const &path ) {
1745+ return base_name( path.c_str() );
1746+}
1747+
1748 #ifdef ZORBA_WITH_FILE_ACCESS
1749
1750 /**
1751
1752=== modified file 'test/rbkt/ExpQueryResults/zorba/index/auctions2u.xml.res'
1753--- test/rbkt/ExpQueryResults/zorba/index/auctions2u.xml.res 2012-07-03 03:12:05 +0000
1754+++ test/rbkt/ExpQueryResults/zorba/index/auctions2u.xml.res 2012-11-26 15:42:26 +0000
1755@@ -256,7 +256,7 @@
1756
1757 TEST 6 (undo without do):
1758
1759-<exception>err:XUDY0021 : updates violate constraint</exception><person id="person1"><watches>
1760+<exception>err:XUDY0021 : "id": attribute with the same name already exists</exception><person id="person1"><watches>
1761 <watch open_auction="open_auction2"/>
1762 <watch open_auction="open_auction4"/>
1763 <watch open_auction="open_auction5"/>
1764
1765=== modified file 'test/rbkt/ExpQueryResults/zorba/index/undo1.xml.res'
1766--- test/rbkt/ExpQueryResults/zorba/index/undo1.xml.res 2012-09-19 21:16:15 +0000
1767+++ test/rbkt/ExpQueryResults/zorba/index/undo1.xml.res 2012-11-26 15:42:26 +0000
1768@@ -3,7 +3,7 @@
1769 First probing for Amsterdam:
1770 <person id="person6"><name>Bassem Nagasaki</name></person>
1771
1772-<exception>zerr:ZDDY0013 : "auctions:auctions": can not delete collection because indexes reference it</exception>
1773+<exception>zerr:ZDDY0013 : "auctions:auctions": can not delete collection because indexes reference it (applied at undo1.xq:48.9-39)</exception>
1774
1775 Second probing for Amsterdam
1776 <person id="person6"><name>Bassem Nagasaki</name></person>
1777
1778=== modified file 'test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_06.xml.res'
1779--- test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_06.xml.res 2012-09-11 15:38:58 +0000
1780+++ test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_06.xml.res 2012-11-26 15:42:26 +0000
1781@@ -1,1 +1,1 @@
1782-Cannot atomize an object item. An object has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item).
1783+can not atomize an object item: an object has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item)
1784
1785=== modified file 'test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_10.xml.res'
1786--- test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_10.xml.res 2012-09-11 15:38:58 +0000
1787+++ test/rbkt/ExpQueryResults/zorba/jsoniq/obj_constr_10.xml.res 2012-11-26 15:42:26 +0000
1788@@ -1,1 +1,1 @@
1789-Cannot atomize an array item. An array has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item).
1790+can not atomize an array item: an array has probably been passed where an atomic value is expected (e.g., as a key, or to a function expecting an atomic item)
1791
1792=== modified file 'test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res'
1793--- test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res 2012-09-13 12:51:41 +0000
1794+++ test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res 2012-11-26 15:42:26 +0000
1795@@ -1,1 +1,1 @@
1796-html: invalid serialization method for item type (js:object) text: invalid serialization method for item type (js:object) xml: invalid serialization method for item type (js:object) xhtml: invalid serialization method for item type (js:object)
1797+"html": invalid serialization method for item type (js:object) "text": invalid serialization method for item type (js:object) "xml": invalid serialization method for item type (js:object) "xhtml": invalid serialization method for item type (js:object)
1798
1799=== modified file 'test/rbkt/Queries/zorba/index/auctions2u.xq'
1800--- test/rbkt/Queries/zorba/index/auctions2u.xq 2012-07-03 03:12:05 +0000
1801+++ test/rbkt/Queries/zorba/index/auctions2u.xq 2012-11-26 15:42:26 +0000
1802@@ -162,7 +162,7 @@
1803 }}
1804 catch *
1805 {
1806- <exception>{$err:code} : {$err:description}</exception>
1807+ <exception>{$err:code} : {substring-before($err:description, " (applied")}</exception>
1808 }
1809 ,
1810 for $x in auctions:probe-point-watch($auctions:PersonWatches,
1811
1812=== modified file 'test/rbkt/Queries/zorba/index/undo1.xq'
1813--- test/rbkt/Queries/zorba/index/undo1.xq 2012-09-19 21:16:15 +0000
1814+++ test/rbkt/Queries/zorba/index/undo1.xq 2012-11-26 15:42:26 +0000
1815@@ -57,7 +57,10 @@
1816 }
1817 catch *
1818 {
1819- <exception>{$err:code} : {$err:description}</exception>
1820+ let $msg1 := substring-before($err:description, " (applied")
1821+ let $msg2 := substring-after($err:description, "undo1.xq")
1822+ let $msg3 := concat($msg1, " (applied at undo1.xq", $msg2)
1823+ return <exception>{ $err:code } : { $msg3 }</exception>
1824 }
1825
1826 ,

Subscribers

People subscribed via source and target branches