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
Compiling the procedures is impossible in IBExpert when a client program is opened - lock conflict on no wait transaction [CORE5160] #5443
Comments
Commented by: @dyemanov You seems confusing transaction options for IBE. Error message clearly states that the procedure is being recompiled by IBE in the NO WAIT transaction. And it does not matter what transaction mode the client uses. |
Commented by: Shumacher Konstantin (shuma) I installed two servers 2.5.3 and the last of 3. Simply switch the desired server in the services and I try to compile the procedures. IBExpert works perfectly (no reports on conflicts) with version 2.5.3 (and has always worked before), but with version 3 does not work. You mean, i need to make an adjustment in the IBExpert? What kind? |
Commented by: Shumacher Konstantin (shuma) and I did not use the metadata changes (drop, create...), just "select" requests |
Commented by: @dyemanov Sorry, I didn't get from your post that it worked with v2.5.3. I will try to reproduce it and report back. |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Commented by: Shumacher Konstantin (shuma) Pavel, do you think that the issue is closed? |
Commented by: @dyemanov I see that everything works correctly. By default, IBE uses metadata transaction with NOWAIT. As expected, this throws "object in use" error. Changing it in Options / Environment / Transactions to WAIT does not help because override exists at the database alias level. Changing it in Database Registration Info / Transactions to WAIT fixes the problem and procedure gets recompiled successfully. |
Commented by: Shumacher Konstantin (shuma) Thank you very much. I think this feature must be documented in release version. |
Submitted by: Shumacher Konstantin (shuma)
Duplicates CORE3766
If the client program calls procedure from the database (for example select * from Proc) in a transaction
"isc_tpb_read, isc_tpb_nowait, isc_tpb_rec_version, isc_tpb_read_committed"
then IBExpert can not recompile it even in the transaction
"isc_tpb_read_committed, isc_tpb_rec_version, isc_tpb_wait"
until the client is completely closed. Error from IBExpert:
"lock conflict on no wait transaction
I'm using Delphi 2007 + FibPlus 7.3 with standard settings of TpFIBTransaction.TRParams for client program.
The text was updated successfully, but these errors were encountered: