You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Jaybird I have a test (org.firebirdsql.jdbc.TestBooleanSupport) for
the Firebird 3 boolean support that is now broken with 3.0.1 (for
testSelect_ConditionOnly_null, testSelect_ConditionOnly_true and
testSelect_ConditionOnly_false.
The test uses the table:
CREATE TABLE withboolean ( id INTEGER, bool BOOLEAN )
and prepares a statement:
SELECT id, bool FROM withboolean WHERE ?
this now fails with the error:
Dynamic SQL Error; SQL error code = -104; Invalid usage of boolean
expression [SQLState:22000, ISC error code:335545023]
This worked fine in earlier 3.0 versions, at least since the 11th of
August 2013 when I created these tests.
A boolean parameter like this is allowed according to the SQL standard:
<where clause> ::=
WHERE <search condition>
<search condition> ::=
<boolean value expression>
<boolean value expression> ::=
<boolean term>
| ...
<boolean term> ::=
<boolean factor>
| ...
<boolean factor> ::=
[ NOT ] <boolean test>
<boolean test> ::=
<boolean primary> [ IS [ NOT ] <truth value> ]
<boolean primary> ::=
...
| <boolean predicand>
<boolean predicand> ::=
...
| <nonparenthesized value expression primary>
<nonparenthesized value expression primary> ::=
<unsigned value specification>
| ...
<unsigned value specification> ::=
...
| <general value specification>
Submitted by: @mrotteveel
In Jaybird I have a test (org.firebirdsql.jdbc.TestBooleanSupport) for
the Firebird 3 boolean support that is now broken with 3.0.1 (for
testSelect_ConditionOnly_null, testSelect_ConditionOnly_true and
testSelect_ConditionOnly_false.
The test uses the table:
CREATE TABLE withboolean ( id INTEGER, bool BOOLEAN )
and prepares a statement:
SELECT id, bool FROM withboolean WHERE ?
this now fails with the error:
Dynamic SQL Error; SQL error code = -104; Invalid usage of boolean
expression [SQLState:22000, ISC error code:335545023]
This worked fine in earlier 3.0 versions, at least since the 11th of
August 2013 when I created these tests.
A boolean parameter like this is allowed according to the SQL standard:
<where clause> ::=
WHERE <search condition>
<search condition> ::=
<boolean value expression>
<boolean value expression> ::=
<boolean term>
| ...
<boolean term> ::=
<boolean factor>
| ...
<boolean factor> ::=
[ NOT ] <boolean test>
<boolean test> ::=
<boolean primary> [ IS [ NOT ] <truth value> ]
<boolean primary> ::=
...
| <boolean predicand>
<boolean predicand> ::=
...
| <nonparenthesized value expression primary>
<nonparenthesized value expression primary> ::=
<unsigned value specification>
| ...
<unsigned value specification> ::=
...
| <general value specification>
<general value specification> ::=
...
| <dynamic parameter specification>
| ...
<dynamic parameter specification> ::=
<question mark>
Commits: a7ecf53 8a4b7e3
The text was updated successfully, but these errors were encountered: