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

Make default transaction Read-Commited RecVersion NoWait (more useful parameters than server defaults) #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

safhome
Copy link

@safhome safhome commented Jul 26, 2020

No description provided.

@mrotteveel
Copy link
Member

This is a rather big and breaking change, I would recommend against it.

@safhome
Copy link
Author

safhome commented Jul 27, 2020

Default "wait" flag is unusable in real web apps because of many parallel requests. Trying to serialize it with "wait" transactions results in fatal performance degradation. Considering that we haven't settings for default transaction's flags, current defaults make unusable almost all existing CMS with Firebird. With this change we successfully use Joomla! versions from 3.1 upto 3.9 for last 5 years with Firebird as main database for it.

@MartinKoeditz
Copy link
Collaborator

Well, I think it's better to implement some kind of function or parameter where we can set as default. Maybe via ini settings. In that case you can specify your custom behaviour without breaking other software.

@mrotteveel
Copy link
Member

@safhome It may work for you, but that is not the issue. This changes default behaviour that has been in use for years (decades), and it is relied upon by other applications that could break due to this change (in some cases in hard to notice ways). You are changing the isolation level from concurrency (aka snapshot) to read_committed, which has different visibility rules. And changing wait to nowait could break applications that rely on wait for their correct behaviour.

@mlazdans
Copy link
Contributor

Configuring default transaction parameters would be great feature and much appreciated.

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

Successfully merging this pull request may close these issues.

4 participants