[
https://issues.apache.org/jira/browse/DERBY-4658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rick Hillegas updated DERBY-4658:
---------------------------------
Attachment: derby-4658-01-aa-booleanCasts.diff
Attaching derby-4658-01-aa-booleanCasts.diff. This patch makes it possible to
cast values to BOOLEAN. I need to run regression tests.
Makes the following changes:
1) Makes parser accept CAST (... AS BOOLEAN)
2) Allows those casts to succeed provided that the source datatype is a string
and the actual value satisfies the SQL Standard's rules.
3) Adds regression tests for this feature.
Touches the following files:
--------------
M java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj
Parser now accepts explicit casts to BOOLEAN.
--------------
M java/engine/org/apache/derby/impl/sql/compile/CastNode.java
M java/engine/org/apache/derby/impl/sql/compile/BooleanConstantNode.java
M java/engine/org/apache/derby/iapi/types/SQLBoolean.java
Standard support for the string value "UNKNOWN".
--------------
M
java/testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java
Regression tests.
> Allow explicit casts of string values to BOOLEAN
> ------------------------------------------------
>
> Key: DERBY-4658
> URL: https://issues.apache.org/jira/browse/DERBY-4658
> Project: Derby
> Issue Type: Improvement
> Components: SQL
> Reporter: Rick Hillegas
> Assignee: Rick Hillegas
> Attachments: derby-4658-01-aa-booleanCasts.diff
>
>
> The SQL Standard allows strings to be explicitly cast to BOOLEAN values.
> Strings are the only type (other than BOOLEAN itself) which can be cast to
> BOOLEAN. As part of our expanding support for the BOOLEAN datatype, we should
> allow these casts.
> Casting string types to boolean is defined by part 2, section 6.12 (<cast
> specification>), general rule 20:
> a) Trim whitespace off the string
> b) Then apply the rules in section 5.3 (<literal>). This means that the
> trimmed string must be 'TRUE', 'FALSE', or 'UNKNOWN', regardless of case.
> c) Otherwise, raise an exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.