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

Proposed by Ghislain Fourny
Status: Merged
Approved by: Ghislain Fourny
Approved revision: 11044
Merged at revision: 11044
Proposed branch: lp:~zorba-coders/zorba/bug-1041445
Merge into: lp:zorba
Diff against target: 981 lines (+338/-120)
42 files modified
ChangeLog (+1/-0)
include/zorba/store_consts.h (+1/-1)
modules/org/jsoniq/www/functions.xq (+20/-3)
src/api/serialization/serializer.cpp (+1/-1)
src/context/static_context.cpp (+2/-2)
src/context/static_context.h (+1/-1)
src/functions/func_jsoniq_functions_impl.cpp (+1/-1)
src/functions/pregenerated/func_jsoniq_functions.cpp (+29/-1)
src/functions/pregenerated/func_jsoniq_functions.h (+16/-0)
src/functions/pregenerated/function_enum.h (+1/-0)
src/runtime/booleans/BooleanImpl.cpp (+22/-13)
src/runtime/core/arithmetic_impl.cpp (+20/-16)
src/runtime/json/jsoniq_functions_impl.cpp (+25/-1)
src/runtime/json/pregenerated/jsoniq_functions.cpp (+25/-0)
src/runtime/json/pregenerated/jsoniq_functions.h (+32/-0)
src/runtime/pregenerated/iterator_enum.h (+1/-0)
src/runtime/spec/json/jsoniq_functions.xml (+36/-18)
src/runtime/spec/mappings.xml (+1/-1)
src/runtime/visitors/pregenerated/planiter_visitor.h (+7/-0)
src/runtime/visitors/pregenerated/printer_visitor.cpp (+15/-0)
src/runtime/visitors/pregenerated/printer_visitor.h (+5/-0)
src/store/naive/json_items.cpp (+4/-4)
src/store/naive/json_items.h (+1/-1)
src/store/naive/store.cpp (+7/-7)
src/store/naive/store.h (+4/-4)
src/types/casting.cpp (+2/-2)
src/types/root_typemanager.cpp (+25/-25)
src/types/root_typemanager.h (+5/-5)
src/zorbaserialization/serialize_zorba_types.cpp (+2/-2)
test/rbkt/ExpQueryResults/zorba/jsoniq/null02.xml.res (+1/-1)
test/rbkt/ExpQueryResults/zorba/jsoniq/null04.xml.res (+1/-0)
test/rbkt/ExpQueryResults/zorba/jsoniq/null05.xml.res (+1/-0)
test/rbkt/ExpQueryResults/zorba/jsoniq/null08.xml.res (+1/-0)
test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res (+1/-1)
test/rbkt/Queries/zorba/jsoniq/null01.xq (+1/-3)
test/rbkt/Queries/zorba/jsoniq/null02.xq (+1/-3)
test/rbkt/Queries/zorba/jsoniq/null03.xq (+1/-3)
test/rbkt/Queries/zorba/jsoniq/null04.xq (+2/-0)
test/rbkt/Queries/zorba/jsoniq/null05.xq (+2/-0)
test/rbkt/Queries/zorba/jsoniq/null06.xq (+3/-0)
test/rbkt/Queries/zorba/jsoniq/null07.xq (+1/-0)
test/rbkt/Queries/zorba/jsoniq/null08.xq (+10/-0)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug-1041445
Reviewer Review Type Date Requested Status
Matthias Brantner Approve
Till Westmann Approve
Review via email: mp+124191@code.launchpad.net

Commit message

Implementing semantics of arithmetics and comparison operators for JSON nulls.

Description of the change

Implementing semantics of arithmetics and comparison operators for JSON nulls.

To post a comment you must log in.
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/bug-1041445 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-1041445-2012-09-13T12-55-25.237Z is finished. The
  final status was:

  2 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 :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job bug-1041445-2012-09-13T13-31-14.234Z 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: 1 Pending.

Revision history for this message
Matthias Brantner (matthias-brantner) wrote :

Maybe we should add the change to the ChangeLog.

Revision history for this message
Till Westmann (tillw) :
review: Approve
lp:~zorba-coders/zorba/bug-1041445 updated
11043. By Ghislain Fourny

Merged trunk back.

11044. By Ghislain Fourny

Edited ChangeLog.

Revision history for this message
Ghislain Fourny (gislenius) wrote :

I edited the ChangeLog.

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

Validation queue job bug-1041445-2012-09-14T15-02-24.445Z 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
=== modified file 'ChangeLog'
--- ChangeLog 2012-09-14 04:33:18 +0000
+++ ChangeLog 2012-09-14 14:40:27 +0000
@@ -12,6 +12,7 @@
12 functions. jn:object is also supported.12 functions. jn:object is also supported.
13 * jn:parse-json can parse multiple top-level JSON items. Also, there is jn:parse-json#2 that13 * jn:parse-json can parse multiple top-level JSON items. Also, there is jn:parse-json#2 that
14 takes options to parameterize the parsing process (see bug #1047547)14 takes options to parameterize the parsing process (see bug #1047547)
15 * Implemented semantics of null for comparison and arithmetics operations.
1516
16Optimizations:17Optimizations:
17 * New memory management for compiler expressions (no more ref counting)18 * New memory management for compiler expressions (no more ref counting)
1819
=== modified file 'include/zorba/store_consts.h'
--- include/zorba/store_consts.h 2012-09-11 22:55:05 +0000
+++ include/zorba/store_consts.h 2012-09-14 14:40:27 +0000
@@ -84,7 +84,7 @@
84 XS_QNAME = 43,84 XS_QNAME = 43,
85 XS_NOTATION = 44,85 XS_NOTATION = 44,
86 86
87 JDM_NULL = 45,87 JS_NULL = 45,
8888
89 XS_LAST89 XS_LAST
90};90};
9191
=== modified file 'modules/org/jsoniq/www/functions.xq'
--- modules/org/jsoniq/www/functions.xq 2012-09-11 22:55:05 +0000
+++ modules/org/jsoniq/www/functions.xq 2012-09-14 14:40:27 +0000
@@ -35,11 +35,9 @@
3535
36import module namespace schema = "http://www.zorba-xquery.com/modules/schema";36import module namespace schema = "http://www.zorba-xquery.com/modules/schema";
3737
38declare namespace jdm = "http://www.jsoniq.org/";
39
40declare namespace err = "http://www.w3.org/2005/xqt-errors";38declare namespace err = "http://www.w3.org/2005/xqt-errors";
41
42declare namespace jerr = "http://www.jsoniq.org/errors";39declare namespace jerr = "http://www.jsoniq.org/errors";
40declare namespace js = "http://www.jsoniq.org/types";
4341
44declare namespace ver = "http://www.zorba-xquery.com/options/versioning";42declare namespace ver = "http://www.zorba-xquery.com/options/versioning";
45declare option ver:module-version "1.0";43declare option ver:module-version "1.0";
@@ -180,3 +178,22 @@
180 : @error jerr:JNDY0003 if there is a pair collision.178 : @error jerr:JNDY0003 if there is a pair collision.
181 :)179 :)
182declare function jn:object($o as object()*) as object() external;180declare function jn:object($o as object()*) as object() external;
181
182(:~
183 : Returns the JSON null.
184 :
185 : @return The JSON null.
186 :)
187declare function jn:null() as js:null external;
188
189(:~
190 : Tests whether the supplied atomic item is a JSON null.
191 :
192 : @param An atomic item.
193 :
194 : @return true if the item is of type js:null.
195 :)
196declare function jn:is-null($i as xs:anyAtomicType) as xs:boolean external;
197
198
199
183200
=== modified file 'src/api/serialization/serializer.cpp'
--- src/api/serialization/serializer.cpp 2012-09-13 08:28:50 +0000
+++ src/api/serialization/serializer.cpp 2012-09-14 14:40:27 +0000
@@ -1040,7 +1040,7 @@
1040 tr << (item->getBooleanValue() ? "true" : "false");1040 tr << (item->getBooleanValue() ? "true" : "false");
1041 break;1041 break;
10421042
1043 case store::JDM_NULL:1043 case store::JS_NULL:
1044 tr << "null";1044 tr << "null";
1045 break;1045 break;
10461046
10471047
=== modified file 'src/context/static_context.cpp'
--- src/context/static_context.cpp 2012-09-11 22:55:05 +0000
+++ src/context/static_context.cpp 2012-09-14 14:40:27 +0000
@@ -397,8 +397,8 @@
397#ifdef ZORBA_WITH_JSON397#ifdef ZORBA_WITH_JSON
398398
399const char*399const char*
400static_context::JSONIQ_NS =400static_context::JSONIQ_DM_NS =
401"http://www.jsoniq.org/";401"http://www.jsoniq.org/types";
402402
403const char*403const char*
404static_context::JSONIQ_FN_NS =404static_context::JSONIQ_FN_NS =
405405
=== modified file 'src/context/static_context.h'
--- src/context/static_context.h 2012-09-11 22:55:05 +0000
+++ src/context/static_context.h 2012-09-14 14:40:27 +0000
@@ -527,7 +527,7 @@
527 static const char* ZORBA_STORE_DYNAMIC_UNORDERED_MAP_FN_NS;527 static const char* ZORBA_STORE_DYNAMIC_UNORDERED_MAP_FN_NS;
528528
529#ifdef ZORBA_WITH_JSON529#ifdef ZORBA_WITH_JSON
530 static const char* JSONIQ_NS;530 static const char* JSONIQ_DM_NS;
531 static const char* JSONIQ_FN_NS;531 static const char* JSONIQ_FN_NS;
532#endif532#endif
533533
534534
=== modified file 'src/functions/func_jsoniq_functions_impl.cpp'
--- src/functions/func_jsoniq_functions_impl.cpp 2012-09-13 08:28:50 +0000
+++ src/functions/func_jsoniq_functions_impl.cpp 2012-09-14 14:40:27 +0000
@@ -145,7 +145,7 @@
145 return type;145 return type;
146146
147 if (type->max_card() == 0)147 if (type->max_card() == 0)
148 return GENV_TYPESYSTEM.JDM_NULL_TYPE_ONE;148 return GENV_TYPESYSTEM.JS_NULL_TYPE_ONE;
149149
150 return theSignature.returnType();150 return theSignature.returnType();
151}151}
152152
=== modified file 'src/functions/pregenerated/func_jsoniq_functions.cpp'
--- src/functions/pregenerated/func_jsoniq_functions.cpp 2012-09-11 22:55:05 +0000
+++ src/functions/pregenerated/func_jsoniq_functions.cpp 2012-09-14 14:40:27 +0000
@@ -142,6 +142,18 @@
142142
143#endif143#endif
144#ifdef ZORBA_WITH_JSON144#ifdef ZORBA_WITH_JSON
145PlanIter_t fn_jsoniq_is_null::codegen(
146 CompilerCB*,
147 static_context* sctx,
148 const QueryLoc& loc,
149 std::vector<PlanIter_t>& argv,
150 expr& ann) const
151{
152 return new JSONIsNullIterator(sctx, loc, argv[0]);
153}
154
155#endif
156#ifdef ZORBA_WITH_JSON
145PlanIter_t op_zorba_json_array_insert::codegen(157PlanIter_t op_zorba_json_array_insert::codegen(
146 CompilerCB*,158 CompilerCB*,
147 static_context* sctx,159 static_context* sctx,
@@ -379,7 +391,7 @@
379 {391 {
380 DECL_WITH_KIND(sctx, fn_jsoniq_null,392 DECL_WITH_KIND(sctx, fn_jsoniq_null,
381 (createQName("http://www.jsoniq.org/functions","","null"), 393 (createQName("http://www.jsoniq.org/functions","","null"),
382 GENV_TYPESYSTEM.JDM_NULL_TYPE_ONE),394 GENV_TYPESYSTEM.JS_NULL_TYPE_ONE),
383 FunctionConsts::FN_JSONIQ_NULL_0);395 FunctionConsts::FN_JSONIQ_NULL_0);
384396
385 }397 }
@@ -392,6 +404,22 @@
392404
393405
394 {406 {
407 DECL_WITH_KIND(sctx, fn_jsoniq_is_null,
408 (createQName("http://www.jsoniq.org/functions","","is-null"),
409 GENV_TYPESYSTEM.ANY_ATOMIC_TYPE_ONE,
410 GENV_TYPESYSTEM.BOOLEAN_TYPE_ONE),
411 FunctionConsts::FN_JSONIQ_IS_NULL_1);
412
413 }
414
415
416#endif
417
418
419#ifdef ZORBA_WITH_JSON
420
421
422 {
395 DECL_WITH_KIND(sctx, op_zorba_json_array_insert,423 DECL_WITH_KIND(sctx, op_zorba_json_array_insert,
396 (createQName("http://www.zorba-xquery.com/internal/zorba-ops","","json-array-insert"), 424 (createQName("http://www.zorba-xquery.com/internal/zorba-ops","","json-array-insert"),
397 GENV_TYPESYSTEM.JSON_ARRAY_TYPE_ONE, 425 GENV_TYPESYSTEM.JSON_ARRAY_TYPE_ONE,
398426
=== modified file 'src/functions/pregenerated/func_jsoniq_functions.h'
--- src/functions/pregenerated/func_jsoniq_functions.h 2012-09-13 08:28:50 +0000
+++ src/functions/pregenerated/func_jsoniq_functions.h 2012-09-14 14:40:27 +0000
@@ -234,6 +234,22 @@
234#endif234#endif
235#ifdef ZORBA_WITH_JSON235#ifdef ZORBA_WITH_JSON
236236
237//fn-jsoniq:is-null
238class fn_jsoniq_is_null : public function
239{
240public:
241 fn_jsoniq_is_null(const signature& sig, FunctionConsts::FunctionKind kind)
242 :
243 function(sig, kind)
244 {
245
246 }
247
248 CODEGEN_DECL();
249};
250#endif
251#ifdef ZORBA_WITH_JSON
252
237//op-zorba:json-array-insert253//op-zorba:json-array-insert
238class op_zorba_json_array_insert : public function254class op_zorba_json_array_insert : public function
239{255{
240256
=== modified file 'src/functions/pregenerated/function_enum.h'
--- src/functions/pregenerated/function_enum.h 2012-09-13 08:28:50 +0000
+++ src/functions/pregenerated/function_enum.h 2012-09-14 14:40:27 +0000
@@ -238,6 +238,7 @@
238 FN_JSONIQ_FLATTEN_1,238 FN_JSONIQ_FLATTEN_1,
239 OP_ZORBA_JSON_ITEM_ACCESSOR_2,239 OP_ZORBA_JSON_ITEM_ACCESSOR_2,
240 FN_JSONIQ_NULL_0,240 FN_JSONIQ_NULL_0,
241 FN_JSONIQ_IS_NULL_1,
241 OP_ZORBA_JSON_ARRAY_INSERT_3,242 OP_ZORBA_JSON_ARRAY_INSERT_3,
242 OP_ZORBA_JSON_DELETE_2,243 OP_ZORBA_JSON_DELETE_2,
243 OP_ZORBA_JSON_REPLACE_VALUE_3,244 OP_ZORBA_JSON_REPLACE_VALUE_3,
244245
=== modified file 'src/runtime/booleans/BooleanImpl.cpp'
--- src/runtime/booleans/BooleanImpl.cpp 2012-09-11 22:55:05 +0000
+++ src/runtime/booleans/BooleanImpl.cpp 2012-09-14 14:40:27 +0000
@@ -142,7 +142,7 @@
142 TypeOps::is_subtype(type, store::XS_STRING) ||142 TypeOps::is_subtype(type, store::XS_STRING) ||
143 TypeOps::is_subtype(type, store::XS_ANY_URI) ||143 TypeOps::is_subtype(type, store::XS_ANY_URI) ||
144 type == store::XS_UNTYPED_ATOMIC ||144 type == store::XS_UNTYPED_ATOMIC ||
145 type == store::JDM_NULL ||145 type == store::JS_NULL ||
146 TypeOps::is_numeric(type)))146 TypeOps::is_numeric(type)))
147 {147 {
148 // atomic type xs_boolean, xs_string, xs_anyURI, xs_untypedAtomic148 // atomic type xs_boolean, xs_string, xs_anyURI, xs_untypedAtomic
@@ -488,19 +488,23 @@
488 if (consumeNext(item0, theChild0.getp(), planState) &&488 if (consumeNext(item0, theChild0.getp(), planState) &&
489 consumeNext(item1, theChild1.getp(), planState))489 consumeNext(item1, theChild1.getp(), planState))
490 {490 {
491 STACK_PUSH(GENV_ITEMFACTORY->491 if (item0->getTypeCode() != store::JS_NULL &&
492 createBoolean(result,492 item1->getTypeCode() != store::JS_NULL)
493 CompareIterator::valueComparison(loc,493 {
494 item0,494 STACK_PUSH(GENV_ITEMFACTORY->
495 item1,495 createBoolean(result,
496 theCompType,496 CompareIterator::valueComparison(loc,
497 theTypeManager,497 item0,
498 theTimezone,498 item1,
499 theCollation)),499 theCompType,
500 state);500 theTypeManager,
501 theTimezone,
502 theCollation)),
503 state);
501504
502 assert(!consumeNext(item0, theChild0.getp(), planState) &&505 assert(!consumeNext(item0, theChild0.getp(), planState) &&
503 !consumeNext(item1, theChild1.getp(), planState));506 !consumeNext(item1, theChild1.getp(), planState));
507 }
504 }508 }
505 }509 }
506510
@@ -685,6 +689,11 @@
685 long timezone,689 long timezone,
686 XQPCollator* aCollation)690 XQPCollator* aCollation)
687{691{
692 if (aItem0->getTypeCode() == store::JS_NULL ||
693 aItem1->getTypeCode() == store::JS_NULL)
694 {
695 return false;
696 }
688 try697 try
689 {698 {
690 switch(aCompType)699 switch(aCompType)
691700
=== modified file 'src/runtime/core/arithmetic_impl.cpp'
--- src/runtime/core/arithmetic_impl.cpp 2012-09-11 22:55:05 +0000
+++ src/runtime/core/arithmetic_impl.cpp 2012-09-14 14:40:27 +0000
@@ -115,24 +115,28 @@
115 {115 {
116 if (this->consumeNext(n1, this->theChild1.getp(), planState))116 if (this->consumeNext(n1, this->theChild1.getp(), planState))
117 {117 {
118 status = compute(result,118 if (n0->getTypeCode() != store::JS_NULL &&
119 planState.theLocalDynCtx,119 n1->getTypeCode() != store::JS_NULL)
120 this->theSctx->get_typemanager(),
121 this->loc,
122 n0,
123 n1);
124 /*
125 if (this->consumeNext(n0, this->theChild0.getp(), planState) ||
126 this->consumeNext(n1, this->theChild1.getp(), planState))
127 {120 {
128 throw XQUERY_EXCEPTION(121 status = compute(result,
129 err::XPTY0004,122 planState.theLocalDynCtx,
130 ERROR_PARAMS( ZED( NoSeqAsArithOp ) ),123 this->theSctx->get_typemanager(),
131 ERROR_LOC( this->loc )124 this->loc,
132 );125 n0,
126 n1);
127 /*
128 if (this->consumeNext(n0, this->theChild0.getp(), planState) ||
129 this->consumeNext(n1, this->theChild1.getp(), planState))
130 {
131 throw XQUERY_EXCEPTION(
132 err::XPTY0004,
133 ERROR_PARAMS( ZED( NoSeqAsArithOp ) ),
134 ERROR_LOC( this->loc )
135 );
136 }
137 */
138 STACK_PUSH ( status, state );
133 }139 }
134 */
135 STACK_PUSH ( status, state );
136 }140 }
137 }141 }
138142
139143
=== modified file 'src/runtime/json/jsoniq_functions_impl.cpp'
--- src/runtime/json/jsoniq_functions_impl.cpp 2012-09-11 22:55:05 +0000
+++ src/runtime/json/jsoniq_functions_impl.cpp 2012-09-14 14:40:27 +0000
@@ -512,7 +512,7 @@
512512
513513
514/*******************************************************************************514/*******************************************************************************
515 j:null()) as jdm:null515 jn:null() as jn:null
516********************************************************************************/516********************************************************************************/
517bool517bool
518JSONNullIterator::nextImpl(518JSONNullIterator::nextImpl(
@@ -529,6 +529,30 @@
529529
530530
531/*******************************************************************************531/*******************************************************************************
532 jn:is-null(xs:anyAtomicType) as xs:boolean
533********************************************************************************/
534bool
535JSONIsNullIterator::nextImpl(
536 store::Item_t& result,
537 PlanState& planState) const
538{
539 PlanIteratorState* state;
540 store::Item_t lItem;
541 bool lIsNull;
542
543 DEFAULT_STACK_INIT(PlanIteratorState, state, planState);
544
545 consumeNext(lItem, theChild.getp(), planState);
546
547 lIsNull = (lItem->getTypeCode() == store::JS_NULL);
548
549 STACK_PUSH(GENV_ITEMFACTORY->createBoolean(result, lIsNull), state);
550
551 STACK_END(state);
552}
553
554
555/*******************************************************************************
532 updating function op-zorba:object-insert(556 updating function op-zorba:object-insert(
533 $o as object(),557 $o as object(),
534 $name1 as xs:string, $value1 as item(), 558 $name1 as xs:string, $value1 as item(),
535559
=== modified file 'src/runtime/json/pregenerated/jsoniq_functions.cpp'
--- src/runtime/json/pregenerated/jsoniq_functions.cpp 2012-09-11 22:55:05 +0000
+++ src/runtime/json/pregenerated/jsoniq_functions.cpp 2012-09-14 14:40:27 +0000
@@ -327,6 +327,31 @@
327327
328#endif328#endif
329#ifdef ZORBA_WITH_JSON329#ifdef ZORBA_WITH_JSON
330// <JSONIsNullIterator>
331SERIALIZABLE_CLASS_VERSIONS(JSONIsNullIterator)
332
333void JSONIsNullIterator::serialize(::zorba::serialization::Archiver& ar)
334{
335 serialize_baseclass(ar,
336 (UnaryBaseIterator<JSONIsNullIterator, PlanIteratorState>*)this);
337}
338
339
340void JSONIsNullIterator::accept(PlanIterVisitor& v) const
341{
342 v.beginVisit(*this);
343
344 theChild->accept(v);
345
346 v.endVisit(*this);
347}
348
349JSONIsNullIterator::~JSONIsNullIterator() {}
350
351// </JSONIsNullIterator>
352
353#endif
354#ifdef ZORBA_WITH_JSON
330// <JSONArrayInsertIterator>355// <JSONArrayInsertIterator>
331SERIALIZABLE_CLASS_VERSIONS(JSONArrayInsertIterator)356SERIALIZABLE_CLASS_VERSIONS(JSONArrayInsertIterator)
332357
333358
=== modified file 'src/runtime/json/pregenerated/jsoniq_functions.h'
--- src/runtime/json/pregenerated/jsoniq_functions.h 2012-09-11 22:55:05 +0000
+++ src/runtime/json/pregenerated/jsoniq_functions.h 2012-09-14 14:40:27 +0000
@@ -418,6 +418,38 @@
418#ifdef ZORBA_WITH_JSON418#ifdef ZORBA_WITH_JSON
419/**419/**
420 * 420 *
421 * Author:
422 */
423class JSONIsNullIterator : public UnaryBaseIterator<JSONIsNullIterator, PlanIteratorState>
424{
425public:
426 SERIALIZABLE_CLASS(JSONIsNullIterator);
427
428 SERIALIZABLE_CLASS_CONSTRUCTOR2T(JSONIsNullIterator,
429 UnaryBaseIterator<JSONIsNullIterator, PlanIteratorState>);
430
431 void serialize( ::zorba::serialization::Archiver& ar);
432
433 JSONIsNullIterator(
434 static_context* sctx,
435 const QueryLoc& loc,
436 PlanIter_t& child)
437 :
438 UnaryBaseIterator<JSONIsNullIterator, PlanIteratorState>(sctx, loc, child)
439 {}
440
441 virtual ~JSONIsNullIterator();
442
443 void accept(PlanIterVisitor& v) const;
444
445 bool nextImpl(store::Item_t& result, PlanState& aPlanState) const;
446};
447
448#endif
449
450#ifdef ZORBA_WITH_JSON
451/**
452 *
421 * internal function 453 * internal function
422 * 454 *
423 * Author: Zorba Team455 * Author: Zorba Team
424456
=== modified file 'src/runtime/pregenerated/iterator_enum.h'
--- src/runtime/pregenerated/iterator_enum.h 2012-09-13 08:28:50 +0000
+++ src/runtime/pregenerated/iterator_enum.h 2012-09-14 14:40:27 +0000
@@ -161,6 +161,7 @@
161 TYPE_JSONArrayFlattenIterator,161 TYPE_JSONArrayFlattenIterator,
162 TYPE_JSONItemAccessorIterator,162 TYPE_JSONItemAccessorIterator,
163 TYPE_JSONNullIterator,163 TYPE_JSONNullIterator,
164 TYPE_JSONIsNullIterator,
164 TYPE_JSONArrayInsertIterator,165 TYPE_JSONArrayInsertIterator,
165 TYPE_JSONDeleteIterator,166 TYPE_JSONDeleteIterator,
166 TYPE_JSONReplaceValueIterator,167 TYPE_JSONReplaceValueIterator,
167168
=== modified file 'src/runtime/spec/json/jsoniq_functions.xml'
--- src/runtime/spec/json/jsoniq_functions.xml 2012-09-13 08:28:50 +0000
+++ src/runtime/spec/json/jsoniq_functions.xml 2012-09-14 14:40:27 +0000
@@ -267,24 +267,42 @@
267</zorba:iterator>267</zorba:iterator>
268268
269269
270<!--270 <!--
271/*******************************************************************************271/*******************************************************************************
272********************************************************************************/272********************************************************************************/
273-->273-->
274<zorba:iterator name="JSONNullIterator" arity="noary"274 <zorba:iterator name="JSONNullIterator" arity="noary"
275 preprocessorGuard="#ifdef ZORBA_WITH_JSON">275 preprocessorGuard="#ifdef ZORBA_WITH_JSON">
276276
277 <zorba:function isDeterministic="true">277 <zorba:function isDeterministic="true">
278 <zorba:signature localname="null" prefix="fn-jsoniq">278 <zorba:signature localname="null" prefix="fn-jsoniq">
279 <zorba:output>jdm:null</zorba:output>279 <zorba:output>js:null</zorba:output>
280 </zorba:signature>280 </zorba:signature>
281281
282 </zorba:function>282 </zorba:function>
283283
284</zorba:iterator>284 </zorba:iterator>
285285
286286
287<!--287 <!--
288/*******************************************************************************
289********************************************************************************/
290-->
291 <zorba:iterator name="JSONIsNullIterator" arity="unary"
292 preprocessorGuard="#ifdef ZORBA_WITH_JSON">
293
294 <zorba:function isDeterministic="true">
295 <zorba:signature localname="is-null" prefix="fn-jsoniq">
296 <zorba:param>xs:anyAtomicType</zorba:param>
297 <zorba:output>xs:boolean</zorba:output>
298 </zorba:signature>
299
300 </zorba:function>
301
302 </zorba:iterator>
303
304
305 <!--
288/*******************************************************************************306/*******************************************************************************
289********************************************************************************/307********************************************************************************/
290<zorba:iterator name="JSONObjectInsertIterator" arity="nary"308<zorba:iterator name="JSONObjectInsertIterator" arity="nary"
291309
=== modified file 'src/runtime/spec/mappings.xml'
--- src/runtime/spec/mappings.xml 2012-09-11 22:55:05 +0000
+++ src/runtime/spec/mappings.xml 2012-09-14 14:40:27 +0000
@@ -207,7 +207,7 @@
207 <zorba:type zorbaType="JSON_ITEM">json-item()</zorba:type>207 <zorba:type zorbaType="JSON_ITEM">json-item()</zorba:type>
208 <zorba:type zorbaType="JSON_ARRAY">array()</zorba:type>208 <zorba:type zorbaType="JSON_ARRAY">array()</zorba:type>
209 <zorba:type zorbaType="JSON_OBJECT">object()</zorba:type>209 <zorba:type zorbaType="JSON_OBJECT">object()</zorba:type>
210 <zorba:type zorbaType="JDM_NULL">jdm:null</zorba:type>210 <zorba:type zorbaType="JS_NULL">js:null</zorba:type>
211 </zorba:types>211 </zorba:types>
212212
213 <!-- XQuery Occurrence Indicators -->213 <!-- XQuery Occurrence Indicators -->
214214
=== modified file 'src/runtime/visitors/pregenerated/planiter_visitor.h'
--- src/runtime/visitors/pregenerated/planiter_visitor.h 2012-09-13 08:28:50 +0000
+++ src/runtime/visitors/pregenerated/planiter_visitor.h 2012-09-14 14:40:27 +0000
@@ -339,6 +339,9 @@
339 class JSONNullIterator;339 class JSONNullIterator;
340#endif340#endif
341#ifdef ZORBA_WITH_JSON341#ifdef ZORBA_WITH_JSON
342 class JSONIsNullIterator;
343#endif
344#ifdef ZORBA_WITH_JSON
342 class JSONArrayInsertIterator;345 class JSONArrayInsertIterator;
343#endif346#endif
344#ifdef ZORBA_WITH_JSON347#ifdef ZORBA_WITH_JSON
@@ -1179,6 +1182,10 @@
1179 virtual void endVisit ( const JSONNullIterator& ) = 0;1182 virtual void endVisit ( const JSONNullIterator& ) = 0;
1180#endif1183#endif
1181#ifdef ZORBA_WITH_JSON1184#ifdef ZORBA_WITH_JSON
1185 virtual void beginVisit ( const JSONIsNullIterator& ) = 0;
1186 virtual void endVisit ( const JSONIsNullIterator& ) = 0;
1187#endif
1188#ifdef ZORBA_WITH_JSON
1182 virtual void beginVisit ( const JSONArrayInsertIterator& ) = 0;1189 virtual void beginVisit ( const JSONArrayInsertIterator& ) = 0;
1183 virtual void endVisit ( const JSONArrayInsertIterator& ) = 0;1190 virtual void endVisit ( const JSONArrayInsertIterator& ) = 0;
1184#endif1191#endif
11851192
=== modified file 'src/runtime/visitors/pregenerated/printer_visitor.cpp'
--- src/runtime/visitors/pregenerated/printer_visitor.cpp 2012-09-13 08:28:50 +0000
+++ src/runtime/visitors/pregenerated/printer_visitor.cpp 2012-09-14 14:40:27 +0000
@@ -2114,6 +2114,21 @@
21142114
2115#endif2115#endif
2116#ifdef ZORBA_WITH_JSON2116#ifdef ZORBA_WITH_JSON
2117// <JSONIsNullIterator>
2118void PrinterVisitor::beginVisit ( const JSONIsNullIterator& a) {
2119 thePrinter.startBeginVisit("JSONIsNullIterator", ++theId);
2120 printCommons( &a, theId );
2121 thePrinter.endBeginVisit( theId );
2122}
2123
2124void PrinterVisitor::endVisit ( const JSONIsNullIterator& ) {
2125 thePrinter.startEndVisit();
2126 thePrinter.endEndVisit();
2127}
2128// </JSONIsNullIterator>
2129
2130#endif
2131#ifdef ZORBA_WITH_JSON
2117// <JSONArrayInsertIterator>2132// <JSONArrayInsertIterator>
2118void PrinterVisitor::beginVisit ( const JSONArrayInsertIterator& a) {2133void PrinterVisitor::beginVisit ( const JSONArrayInsertIterator& a) {
2119 thePrinter.startBeginVisit("JSONArrayInsertIterator", ++theId);2134 thePrinter.startBeginVisit("JSONArrayInsertIterator", ++theId);
21202135
=== modified file 'src/runtime/visitors/pregenerated/printer_visitor.h'
--- src/runtime/visitors/pregenerated/printer_visitor.h 2012-09-13 08:28:50 +0000
+++ src/runtime/visitors/pregenerated/printer_visitor.h 2012-09-14 14:40:27 +0000
@@ -523,6 +523,11 @@
523#endif523#endif
524524
525#ifdef ZORBA_WITH_JSON525#ifdef ZORBA_WITH_JSON
526 void beginVisit( const JSONIsNullIterator& );
527 void endVisit ( const JSONIsNullIterator& );
528#endif
529
530#ifdef ZORBA_WITH_JSON
526 void beginVisit( const JSONArrayInsertIterator& );531 void beginVisit( const JSONArrayInsertIterator& );
527 void endVisit ( const JSONArrayInsertIterator& );532 void endVisit ( const JSONArrayInsertIterator& );
528#endif533#endif
529534
=== modified file 'src/store/naive/json_items.cpp'
--- src/store/naive/json_items.cpp 2012-09-14 01:18:48 +0000
+++ src/store/naive/json_items.cpp 2012-09-14 14:40:27 +0000
@@ -38,7 +38,7 @@
38*******************************************************************************/38*******************************************************************************/
39store::Item* JSONNull::getType() const39store::Item* JSONNull::getType() const
40{40{
41 return GET_STORE().JDM_NULL_QNAME;41 return GET_STORE().JS_NULL_QNAME;
42}42}
4343
4444
@@ -50,7 +50,7 @@
50 long /* timezone */,50 long /* timezone */,
51 const XQPCollator* /* collation */) const51 const XQPCollator* /* collation */) const
52{52{
53 return other->getTypeCode() == store::JDM_NULL;53 return other->getTypeCode() == store::JS_NULL;
54}54}
5555
5656
@@ -204,7 +204,7 @@
204*******************************************************************************/204*******************************************************************************/
205store::Item* JSONObject::getType() const205store::Item* JSONObject::getType() const
206{206{
207 return GET_STORE().JDM_OBJECT_QNAME;207 return GET_STORE().JS_OBJECT_QNAME;
208}208}
209209
210210
@@ -732,7 +732,7 @@
732*******************************************************************************/732*******************************************************************************/
733store::Item* JSONArray::getType() const733store::Item* JSONArray::getType() const
734{734{
735 return GET_STORE().JDM_ARRAY_QNAME;735 return GET_STORE().JS_ARRAY_QNAME;
736}736}
737737
738738
739739
=== modified file 'src/store/naive/json_items.h'
--- src/store/naive/json_items.h 2012-09-14 01:18:48 +0000
+++ src/store/naive/json_items.h 2012-09-14 14:40:27 +0000
@@ -68,7 +68,7 @@
6868
69 void getTypedValue(store::Item_t& val, store::Iterator_t& iter) const;69 void getTypedValue(store::Item_t& val, store::Iterator_t& iter) const;
7070
71 store::SchemaTypeCode getTypeCode() const { return store::JDM_NULL; }71 store::SchemaTypeCode getTypeCode() const { return store::JS_NULL; }
7272
73 store::Item* getType() const; 73 store::Item* getType() const;
7474
7575
=== modified file 'src/store/naive/store.cpp'
--- src/store/naive/store.cpp 2012-09-11 22:55:05 +0000
+++ src/store/naive/store.cpp 2012-09-14 14:40:27 +0000
@@ -86,7 +86,7 @@
86const char* Store::XS_URI = "http://www.w3.org/2001/XMLSchema";86const char* Store::XS_URI = "http://www.w3.org/2001/XMLSchema";
87const char* Store::XML_URI = "http://www.w3.org/2001/XML/1998/namespace";87const char* Store::XML_URI = "http://www.w3.org/2001/XML/1998/namespace";
88const char* Store::ZXSE_URI = "http://www.zorba-xquery.com/zorba/schema-extensions";88const char* Store::ZXSE_URI = "http://www.zorba-xquery.com/zorba/schema-extensions";
89const char* Store::JDM_URI = "http://www.jsoniq.org/";89const char* Store::JS_URI = "http://www.jsoniq.org/types";
9090
91const ulong Store::XML_URI_LEN = sizeof(Store::XML_URI);91const ulong Store::XML_URI_LEN = sizeof(Store::XML_URI);
9292
@@ -185,9 +185,9 @@
185 theSchemaTypeNames.resize(store::XS_LAST);185 theSchemaTypeNames.resize(store::XS_LAST);
186186
187#ifdef ZORBA_WITH_JSON187#ifdef ZORBA_WITH_JSON
188 JDM_NULL_QNAME = theQNamePool->insert(JDM_URI, "jdm", "null");188 JS_NULL_QNAME = theQNamePool->insert(JS_URI, "js", "null");
189 JDM_OBJECT_QNAME = theQNamePool->insert(JDM_URI, "jdm", "object");189 JS_OBJECT_QNAME = theQNamePool->insert(JS_URI, "js", "object");
190 JDM_ARRAY_QNAME = theQNamePool->insert(JDM_URI, "jdm", "array");190 JS_ARRAY_QNAME = theQNamePool->insert(JS_URI, "js", "array");
191#endif191#endif
192192
193 XS_UNTYPED_QNAME = theQNamePool->insert(ns, "xs", "untyped");193 XS_UNTYPED_QNAME = theQNamePool->insert(ns, "xs", "untyped");
@@ -323,9 +323,9 @@
323 XS_ANY_SIMPLE_QNAME = NULL;323 XS_ANY_SIMPLE_QNAME = NULL;
324324
325#ifdef ZORBA_WITH_JSON325#ifdef ZORBA_WITH_JSON
326 JDM_OBJECT_QNAME = NULL;326 JS_OBJECT_QNAME = NULL;
327 JDM_ARRAY_QNAME = NULL;327 JS_ARRAY_QNAME = NULL;
328 JDM_NULL_QNAME = NULL;328 JS_NULL_QNAME = NULL;
329#endif329#endif
330330
331 delete theQNamePool;331 delete theQNamePool;
332332
=== modified file 'src/store/naive/store.h'
--- src/store/naive/store.h 2012-09-13 08:28:50 +0000
+++ src/store/naive/store.h 2012-09-14 14:40:27 +0000
@@ -136,7 +136,7 @@
136 static const char* XS_URI;136 static const char* XS_URI;
137 static const char* XML_URI;137 static const char* XML_URI;
138 static const char* ZXSE_URI;138 static const char* ZXSE_URI;
139 static const char* JDM_URI;139 static const char* JS_URI;
140140
141 static const ulong XML_URI_LEN;141 static const ulong XML_URI_LEN;
142142
@@ -159,9 +159,9 @@
159 store::Item_t XS_ANY_SIMPLE_QNAME;159 store::Item_t XS_ANY_SIMPLE_QNAME;
160160
161#ifdef ZORBA_WITH_JSON161#ifdef ZORBA_WITH_JSON
162 store::Item_t JDM_OBJECT_QNAME;162 store::Item_t JS_OBJECT_QNAME;
163 store::Item_t JDM_ARRAY_QNAME;163 store::Item_t JS_ARRAY_QNAME;
164 store::Item_t JDM_NULL_QNAME;164 store::Item_t JS_NULL_QNAME;
165#endif165#endif
166166
167protected:167protected:
168168
=== modified file 'src/types/casting.cpp'
--- src/types/casting.cpp 2012-09-11 22:55:05 +0000
+++ src/types/casting.cpp 2012-09-14 14:40:27 +0000
@@ -1818,7 +1818,7 @@
1818 20, // 42 XS_ANY_URI1818 20, // 42 XS_ANY_URI
1819 21, // 43 XS_QNAME1819 21, // 43 XS_QNAME
1820 22, // 44 XS_NOTATION1820 22, // 44 XS_NOTATION
1821 23 // 45 JDM_NULL1821 23 // 45 JS_NULL
1822};1822};
18231823
18241824
@@ -2159,7 +2159,7 @@
2159 sourceTypeCode != store::XS_UNTYPED_ATOMIC)2159 sourceTypeCode != store::XS_UNTYPED_ATOMIC)
2160 throwTypeException(err::XPTY0004, errorInfo);2160 throwTypeException(err::XPTY0004, errorInfo);
21612161
2162 if (targetTypeCode == store::JDM_NULL)2162 if (targetTypeCode == store::JS_NULL)
2163 throwTypeException(err::XPTY0004, errorInfo);2163 throwTypeException(err::XPTY0004, errorInfo);
21642164
2165 CastFunc castFunc = theCastMatrix[theMapping[sourceTypeCode]]2165 CastFunc castFunc = theCastMatrix[theMapping[sourceTypeCode]]
21662166
=== modified file 'src/types/root_typemanager.cpp'
--- src/types/root_typemanager.cpp 2012-09-11 22:55:05 +0000
+++ src/types/root_typemanager.cpp 2012-09-14 14:40:27 +0000
@@ -281,9 +281,9 @@
281 XSQNDECL(XS_UNTYPED_QNAME, "untyped");281 XSQNDECL(XS_UNTYPED_QNAME, "untyped");
282282
283#ifdef ZORBA_WITH_JSON283#ifdef ZORBA_WITH_JSON
284 GENV_STORE.getItemFactory()->createQName(JDM_NULL_QNAME,284 GENV_STORE.getItemFactory()->createQName(JS_NULL_QNAME,
285 static_context::JSONIQ_NS,285 static_context::JSONIQ_DM_NS,
286 "",286 "jn",
287 "null");287 "null");
288#endif288#endif
289289
@@ -389,43 +389,43 @@
389 new StructuredItemXQType(this, TypeConstants::QUANT_PLUS, true);389 new StructuredItemXQType(this, TypeConstants::QUANT_PLUS, true);
390390
391#ifdef ZORBA_WITH_JSON391#ifdef ZORBA_WITH_JSON
392 JDM_NULL_TYPE_ONE = new AtomicXQType(this,392 JS_NULL_TYPE_ONE = new AtomicXQType(this,
393 store::JDM_NULL,393 store::JS_NULL,
394 TypeConstants::QUANT_ONE,394 TypeConstants::QUANT_ONE,
395 true); 395 true);
396 396
397 JDM_NULL_TYPE_QUESTION = new AtomicXQType(this, 397 JS_NULL_TYPE_QUESTION = new AtomicXQType(this,
398 store::JDM_NULL, 398 store::JS_NULL,
399 TypeConstants::QUANT_QUESTION,399 TypeConstants::QUANT_QUESTION,
400 true); 400 true);
401 401
402 JDM_NULL_TYPE_STAR = new AtomicXQType(this, 402 JS_NULL_TYPE_STAR = new AtomicXQType(this,
403 store::JDM_NULL, 403 store::JS_NULL,
404 TypeConstants::QUANT_STAR,404 TypeConstants::QUANT_STAR,
405 true); 405 true);
406 406
407 JDM_NULL_TYPE_PLUS = new AtomicXQType(this, 407 JS_NULL_TYPE_PLUS = new AtomicXQType(this,
408 store::JDM_NULL, 408 store::JS_NULL,
409 TypeConstants::QUANT_PLUS,409 TypeConstants::QUANT_PLUS,
410 true); 410 true);
411 411
412 m_atomic_typecode_qname_map[store::JDM_NULL] = JDM_NULL_QNAME;412 m_atomic_typecode_qname_map[store::JS_NULL] = JS_NULL_QNAME;
413 413
414 tempQN = JDM_NULL_QNAME.getp(); 414 tempQN = JS_NULL_QNAME.getp();
415 tempCode = store::JDM_NULL; 415 tempCode = store::JS_NULL;
416 m_atomic_qnametype_map.insert(tempQN, tempCode); 416 m_atomic_qnametype_map.insert(tempQN, tempCode);
417 417
418 m_atomic_typecode_map[store::JDM_NULL][TypeConstants::QUANT_ONE] =418 m_atomic_typecode_map[store::JS_NULL][TypeConstants::QUANT_ONE] =
419 &JDM_NULL_TYPE_ONE; 419 &JS_NULL_TYPE_ONE;
420 420
421 m_atomic_typecode_map[store::JDM_NULL][TypeConstants::QUANT_QUESTION] =421 m_atomic_typecode_map[store::JS_NULL][TypeConstants::QUANT_QUESTION] =
422 &JDM_NULL_TYPE_QUESTION; 422 &JS_NULL_TYPE_QUESTION;
423 423
424 m_atomic_typecode_map[store::JDM_NULL][TypeConstants::QUANT_STAR] = 424 m_atomic_typecode_map[store::JS_NULL][TypeConstants::QUANT_STAR] =
425 &JDM_NULL_TYPE_STAR; 425 &JS_NULL_TYPE_STAR;
426 426
427 m_atomic_typecode_map[store::JDM_NULL][TypeConstants::QUANT_PLUS] = 427 m_atomic_typecode_map[store::JS_NULL][TypeConstants::QUANT_PLUS] =
428 &JDM_NULL_TYPE_PLUS;428 &JS_NULL_TYPE_PLUS;
429429
430#define JSON_TYPE_DEFN(basename, kind) \430#define JSON_TYPE_DEFN(basename, kind) \
431 basename##_TYPE_ONE = new JSONXQType(this, \431 basename##_TYPE_ONE = new JSONXQType(this, \
@@ -558,7 +558,7 @@
558 DELETE_TYPE(STRUCTURED_ITEM)558 DELETE_TYPE(STRUCTURED_ITEM)
559559
560#ifdef ZORBA_WITH_JSON560#ifdef ZORBA_WITH_JSON
561 DELETE_TYPE(JDM_NULL)561 DELETE_TYPE(JS_NULL)
562562
563 DELETE_TYPE(JSON_ITEM)563 DELETE_TYPE(JSON_ITEM)
564 DELETE_TYPE(JSON_OBJECT)564 DELETE_TYPE(JSON_OBJECT)
565565
=== modified file 'src/types/root_typemanager.h'
--- src/types/root_typemanager.h 2012-09-11 22:55:05 +0000
+++ src/types/root_typemanager.h 2012-09-14 14:40:27 +0000
@@ -132,11 +132,11 @@
132 *132 *
133 * N, N?, N+, N*, where N is the jdm::null atomic type133 * N, N?, N+, N*, where N is the jdm::null atomic type
134 */134 */
135 store::Item_t JDM_NULL_QNAME;135 store::Item_t JS_NULL_QNAME;
136 xqtref_t JDM_NULL_TYPE_ONE;136 xqtref_t JS_NULL_TYPE_ONE;
137 xqtref_t JDM_NULL_TYPE_QUESTION;137 xqtref_t JS_NULL_TYPE_QUESTION;
138 xqtref_t JDM_NULL_TYPE_STAR;138 xqtref_t JS_NULL_TYPE_STAR;
139 xqtref_t JDM_NULL_TYPE_PLUS;139 xqtref_t JS_NULL_TYPE_PLUS;
140#endif140#endif
141141
142 /**142 /**
143143
=== modified file 'src/zorbaserialization/serialize_zorba_types.cpp'
--- src/zorbaserialization/serialize_zorba_types.cpp 2012-09-11 22:55:05 +0000
+++ src/zorbaserialization/serialize_zorba_types.cpp 2012-09-14 14:40:27 +0000
@@ -770,7 +770,7 @@
770 }770 }
771 771
772 #ifdef ZORBA_WITH_JSON772 #ifdef ZORBA_WITH_JSON
773 case store::JDM_NULL:773 case store::JS_NULL:
774 {774 {
775 break;775 break;
776 }776 }
@@ -1076,7 +1076,7 @@
1076 }1076 }
10771077
1078 #ifdef ZORBA_WITH_JSON1078 #ifdef ZORBA_WITH_JSON
1079 case store::JDM_NULL:1079 case store::JS_NULL:
1080 {1080 {
1081 store::Item_t lRes;1081 store::Item_t lRes;
1082 GENV_ITEMFACTORY->createJSONNull(lRes);1082 GENV_ITEMFACTORY->createJSONNull(lRes);
10831083
=== modified file 'test/rbkt/ExpQueryResults/zorba/jsoniq/null02.xml.res'
--- test/rbkt/ExpQueryResults/zorba/jsoniq/null02.xml.res 2012-01-30 18:37:03 +0000
+++ test/rbkt/ExpQueryResults/zorba/jsoniq/null02.xml.res 2012-09-14 14:40:27 +0000
@@ -1,1 +1,1 @@
1true1false
22
=== added file 'test/rbkt/ExpQueryResults/zorba/jsoniq/null04.xml.res'
--- test/rbkt/ExpQueryResults/zorba/jsoniq/null04.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/jsoniq/null04.xml.res 2012-09-14 14:40:27 +0000
@@ -0,0 +1,1 @@
1true
02
=== added file 'test/rbkt/ExpQueryResults/zorba/jsoniq/null05.xml.res'
--- test/rbkt/ExpQueryResults/zorba/jsoniq/null05.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/jsoniq/null05.xml.res 2012-09-14 14:40:27 +0000
@@ -0,0 +1,1 @@
1false
02
=== added file 'test/rbkt/ExpQueryResults/zorba/jsoniq/null06.xml.res'
=== added file 'test/rbkt/ExpQueryResults/zorba/jsoniq/null07.xml.res'
=== added file 'test/rbkt/ExpQueryResults/zorba/jsoniq/null08.xml.res'
--- test/rbkt/ExpQueryResults/zorba/jsoniq/null08.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/jsoniq/null08.xml.res 2012-09-14 14:40:27 +0000
@@ -0,0 +1,1 @@
1true true true true true false false false false false
02
=== modified file 'test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res'
--- test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res 2012-09-10 17:47:37 +0000
+++ test/rbkt/ExpQueryResults/zorba/jsoniq/serializer-JNSE0022.xml.res 2012-09-14 14:40:27 +0000
@@ -1,1 +1,1 @@
1html: invalid serialization method for item type (jdm:object) text: invalid serialization method for item type (jdm:object) xml: invalid serialization method for item type (jdm:object) xhtml: invalid serialization method for item type (jdm:object)1html: 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)
22
=== modified file 'test/rbkt/Queries/zorba/jsoniq/null01.xq'
--- test/rbkt/Queries/zorba/jsoniq/null01.xq 2012-01-27 23:00:49 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null01.xq 2012-09-14 14:40:27 +0000
@@ -1,3 +1,1 @@
1import module namespace j = "http://www.jsoniq.org/functions";1jn:null()
2
3j:null()
42
=== modified file 'test/rbkt/Queries/zorba/jsoniq/null02.xq'
--- test/rbkt/Queries/zorba/jsoniq/null02.xq 2012-01-30 18:37:03 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null02.xq 2012-09-14 14:40:27 +0000
@@ -1,3 +1,1 @@
1import module namespace j = "http://www.jsoniq.org/functions";1jn:null() = jn:null()
2
3j:null() = j:null()
42
=== modified file 'test/rbkt/Queries/zorba/jsoniq/null03.xq'
--- test/rbkt/Queries/zorba/jsoniq/null03.xq 2012-01-31 04:17:50 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null03.xq 2012-09-14 14:40:27 +0000
@@ -1,4 +1,2 @@
1import module namespace j = "http://www.jsoniq.org/functions";1fn:data(jn:null())
2
3fn:data(j:null())
42
53
=== added file 'test/rbkt/Queries/zorba/jsoniq/null04.xq'
--- test/rbkt/Queries/zorba/jsoniq/null04.xq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null04.xq 2012-09-14 14:40:27 +0000
@@ -0,0 +1,2 @@
1jn:is-null(jn:null())
2
03
=== added file 'test/rbkt/Queries/zorba/jsoniq/null05.xq'
--- test/rbkt/Queries/zorba/jsoniq/null05.xq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null05.xq 2012-09-14 14:40:27 +0000
@@ -0,0 +1,2 @@
1jn:is-null("null")
2
03
=== added file 'test/rbkt/Queries/zorba/jsoniq/null06.xq'
--- test/rbkt/Queries/zorba/jsoniq/null06.xq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null06.xq 2012-09-14 14:40:27 +0000
@@ -0,0 +1,3 @@
1null + 1, null - 1, null * 1, null div 1, null mod 1
2
3
04
=== added file 'test/rbkt/Queries/zorba/jsoniq/null07.xq'
--- test/rbkt/Queries/zorba/jsoniq/null07.xq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null07.xq 2012-09-14 14:40:27 +0000
@@ -0,0 +1,1 @@
1null eq 1, 1 ne null, null le 1, 1 ge null, 1 lt null, null gt 1
02
=== added file 'test/rbkt/Queries/zorba/jsoniq/null08.xq'
--- test/rbkt/Queries/zorba/jsoniq/null08.xq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/jsoniq/null08.xq 2012-09-14 14:40:27 +0000
@@ -0,0 +1,10 @@
1(null, 1, 2, null) = (4, null, 1, 6),
2(null, 1, 2, null) < (4, null, 1, 6),
3(null, 1, 2, null) > (4, null, 1, 6),
4(null, 1, 2, null) <= (4, null, 1, 6),
5(null, 1, 2, null) >= (4, null, 1, 6),
6(null, 1, 2) = (3, 4, null),
7(null, 3, 4) < (1, 2, null),
8(null, 1, 2) > (3, 4, null),
9(null, 3, 4) <= (1, 2, null),
10(null, 1, 2) >= (3, 4, null)

Subscribers

People subscribed via source and target branches