Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add AUTO RELEASE TEMP BLOBID transaction option #8323

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

Merged

Conversation

ilya071294
Copy link
Contributor

It makes the transaction release temporary ID of user BLOB just after its materialization. It's useful for massive insertions of records with user-defined BLOBs because it eliminates the memory overhead caused by creating and keeping temporary IDs until the transaction ends. This option is used during the database restore.

It makes the transaction release temporary ID of user BLOB just after its materialization. It's useful for massive insertions of records with user-defined BLOBs because it eliminates the memory overhead caused by creating and keeping temporary IDs until the transaction ends. This option is used during the database restore.
@dyemanov dyemanov requested a review from hvlad November 21, 2024 16:29
@ilya071294 ilya071294 requested a review from hvlad November 23, 2024 13:19
@ilya071294 ilya071294 merged commit babd741 into FirebirdSQL:master Nov 25, 2024
23 of 24 checks passed
@ilya071294 ilya071294 deleted the fb_m_auto_release_temp_blobid branch November 25, 2024 08:32
ilya071294 added a commit that referenced this pull request Nov 25, 2024
…#8323)

* Add AUTO RELEASE TEMP BLOBID transaction option

It makes the transaction release temporary ID of user BLOB just after its materialization. It's useful for massive insertions of records with user-defined BLOBs because it eliminates the memory overhead caused by creating and keeping temporary IDs until the transaction ends. This option is used during the database restore.

* Place tokens in the correct sections

* Avoid repeated attempts to start a transaction with options that are not supported by the target server

* Correct AUTO RELEASE TEMP BLOBID description

* Check bad_tpb_form error for more reliable detection of unsupported transaction options

* Do not use unsupported options for transactions of parallel workers performing RestoreRelationTask
@ilya071294 ilya071294 self-assigned this Nov 25, 2024
@pavel-zotov
Copy link

::: QA notes :::

  1. Test verifies only syntax extension of SET TRANSACTION, i.e. ability to use 'AUTO RELEASE TEMP BLOBID' clause.
    Handling with temporary BLOBID can not be tested in ISQL and will be checked when firebird-driver will support this.
  2. Presense of mon$transactions.mon$auto_release_temp_blobid column not checked: FB 5.x currently missed it.

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

Successfully merging this pull request may close these issues.

4 participants