Skip to content
Snippets Groups Projects
Commit 0bbc87fb authored by Philippe Canal's avatar Philippe Canal
Browse files

From Sergei Linev:

I made following modification:

1. Usage of table indexes. By default, they created only for basic tables: KeysTable and ObjectsTable.
   It is possible to configure TSQLFile to create indexes also for other type of tables or disable indexes at all.

2. Use of transaction. Now by default this option on and protect storage of object data to datatables.
   For some types of MySQL tables transaction are not supported, therefore I include in configurations
   possibility to setup type of table which should be used.

3. Configurations. For all kind of configuration I create small table.
   Configurations can be changed only when TSQLFile is created with option "CREATE" or "RECREATE".
   In that case configurations can be changed until first write operation.

4. Locking. I did not use "native" database locking mechnism while they are very different in MySQL and Oracle and
   may differ also in other SQL database. I put in Configuration table one flag, which says if database is already
   opened for writing by other TSQLFile instance and prevent other TSQLFile to have write access.
   For emergency cases one can use "BREAKLOCK" option in TSQLFile constructor to ignore that locking.
   This is not real locking and any other user with normal sql queries can disturb tables data, but I do not see
   now other solution, which may work for different databases. May be you know better solutions?


git-svn-id: http://root.cern.ch/svn/root/trunk@13383 27541ba8-7e3a-0410-8455-c3a389f83636
parent 30973f47
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment