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

EXECUTE BLOCK prepare fails [CORE4113] #4441

Closed
firebird-issue-importer opened this issue Jun 7, 2013 · 9 comments
Closed

EXECUTE BLOCK prepare fails [CORE4113] #4441

firebird-issue-importer opened this issue Jun 7, 2013 · 9 comments

Comments

@firebird-issue-importer
Copy link

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

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

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

Modified by: Attila Molnár (e_pluribus_unum)

Attachment: execute block.sql [ 12332 ]

Attachment: TEST.ZIP [ 12333 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

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.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

Commented by: Attila Molnár (e_pluribus_unum)

Again : Note, when I pu t the last insert statement to first there is no error.
The sql text has the same length, only command order changes and the BLR in 1st case is >64k in 2nd case smaller? That is strange.

How can I avoid this?

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

Commented by: @dyemanov

v3 is not affected.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

Modified by: @dyemanov

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

resolution: Fixed [ 1 ]

Fix Version: 2.5.3 [ 10461 ]

assignee: Dmitry Yemanov [ dimitr ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

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.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jun 7, 2013

Modified by: @dyemanov

Link: This issue is duplicated by CORE4115 [ CORE4115 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented May 29, 2015

Modified by: @pavel-zotov

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

QA Status: Done successfully

Test Details: Confirmed for 2.5.2: error raises, text:
Statement failed, SQLSTATE = 42000
attempted update of read-only column

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 25, 2015

Modified by: @pcisar

Link: This issue is related to QA605 [ QA605 ]

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

Successfully merging a pull request may close this issue.

None yet
2 participants