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
EXECUTE BLOCK prepare fails [CORE4113] #4441
Comments
Modified by: Attila Molnár (e_pluribus_unum)Attachment: execute block.sql [ 12332 ] Attachment: TEST.ZIP [ 12333 ] |
Commented by: @dyemanov The problem is that length of the generated BLR oveflows the 64KB limit and some engine parts are not ready for that. |
Commented by: Attila Molnár (e_pluribus_unum) Again : Note, when I pu t the last insert statement to first there is no error. How can I avoid this? |
Commented by: @dyemanov v3 is not affected. |
Modified by: @dyemanovstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.5.3 [ 10461 ] assignee: Dmitry Yemanov [ dimitr ] |
Commented by: @dyemanov I've committed a bugfix. But generally, I'd avoid such long blocks. The issue is not that its BLR is bigger or smaller. It's about wrapping the BLR offset over the 64KB boundary (thus becoming kinda random) and either occasionally matching some value inside the debug info table or not. In other words, it's about pure luck. |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Resolved [ 5 ] QA Status: Done successfully Test Details: Confirmed for 2.5.2: error raises, text: |
Submitted by: Attila Molnár (e_pluribus_unum)
Is duplicated by CORE4115
Is related to QA605
Attachments:
execute block.sql
TEST.ZIP
Hi!
I get error when prepare an EXECUTE BLOCK :
"This column cannot be updated because it is derived from an SQL function or expression.
attempted update of read-only column."
sql and database files are attached
Note, when I pu t the last insert statement to first there is no error.
Commits: 81c4023 FirebirdSQL/fbt-repository@52e3cb4 FirebirdSQL/fbt-repository@1c594fa
====== Test Details ======
Confirmed for 2.5.2: error raises, text:
Statement failed, SQLSTATE = 42000
attempted update of read-only column
The text was updated successfully, but these errors were encountered: