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

Proposed by Ghislain Fourny
Status: Merged
Approved by: Ghislain Fourny
Approved revision: 11398
Merged at revision: 11399
Proposed branch: lp:~zorba-coders/zorba/bug-1123165
Merge into: lp:zorba
Diff against target: 490 lines (+312/-43)
8 files modified
include/zorba/pregenerated/diagnostic_list.h (+8/-0)
modules/w3c/pregenerated/xqt-errors.xq (+35/-0)
src/compiler/translator/translator.cpp (+203/-3)
src/context/static_context.cpp (+13/-3)
src/diagnostics/diagnostic_en.xml (+35/-4)
src/diagnostics/pregenerated/diagnostic_list.cpp (+12/-0)
src/diagnostics/pregenerated/dict_en.cpp (+4/-0)
test/fots/CMakeLists.txt (+2/-33)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug-1123165
Reviewer Review Type Date Requested Status
Ghislain Fourny Approve
Matthias Brantner Approve
Nicolae Brinza Approve
Sorin Marian Nasoi Approve
Review via email: mp+159822@code.launchpad.net

Commit message

Fixing bug 1123165 (prohibit/require feature tests).

Description of the change

Fixing bug 1123165 (prohibit/require feature tests).

To post a comment you must log in.
Revision history for this message
Sorin Marian Nasoi (sorin.marian.nasoi) :
review: Approve
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-1123165 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-1123165-2013-04-19T14-11-47.953Z 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 :

- The fix for dynamic_function_invocation seems to be orthogonal. Why is this fixed in this merge proposal? I couldn't find a test to cover this behavior.

- The function check_xquery_feature_options is too long. Could this be simplified and/or split into multiple functions? It feels like most of the implementation should go into the translator and not into the static context.

- The style of the error messages is not consistent with the other error messages. They should be changed as follows:
  XQST0120 "$1": feature not supported
  XQST0128 "$1": unable to disable a supported feature
  XQST0126 impossible to activate all extension features

review: Needs Fixing
Revision history for this message
Nicolae Brinza (nbrinza) wrote :

Ghislain, could you also please remove the fix that you submitted for scanner.l problem? Your proposal works, but on linux the GCC gives off a warning for that code. I have a proposal that fixes the issue in another branch, which Matthias will approve and merge soon.

Revision history for this message
Nicolae Brinza (nbrinza) wrote :

I too agree that it should be moved to the translator. That's where all the similar code currently is. Other than this and the scanner issue, it looks good for me.

Revision history for this message
Nicolae Brinza (nbrinza) :
review: Approve
Revision history for this message
Ghislain Fourny (gislenius) wrote :

- The fix for dynamic_function_invocation seems to be orthogonal. Why is this fixed in this merge proposal? I couldn't find a test to cover this behavior.

It does fix some of the W3C tests:

      for $f in () return $f(1, ?)

Raised an error in zorba because it was considered an object lookup. But it looks like valid XQuery to me?

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

- The function check_xquery_feature_options is too long. Could this be simplified and/or split into multiple functions?

DONE

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

- It feels like most of the implementation should go into the translator and not into the static context.

DONE

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

- The style of the error messages is not consistent with the other error messages. They should be changed as follows:
  XQST0120 "$1": feature not supported
  XQST0128 "$1": unable to disable a supported feature
  XQST0126 impossible to activate all extension features

DONE

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

I think I addressed all comments.

There are three expected failures left:

EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-5-s 0)
EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-10-s 0)

-> This is the for $f in () return $f(1, ?) issue, which needs to be solved separately.

EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-5-s 0)

-> This is because the new package with the W3C-FOTS fix is not there yet.

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

I opened the bug for the first two expected failures here: bug 1171860.

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

EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-5-s 0)

-> I removed it because the test suite got updated in the trunk.

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

Disapproving to allow running tests without merging.

review: Disapprove
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-1123165-2013-04-23T13-54-43.634Z 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, Needs Information < 1, Resubmit < 1. Got: 2 Approve, 1 Disapprove, 1 Needs Fixing.

Revision history for this message
Nicolae Brinza (nbrinza) :
review: Approve
Revision history for this message
Matthias Brantner (matthias-brantner) wrote :

> - The fix for dynamic_function_invocation seems to be orthogonal. Why is this
> fixed in this merge proposal? I couldn't find a test to cover this behavior.
>
> It does fix some of the W3C tests:
>
> for $f in () return $f(1, ?)
>
> Raised an error in zorba because it was considered an object lookup. But it
> looks like valid XQuery to me?
This is one of the cases that we will have to live with. It's a conflict between
JSONiq and HOF. We were trying to push the W3C to make the dynamic function invocation
a map (i.e. $f could be () or a sequence of function items). However, the w3c didn't
want to go this way.

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

awesome

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

This is one of the cases that we will have to live with. It's a conflict between
JSONiq and HOF. We were trying to push the W3C to make the dynamic function invocation
a map (i.e. $f could be () or a sequence of function items). However, the w3c didn't
want to go this way.

-> In this case, $f is not the empty object - it is just a virtual single item (as is always the case for a for variable, without "allowing empty") that it will never get bound to.

We do not have to consider $f an object lookup in this case, right? I have the more general feeling that there might be something wrong in type inference regarding for loops on empty sequences.

Revision history for this message
Nicolae Brinza (nbrinza) wrote :

> We do not have to consider $f an object lookup in this case, right? I have the more general feeling that there might be something wrong in type inference regarding for loops on empty sequences.

Since there is a partial application "?", it definitely cannot be an object lookup.

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-1123165-2013-04-23T15-14-42.012Z 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 'include/zorba/pregenerated/diagnostic_list.h'
--- include/zorba/pregenerated/diagnostic_list.h 2013-04-04 04:14:46 +0000
+++ include/zorba/pregenerated/diagnostic_list.h 2013-04-23 14:00:36 +0000
@@ -162,8 +162,16 @@
162162
163extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0114;163extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0114;
164164
165extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0120;
166
165extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0123;167extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0123;
166168
169extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0126;
170
171extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0127;
172
173extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0128;
174
167extern ZORBA_DLL_PUBLIC XQueryErrorCode XPDY0002;175extern ZORBA_DLL_PUBLIC XQueryErrorCode XPDY0002;
168176
169extern ZORBA_DLL_PUBLIC XQueryErrorCode XPDY0050;177extern ZORBA_DLL_PUBLIC XQueryErrorCode XPDY0050;
170178
=== modified file 'modules/w3c/pregenerated/xqt-errors.xq'
--- modules/w3c/pregenerated/xqt-errors.xq 2013-04-04 04:14:46 +0000
+++ modules/w3c/pregenerated/xqt-errors.xq 2013-04-23 14:00:36 +0000
@@ -692,6 +692,15 @@
692692
693(:~693(:~
694 :694 :
695 : It is a static error if a feature required by require-feature is not
696 : supported by the implementation.
697 :
698 : @see http://www.w3.org/2005/xqt-errors
699:)
700declare variable $err:XQST0120 as xs:QName := fn:QName($err:NS, "err:XQST0120");
701
702(:~
703 :
695 : It is a static error if the name of a feature in require-feature is not704 : It is a static error if the name of a feature in require-feature is not
696 : recognized by the implementation.705 : recognized by the implementation.
697 : 706 :
@@ -701,6 +710,32 @@
701710
702(:~711(:~
703 :712 :
713 : It is a static error if all-extensions appears in a require-feature option declaration.
714 :
715 : @see http://www.w3.org/2005/xqt-errors
716:)
717declare variable $err:XQST0126 as xs:QName := fn:QName($err:NS, "err:XQST0126");
718
719(:~
720 :
721 : It is a static error if a given feature is both required and prohibited, directly or indirectly, in a module.
722 :
723 : @see http://www.w3.org/2005/xqt-errors
724:)
725declare variable $err:XQST0127 as xs:QName := fn:QName($err:NS, "err:XQST0127");
726
727(:~
728 :
729 : It is a static error if a feature name that an implementation supports appears
730 : in a prohibit-feature option declaration, and the implementation is unable to
731 : disable the feature.
732 :
733 : @see http://www.w3.org/2005/xqt-errors
734:)
735declare variable $err:XQST0128 as xs:QName := fn:QName($err:NS, "err:XQST0128");
736
737(:~
738 :
704 : It is a dynamic error if evaluation of an expression relies on some part739 : It is a dynamic error if evaluation of an expression relies on some part
705 : of the dynamic context that has not been assigned a value.740 : of the dynamic context that has not been assigned a value.
706 : 741 :
707742
=== modified file 'src/compiler/translator/translator.cpp'
--- src/compiler/translator/translator.cpp 2013-04-18 08:47:43 +0000
+++ src/compiler/translator/translator.cpp 2013-04-23 14:00:36 +0000
@@ -15,11 +15,12 @@
15 */15 */
16#include "stdafx.h"16#include "stdafx.h"
1717
18#include <bitset>
19#include <iterator>
20#include <map>
18#include <sstream>21#include <sstream>
19#include <iterator>
20#include <stack>22#include <stack>
21#include <map>23#include <vector>
22#include <bitset>
2324
24#include <zorba/config.h>25#include <zorba/config.h>
25#include <zorba/diagnostic_list.h>26#include <zorba/diagnostic_list.h>
@@ -3856,9 +3857,208 @@
3856 bind_fn(f, numParams, loc);3857 bind_fn(f, numParams, loc);
3857 }3858 }
38583859
3860 check_xquery_feature_options(loc);
3861
3859 return no_state;3862 return no_state;
3860}3863}
38613864
3865store::Item_t parse_and_expand_qname(
3866 const zstring& value,
3867 const char* default_ns,
3868 const QueryLoc& loc) const
3869{
3870 zstring lPrefix;
3871 zstring lLocalName;
3872
3873 zstring::size_type n = value.rfind(':');
3874
3875 if ( n == zstring::npos )
3876 {
3877 lLocalName = value;
3878 }
3879 else
3880 {
3881 lPrefix = value.substr( 0, n );
3882 lLocalName = value.substr( n+1 );
3883 }
3884 store::Item_t lQName;
3885 theSctx->expand_qname( lQName, default_ns, lPrefix, lLocalName, loc );
3886
3887 return lQName;
3888}
3889
3890void parse_feature_list(
3891 const zstring& anOptionName,
3892 std::map<zstring, bool>* aFeatures,
3893 bool aRequired,
3894 const QueryLoc& loc)
3895{
3896 // Looking up feature options.
3897 zstring lFeatureList;
3898 store::Item_t lFeatureQName = parse_and_expand_qname(
3899 anOptionName,
3900 static_context::XQUERY_NS,
3901 loc);
3902 theSctx->lookup_option(lFeatureQName, lFeatureList);
3903
3904 if (aFeatures == NULL || lFeatureList.empty())
3905 {
3906 return;
3907 }
3908 size_t lPositionLeft = 0;
3909 size_t lPositionRight = lFeatureList.find(" ", lPositionLeft);
3910 bool lLastTime = lPositionRight == zstring::npos;
3911 while (lPositionRight != zstring::npos || lLastTime)
3912 {
3913 zstring lFeature = lFeatureList.substr(
3914 lPositionLeft,
3915 lPositionRight - lPositionLeft);
3916 store::Item_t lFeatureQName = parse_and_expand_qname(
3917 lFeature,
3918 static_context::XQUERY_NS,
3919 loc);
3920 // Requiring a non-recognized feature.
3921 if (aRequired && lFeatureQName->getNamespace() != static_context::XQUERY_NS)
3922 {
3923 RAISE_ERROR(err::XQST0123, loc, ERROR_PARAMS(lFeature));
3924 }
3925 zstring lFeatureName = lFeatureQName->getLocalName();
3926 if (aRequired && !is_recognized_feature(lFeatureName))
3927 {
3928 RAISE_ERROR(err::XQST0123, loc, ERROR_PARAMS(lFeature));
3929 }
3930
3931 // Only adding to the feature matrix if recognized.
3932 if (is_recognized_feature(lFeatureName))
3933 {
3934 // Error in case of conflicting flags.
3935 std::map<zstring, bool>::iterator lIt = aFeatures->find(lFeatureName);
3936 if (lIt != aFeatures->end() && lIt->second != aRequired)
3937 {
3938 RAISE_ERROR(err::XQST0127, loc, ERROR_PARAMS(lFeature));
3939 }
3940 (*aFeatures)[lFeatureName] = aRequired;
3941 }
3942 if (lLastTime)
3943 {
3944 break;
3945 }
3946 lPositionLeft = lPositionRight + 1;
3947 lPositionRight = lFeatureList.find(" ", lPositionLeft);
3948 if (lPositionRight == zstring::npos)
3949 {
3950 lLastTime = true;
3951 }
3952 }
3953}
3954
3955bool is_recognized_feature(const zstring& aFeatureName)
3956{
3957 return aFeatureName == "static-typing" ||
3958 aFeatureName == "module" ||
3959 aFeatureName == "higher-order-function" ||
3960 aFeatureName == "schema-aware" ||
3961 aFeatureName == "all-extensions" ||
3962 aFeatureName == "all-optional-features";
3963}
3964
3965bool is_required_feature(
3966 const std::map<zstring, bool>& aFeatureMatrix,
3967 const zstring& aFeatureName
3968)
3969{
3970 std::map<zstring, bool>::const_iterator lIt =
3971 aFeatureMatrix.find(aFeatureName);
3972 if (lIt == aFeatureMatrix.end())
3973 {
3974 return false;
3975 }
3976 return lIt->second;
3977}
3978
3979bool is_prohibited_feature(
3980 const std::map<zstring, bool>& aFeatureMatrix,
3981 const zstring& aFeatureName
3982)
3983{
3984 std::map<zstring, bool>::const_iterator lIt =
3985 aFeatureMatrix.find(aFeatureName);
3986 if (lIt == aFeatureMatrix.end())
3987 {
3988 return false;
3989 }
3990 return !lIt->second;
3991}
3992
3993void check_xquery_feature_options(const QueryLoc& loc)
3994{
3995 // Constructing feature vectors.
3996 std::map<zstring, bool> lFeatures;
3997 parse_feature_list("require-feature", &lFeatures, true, loc);
3998 parse_feature_list("prohibit-feature", &lFeatures, false, loc);
3999
4000 std::vector<zstring> lSupportedFeatures;
4001 lSupportedFeatures.push_back("module");
4002 lSupportedFeatures.push_back("higher-order-function");
4003 lSupportedFeatures.push_back("schema-aware");
4004 std::vector<zstring> lNonSupportedFeatures;
4005 lNonSupportedFeatures.push_back("static-typing");
4006
4007 // Non supported features cannot be required.
4008 for (std::vector<zstring>::iterator lIt = lNonSupportedFeatures.begin();
4009 lIt != lNonSupportedFeatures.end();
4010 ++lIt)
4011 {
4012 if (is_required_feature(lFeatures, *lIt))
4013 {
4014 RAISE_ERROR(err::XQST0120, loc, ERROR_PARAMS(*lIt));
4015 }
4016 }
4017 // It is not possible to require all extensions.
4018 if (is_required_feature(lFeatures, "all-extensions"))
4019 {
4020 RAISE_ERROR(err::XQST0126, loc, ERROR_PARAMS("all-extensions"));
4021 }
4022 // All optional features can only be required if all unsupported features are
4023 // prohibited.
4024 if (is_required_feature(lFeatures, "all-optional-features"))
4025 {
4026 for (std::vector<zstring>::iterator lIt = lNonSupportedFeatures.begin();
4027 lIt != lNonSupportedFeatures.end();
4028 ++lIt)
4029 {
4030 if (!is_prohibited_feature(lFeatures, *lIt))
4031 {
4032 RAISE_ERROR(err::XQST0120, loc, ERROR_PARAMS(*lIt));
4033 }
4034 }
4035 }
4036 // Supported features cannot be prohibited.
4037 for (std::vector<zstring>::iterator lIt = lSupportedFeatures.begin();
4038 lIt != lSupportedFeatures.end();
4039 ++lIt)
4040 {
4041 if (is_prohibited_feature(lFeatures, *lIt))
4042 {
4043 RAISE_ERROR(err::XQST0128, loc, ERROR_PARAMS(*lIt));
4044 }
4045 }
4046 // All optional features can only be prohibited if all supported features
4047 // are required.
4048 if (is_prohibited_feature(lFeatures, "all-optional-features"))
4049 {
4050 for (std::vector<zstring>::iterator lIt = lSupportedFeatures.begin();
4051 lIt != lSupportedFeatures.end();
4052 ++lIt)
4053 {
4054 if (!is_required_feature(lFeatures, *lIt))
4055 {
4056 RAISE_ERROR(err::XQST0128, loc, ERROR_PARAMS(*lIt));
4057 }
4058 }
4059 }
4060}
4061
38624062
3863void end_visit(const VFO_DeclList& v, void* /*visit_state*/)4063void end_visit(const VFO_DeclList& v, void* /*visit_state*/)
3864{4064{
38654065
=== modified file 'src/context/static_context.cpp'
--- src/context/static_context.cpp 2013-04-16 07:43:15 +0000
+++ src/context/static_context.cpp 2013-04-23 14:00:36 +0000
@@ -3505,7 +3505,6 @@
3505// //3505// //
3506/////////////////////////////////////////////////////////////////////////////////3506/////////////////////////////////////////////////////////////////////////////////
35073507
3508
3509/***************************************************************************//**3508/***************************************************************************//**
35103509
3511********************************************************************************/3510********************************************************************************/
@@ -3524,12 +3523,23 @@
3524 store::Item* qname2 = option.theName.getp();3523 store::Item* qname2 = option.theName.getp();
35253524
3526 zstring lNamespace = qname2->getNamespace();3525 zstring lNamespace = qname2->getNamespace();
3526 zstring lLocalName = qname2->getLocalName();
35273527
3528 // If option namespace is the XQuery namespace.
3529 if ( lNamespace == XQUERY_NS)
3530 {
3531 OptionMap::iterator lIt = theOptionMap->find(qname2);
3532 if (lIt != theOptionMap->end())
3533 {
3534 std::ostringstream lOss;
3535 lOss << lIt.getValue().theValue << " " << option.theValue;
3536 option.theValue = lOss.str();
3537 }
3538 }
3539
3528 // If option namespace starts with zorba options namespace3540 // If option namespace starts with zorba options namespace
3529 if ( lNamespace.find(ZORBA_OPTIONS_NS) == 0 )3541 if ( lNamespace.find(ZORBA_OPTIONS_NS) == 0 )
3530 {3542 {
3531 zstring lLocalName = qname2->getLocalName();
3532
3533 if (lNamespace == ZORBA_OPTION_FEATURE_NS &&3543 if (lNamespace == ZORBA_OPTION_FEATURE_NS &&
3534 (lLocalName == "enable" || lLocalName == "disable"))3544 (lLocalName == "enable" || lLocalName == "disable"))
3535 {3545 {
35363546
=== modified file 'src/diagnostics/diagnostic_en.xml'
--- src/diagnostics/diagnostic_en.xml 2013-04-10 02:24:08 +0000
+++ src/diagnostics/diagnostic_en.xml 2013-04-23 14:00:36 +0000
@@ -830,15 +830,46 @@
830 </comment>830 </comment>
831 <value>"$1": duplicate decimal format property</value>831 <value>"$1": duplicate decimal format property</value>
832 </diagnostic>832 </diagnostic>
833833
834 <diagnostic code="XQST0120">
835 <comment>
836 It is a static error if a feature required by require-feature is not
837 supported by the implementation.
838 </comment>
839 <value>"$1": feature not supported</value>
840 </diagnostic>
841
834 <diagnostic code="XQST0123">842 <diagnostic code="XQST0123">
835 <comment>843 <comment>
836 It is a static error if the name of a feature in require-feature is not844 It is a static error if the name of a feature in require-feature is not
837 recognized by the implementation.845 recognized by the implementation.
838 </comment>846 </comment>
839 <value>$1</value>847 <value>$1</value>
840 </diagnostic>848 </diagnostic>
841849
850 <diagnostic code="XQST0126">
851 <comment>
852 It is a static error if all-extensions appears in a require-feature option declaration.
853 </comment>
854 <value>impossible to require all extension features</value>
855 </diagnostic>
856
857 <diagnostic code="XQST0127">
858 <comment>
859 It is a static error if a given feature is both required and prohibited, directly or indirectly, in a module.
860 </comment>
861 <value>$1 : impossible to require and prohibit at the same time</value>
862 </diagnostic>
863
864 <diagnostic code="XQST0128">
865 <comment>
866 It is a static error if a feature name that an implementation supports appears
867 in a prohibit-feature option declaration, and the implementation is unable to
868 disable the feature.
869 </comment>
870 <value>"$1": unable to disable a supported feature</value>
871 </diagnostic>
872
842 <diagnostic code="XPDY0002">873 <diagnostic code="XPDY0002">
843 <comment>874 <comment>
844 It is a dynamic error if evaluation of an expression relies on some part875 It is a dynamic error if evaluation of an expression relies on some part
845876
=== modified file 'src/diagnostics/pregenerated/diagnostic_list.cpp'
--- src/diagnostics/pregenerated/diagnostic_list.cpp 2013-04-04 04:14:46 +0000
+++ src/diagnostics/pregenerated/diagnostic_list.cpp 2013-04-23 14:00:36 +0000
@@ -226,9 +226,21 @@
226XQueryErrorCode XQST0114( "XQST0114" );226XQueryErrorCode XQST0114( "XQST0114" );
227227
228228
229XQueryErrorCode XQST0120( "XQST0120" );
230
231
229XQueryErrorCode XQST0123( "XQST0123" );232XQueryErrorCode XQST0123( "XQST0123" );
230233
231234
235XQueryErrorCode XQST0126( "XQST0126" );
236
237
238XQueryErrorCode XQST0127( "XQST0127" );
239
240
241XQueryErrorCode XQST0128( "XQST0128" );
242
243
232XQueryErrorCode XPDY0002( "XPDY0002" );244XQueryErrorCode XPDY0002( "XPDY0002" );
233245
234246
235247
=== modified file 'src/diagnostics/pregenerated/dict_en.cpp'
--- src/diagnostics/pregenerated/dict_en.cpp 2013-04-10 02:24:08 +0000
+++ src/diagnostics/pregenerated/dict_en.cpp 2013-04-23 14:00:36 +0000
@@ -262,7 +262,11 @@
262 { "XQST0106", "$1: multiple annotations with $2 names" },262 { "XQST0106", "$1: multiple annotations with $2 names" },
263 { "XQST0111", "$1" },263 { "XQST0111", "$1" },
264 { "XQST0114", "\"$1\": duplicate decimal format property" },264 { "XQST0114", "\"$1\": duplicate decimal format property" },
265 { "XQST0120", "\"$1\": feature not supported" },
265 { "XQST0123", "$1" },266 { "XQST0123", "$1" },
267 { "XQST0126", "impossible to require all extension features" },
268 { "XQST0127", "$1 : impossible to require and prohibit at the same time" },
269 { "XQST0128", "\"$1\": unable to disable a supported feature" },
266 { "XQTY0024", "element constructor content sequence must not have an attribute node following a non-attribute node" },270 { "XQTY0024", "element constructor content sequence must not have an attribute node following a non-attribute node" },
267 { "XQTY0030", "validate argument must be exactly one document or element node" },271 { "XQTY0030", "validate argument must be exactly one document or element node" },
268 { "XQTY0086", "typed value of copied element or attribute node is namespace-sensitive when construction mode is preserve and copy-namespaces mode is no-preserve" },272 { "XQTY0086", "typed value of copied element or attribute node is namespace-sensitive when construction mode is preserve and copy-namespaces mode is no-preserve" },
269273
=== modified file 'test/fots/CMakeLists.txt'
--- test/fots/CMakeLists.txt 2013-04-23 02:39:22 +0000
+++ test/fots/CMakeLists.txt 2013-04-23 14:00:36 +0000
@@ -378,30 +378,8 @@
378EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy50 0)378EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy50 0)
379EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy51 0)379EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy51 0)
380EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy59 0)380EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy59 0)
381EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-static-typing-1-ns 0)381EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-5-s 1171860)
382EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-9-ns 0)382EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-10-s 1171860)
383EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-schema-aware-1-s 0)
384EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-schema-aware-2-s 0)
385EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-1-ns 0)
386EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-2-ns 0)
387EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-3-ns 0)
388EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-4-ns 0)
389EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature unknown-feature 0)
390EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-1 0)
391EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-2 0)
392EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-3 0)
393EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-4 0)
394EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-1 0)
395EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-2 0)
396EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-feature-list-2-s 0)
397EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-feature-list-3-s 0)
398EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-4 0)
399EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-5 0)
400EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-extensions-1 0)
401EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-3-ns3 0)
402EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-2-ns2 0)
403EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-all-optional-features-1 0)
404EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-7-s 0)
405EXPECTED_FOTS_FAILURE (prod-SchemaImport qischema031 0)383EXPECTED_FOTS_FAILURE (prod-SchemaImport qischema031 0)
406EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-001 0)384EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-001 0)
407EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-002 0)385EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-002 0)
@@ -462,15 +440,6 @@
462EXPECTED_FOTS_FAILURE (misc-HigherOrderFunctions xqhof12 0)440EXPECTED_FOTS_FAILURE (misc-HigherOrderFunctions xqhof12 0)
463EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-062 0)441EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-062 0)
464EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-494 0)442EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-494 0)
465EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-5-s 0)
466EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-10-s 0)
467EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-1-s 0)
468EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-2-s 0)
469EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-3-s 0)
470EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-4-s 0)
471EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature separate-modules-5-s 0)
472EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature separate-modules-6-s 0)
473EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature separate-modules-7-s 0)
474EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-030 0)443EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-030 0)
475EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-031 0)444EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-031 0)
476EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-032 0)445EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-032 0)

Subscribers

People subscribed via source and target branches