==Pins==
The standalone versions of BaseX (command-line, GUI) cannot be synchronized with other BaseX instances. If concurrent write operations are to be performed, we generally recommend users to always work with the client/server architecture. Since {{MarkVersion|Introduced 7.2.1}}, to avoid database corruptions caused by unmanaged concurrent write operations, a shared lock is requested on the database table file ({{Mono|tbl.basex}}) whenever a database is opened. If an update operation is triggered, it will be rejected with the message "Database ... is opened by another process." if no exclusive lock can be acquired. In {{Version |7.2:}}, pin files were written into the directory of opened databases. The message above appeared whenever an unused pin file remained after having ungracefully killed or shutting down a BaseX instance. In this cases, pin files could be manually removed. =Changelog=
The standalone versions of BaseX (command-line, GUI) cannot be synchronized with other BaseX instances===Version 7.2. If concurrent write operations are to be performed, we generally recommend users to always work 1=== * Updated: pin files replaced with the clientshared/server architecture.exclusive filesystem locking
To avoid database corruptions caused by unmanaged concurrent write operations, a process-specific {{Mono|pin...basex}} file will be created in a database directory when a database is opened. When an update operation is triggered, it will be rejected with the message "Database ... is opened by another process." if other pin files are found in the directory===Version 7.2===
The same message may appear whenever an unused * Added: pin file remains after a client has been ungracefully killed or shut down. In this case, you may manually remove the pin files. To avoid manual cleaning of orphaned files, a more advanced solution may be introduced in a future version of BaseX.to mark open databases
=Changelog=