Welcome to the SQLitening support forums!
Started by Fred Meier, November 01, 2009, 11:37:33 AM
Quote#=================<[ Version 1.3 November 1, 2009 ]>================== 1. Removed the call to sqlite3_thread_cleanup in SQLiteningServer.Bas. It had become obsolete. 2. Added calls to sqlite3_initialize at server start and sqlite3_shutdown at server stop in SQLiteningServer.Bas. These are new SQLite functions. 3. Added call to sqlite3_shutdown in SQLitening.Bas when process detaches. 4. Change SQLitening.Dll so all sets are automatically closed when slClose is called. 5. Change SQLiteningServer.Exe to timeout a connection after a number of minutes of no activity. The default number is 30. You can change it in the config file. You can do an empty string slExe if you need to keep a connection active. Error %SQLitening_SendOrReceiveError will occur if you attempt to use a connection that has timed out. 6. Added the SystemTemp database to SQLiteningServer.Exe to be able to store stuff like the named locks and connection data. 7. Fixed a bug in SQLiteningServer.Exe that was sending back the wrong return value if the slSel was huge. 8 Changed the error handling on the following ruts to be consistent with other ruts that returned string. slGetColumnName slGetTableColumnNames slGetTableNames 9. Added rut slSetRelNamedLocks which will set or release named lock(s). This can be used to implement application locks or to simulate record locks. Names are locked on a server-wide basis. If a name has been locked by one client, the server blocks any request by another client for a lock with the same name. This allows clients that agree on a given lock name to use the name to perform cooperative advisory locking. But be aware that it also allows a client that is not among the set of cooperating clients to lock a name and thus prevent any of the cooperating clients from locking that name. One way to reduce the likelihood of this is to use lock names that are database-specific or application-specific. Named locks are only used in remote mode. They are ignored when running in local mode. Will also optionally do a Sel command but only if the lock request was successful. 10. Added the following ModChars to slSel, slSelAry, and to the SelStatemnt of slSetRelNameLocks: Bn = Do a Begin Transaction before doing the Sel command. The type of Begin is controlled by the value of n as follows: 0 = Deferred. This is the default if n is omitted. 1 = Immediate. 2 = Exclusive. This allows for database locking and selecting in one trip to the server. R = Release all named locks owned by this connection. 11. Added the following ModChars to slExe: R = Release all named locks owned by this connection. 12. Added rut slGetStatus which returns the requested status which is normally a delimited list of returning data. The following requests are currently valid: 1 = Return all named locks. 2 = Return all connections. 3 = Return SQLitening flag settings.13. Added the server name suffix to SQLiteningServerAdmin.Bas messages and changed the log to also show the suffix. Having a unique suffix allows multiple services (servers) to be running on same computer.14. Added a new dialog to SQLiteningServerAdmin which allows for the following tools: Refresh the Config Flags and FACT List all Active Connectons Kill one Active Connection You already had the ability to "Refresh" but the other two are new.15. Added two new items to the config file. MaxChunkSize = Number K --- Controls the size of Row Data Chunks which are returned from Select statements The value is in K so the actual size is * 1000. Default is 500. ConnectionTimeOut = Number Minutes --- Control the number of minutes the server will wait to receive a message from an active connection. Default is 30.