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

Do not print "invalid request BLR" for par.cpp errors with valid BLR [CORE2712] #3109

Closed
firebird-automations opened this issue Oct 27, 2009 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Bill Oliver (verbguy)

Assigned to: Claudio Valderrama C. (robocop)

I have a test case which attempts to update a column value in a shared table with a where clause using multiple threads. The error returned is "invalid request BLR at offset 24 - table id 428 is not defined". The expected SQLSTATE of 42S02 is returned.

The error message is true - yes, we cannot find the table as it has already been dropped. This part is ok.

The "invalid request BLR" portion of the error message leads the user to believe that there is a Firebird bug - why is my BLR invalid? It is kind of scary. In this case, the BLR is valid - it's just that we can't find the table - it has already been deleted.

An improvement would just be for the error message to simply say, "Table id 428 was not found", or "Table id 428 no longer exists". I think the 2nd form is ok, since if we have an ID the table must have existed at some point, right?

SQLSTATE of 42S02 is correct and should be preserved for this case if new message is added.

Commits: 298ec36

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: Claudio Valderrama C. (robocop)

assignee: Claudio Valderrama C. [ robocop ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Claudio Valderrama C. (robocop)

Bill, the message "table id 428 is not defined" is correct because BLR may be generated externally and passed to the engine. In this case, the tool that generated the id may send an invalid number for whatever reason. If you can't find it, it doesn't necessarily mean that it existed.

@firebird-automations
Copy link
Collaborator Author

Modified by: Claudio Valderrama C. (robocop)

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

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => 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

1 participant