Diff for /parser3/src/include/pa_sql_driver_manager.h between versions 1.8.4.1 and 1.21

version 1.8.4.1, 2001/09/12 15:34:58 version 1.21, 2002/01/16 10:28:34
Line 1 Line 1
 /** @file  /** @file
         Parser: sql driver manager decl.          Parser: sql driver manager decl.
           global sql driver manager, must be thread-safe
   
         Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexander Petrosyan <paf@design.ru> (http://paf.design.ru)
         Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)  
   
         $Id$          $Id$
   
   
         global sql driver manager, must be thread-safe  
 */  */
   
 #ifndef PA_SQL_DRIVER_MANAGER_H  #ifndef PA_SQL_DRIVER_MANAGER_H
 #define PA_SQL_DRIVER_MANAGER_H  #define PA_SQL_DRIVER_MANAGER_H
   
 #include "pa_config_includes.h"  
 #include "pa_pool.h"  #include "pa_pool.h"
 #include "pa_sql_driver.h"  #include "pa_sql_driver.h"
 #include "pa_hash.h"  #include "pa_hash.h"
 #include "pa_stack.h"  
 #include "pa_table.h"  #include "pa_table.h"
 #include "pa_string.h"  #include "pa_string.h"
   #include "pa_cache_managers.h"
   
 // defines  // defines
   
Line 31 Line 26
 // forwards  // forwards
   
 class SQL_Connection;  class SQL_Connection;
   class SQL_Connection_ptr;
   
 /// sql driver manager  /// sql driver manager
 class SQL_Driver_manager : public Pooled {  class SQL_Driver_manager : public Cache_manager {
         friend SQL_Connection;          friend class SQL_Connection;
 public:  public:
   
         SQL_Driver_manager(Pool& pool) : Pooled(pool),          SQL_Driver_manager(Pool& apool);
                 driver_cache(pool),          virtual ~SQL_Driver_manager();
                 connection_cache(pool),  
                 prev_expiration_pass_time(0) {  
         }  
   
         /**           /** 
                 connect to specified url,                   connect to specified url, 
                 using driver dynamic library found in table, if not loaded yet                  using driver dynamic library found in table, if not loaded yet
                 checks driver version                  checks driver version
         */          */
         SQL_Connection& get_connection(const String& url, const String& request_origin,          SQL_Connection_ptr get_connection(const String& url, const String& request_origin,
                 Table *protocol2driver_and_client);                  Table *protocol2driver_and_client);
   
 private: // driver cache  private: // driver cache
Line 60  private: // connection cache Line 53  private: // connection cache
   
         SQL_Connection *get_connection_from_cache(const String& url);          SQL_Connection *get_connection_from_cache(const String& url);
         void put_connection_to_cache(const String& url, SQL_Connection& connection);          void put_connection_to_cache(const String& url, SQL_Connection& connection);
         void maybe_expire_connection_cache();  
 private:  private:
         time_t prev_expiration_pass_time;          time_t prev_expiration_pass_time;
   
Line 73  private: Line 65  private:
   
         Hash driver_cache;          Hash driver_cache;
         Hash connection_cache;          Hash connection_cache;
   
   public: // Cache_manager
   
           virtual Value& get_status(Pool& pool, const String *source);
           virtual void maybe_expire_cache();
   
 };  };
   
 /// global  /// global

Removed from v.1.8.4.1  
changed lines
  Added in v.1.21


E-mail: