zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #19985
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
Nicolae Brinza has proposed merging lp:~nbrinza/zorba/bugs2 into lp:zorba.
Commit message:
date/time/durations castings now throw FODT0001 instead of FORG0001, as required by the 3.0 spec.
Requested reviews:
Zorba Coders (zorba-coders)
Related bugs:
Bug #898792 in Zorba: "xs:QName fails for non-literal input"
https://bugs.launchpad.net/zorba/+bug/898792
Bug #931501 in Zorba: "improve error message for fn:format-number"
https://bugs.launchpad.net/zorba/+bug/931501
Bug #1154367 in Zorba: "yearMonthDuration arithmetic bug"
https://bugs.launchpad.net/zorba/+bug/1154367
For more details, see:
https://code.launchpad.net/~nbrinza/zorba/bugs2/+merge/156766
date/time/durations castings now throw FODT0001 instead of FORG0001, as required by the 3.0 spec.
--
https://code.launchpad.net/~nbrinza/zorba/bugs2/+merge/156766
Your team Zorba Coders is requested to review the proposed merge of lp:~nbrinza/zorba/bugs2 into lp:zorba.
=== modified file 'src/diagnostics/diagnostic_en.xml'
--- src/diagnostics/diagnostic_en.xml 2013-04-03 07:30:48 +0000
+++ src/diagnostics/diagnostic_en.xml 2013-04-03 08:29:30 +0000
@@ -1355,7 +1355,7 @@
<comment>
Overflow/underflow in date/time operation.
</comment>
- <value>overflow/underflow in date/time operation</value>
+ <value>overflow/underflow in date/time operation${: 1}</value>
</diagnostic>
<diagnostic code="FODT0002">
=== modified file 'src/diagnostics/pregenerated/dict_en.cpp'
--- src/diagnostics/pregenerated/dict_en.cpp 2013-04-03 07:30:48 +0000
+++ src/diagnostics/pregenerated/dict_en.cpp 2013-04-03 08:29:30 +0000
@@ -49,7 +49,7 @@
{ "FODC0007", "\"$1\": base URI passed to fn:parse() is not a valid absolute URI" },
{ "FODF1280", "\"$1\": invalid decimal format name for fn:format-number()" },
{ "FODF1310", "\"$1\": invalid picture string for decimal/integer${: 2}" },
- { "FODT0001", "overflow/underflow in date/time operation" },
+ { "FODT0001", "overflow/underflow in date/time operation${: 1}" },
{ "FODT0002", "overflow/underflow in duration operation${: 1}" },
{ "FODT0003", "\"$1\": invalid timezone value (in seconds)" },
{ "FOER0000", "unidentifier error" },
=== modified file 'src/types/casting.cpp'
--- src/types/casting.cpp 2013-03-26 20:23:10 +0000
+++ src/types/casting.cpp 2013-04-03 08:29:30 +0000
@@ -182,6 +182,36 @@
}
}
+void throwFODT0001Exception(const zstring& str, const ErrorInfo& info)
+{
+ if (info.theTargetType)
+ {
+ RAISE_ERROR(err::FODT0001, info.theLoc,
+ ERROR_PARAMS(ZED(FORG0001_NoCastTo_234),
+ str,
+ info.theSourceType->toSchemaString(),
+ info.theTargetType->toSchemaString()));
+ }
+ else
+ {
+ TypeManager& tm = GENV_TYPESYSTEM;
+
+ xqtref_t sourceType =
+ tm.create_builtin_atomic_type(info.theSourceTypeCode,
+ TypeConstants::QUANT_ONE);
+
+ xqtref_t targetType =
+ tm.create_builtin_atomic_type(info.theTargetTypeCode,
+ TypeConstants::QUANT_ONE);
+
+ RAISE_ERROR(err::FODT0001, info.theLoc,
+ ERROR_PARAMS(ZED(FORG0001_NoCastTo_234),
+ str,
+ sourceType->toSchemaString(),
+ targetType->toSchemaString()));
+ }
+}
+
/*******************************************************************************
Identity casting functions: target type is the same as the source one, so no
@@ -343,7 +373,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -358,7 +388,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -373,7 +403,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -386,7 +416,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -400,7 +430,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -413,7 +443,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -426,7 +456,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -439,7 +469,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -452,7 +482,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -465,7 +495,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -478,7 +508,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
@@ -491,7 +521,7 @@
return;
}
- throwFORG0001Exception(strval, errInfo);
+ throwFODT0001Exception(strval, errInfo);
}
Follow ups
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Sorin Marian Nasoi, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
Re: [Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Chris Hillery, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Zorba Build Bot, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03
-
[Merge] lp:~nbrinza/zorba/bugs2 into lp:zorba
From: Nicolae Brinza, 2013-04-03