Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: Wrong evaluation of BETWEEN and boolean expressions due to parser conflict [CORE4227] #4551

Closed
firebird-automations opened this issue Sep 18, 2013 · 6 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Evelyne Girard (evelyne)

With Firebird 3.0 a secondary condition after a between condition is not accepted (due to new Boolean type presumably) whereas it is accepted in Firebird 2.5

--This works in FB2.5 and v3.0
select * from rdb$database where rdb$description is null and rdb$relation_id between 1 and 500;

--This works in FB2.5 but fails in v3.0 < Invalid usage of boolean expression. >
select * from rdb$database where rdb$relation_id between 1 and 500 and rdb$description is null;

Commits: 39bccae FirebirdSQL/fbt-repository@b55dd51

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

description: With Firebird 3.0 a secondary condition after a between condition is not accepted (due to new Boolean type presumably) whereas it is accepted in Firebird 2.5
I do not know if it is "as designed" but I did not see any warning about this in the release notes.

select * from rdb$database where rdb$relation_id between 1 and 500 and rdb$description is null; --Is working in FB2.5 and give < Invalid usage of boolean expression. > in Firebird 3.0
select * from rdb$database where rdb$description is null and rdb$relation_id between 1 and 500; -- Is working in both versions.

=>

With Firebird 3.0 a secondary condition after a between condition is not accepted (due to new Boolean type presumably) whereas it is accepted in Firebird 2.5

--This works in FB2.5 and v3.0
select * from rdb$database where rdb$description is null and rdb$relation_id between 1 and 500;

--This works in FB2.5 but fails in v3.0 < Invalid usage of boolean expression. >
select * from rdb$database where rdb$relation_id between 1 and 500 and rdb$description is null;

summary: second condition after a between condition raise error (Invalid usage of boolean expression) => Regression: second condition after BETWEEN condition raise error (Invalid usage of boolean expression)

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

assignee: Adriano dos Santos Fernandes [ asfernandes ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

summary: Regression: second condition after BETWEEN condition raise error (Invalid usage of boolean expression) => Wrong evaluation of BETWEEN and boolean expressions due to parser conflict

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 Alpha 2 [ 10560 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

summary: Wrong evaluation of BETWEEN and boolean expressions due to parser conflict => Regression: Wrong evaluation of BETWEEN and boolean expressions due to parser conflict

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Resolved [ 5 ] => Resolved [ 5 ]

QA Status: Done successfully

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants