• Welcome, Guest. Please login.
 

SQLitening Version 1.30 Released (November 1, 2009)

Started by Fred Meier, November 01, 2009, 11:37:33 am

Previous topic - Next topic

Fred Meier

November 01, 2009, 11:37:33 am Last Edit: February 06, 2013, 03:36:27 pm by Paul Squires
SQLitening Version 1.30

                     *** Highlights ***
   1. Support for named locks with new command slSelRelNamedLocks.

   2. Server will "timeout" a connection after minutes of no activity.

   3. slSel can also begin a transaction.

   4. New command slGetStatus.
   
   5. New dialog in server admin to list and kill connections.


  Below are the details of the changes:
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.


[attachment deleted by admin]