I found in this FireBird documentation , the correct way to use this command. The documentation talks about some caution when using this command. From what I read in the documentation, it returns a compromised line if it uses WITH LOCK
.
I have read in some non-official Firebird forums that the lines are automatically
"released" when performing commit
or rollback
in the transaction. That is, it does not lock tables, but rather lines that have been SQL
of WITH LOCK
executed.
Unfortunately, I do not have much experience with Firebird, so in a way, it's very complicated to say all the impacts of using this command in your application. Perhaps as a contour solution and less impact on your system and database, using a flag
within the database (in a parameter table, for example) would make the process simpler.
For example, if this column is as TRUE
, the system would return a message stating that it is not ready to connect because it is undergoing an update process.
I hope I have helped.