MySQL_Logger::MySQL_Logger() { enabled=false; base_filename=NULL; datadir=NULL; base_filename=strdup((char *)""); spinlock_rwlock_init(&rwlock); logfile=NULL; log_file_id=0; max_log_file_size=100*1024*1024; };
/* class Standard_Query_Processor: public Query_Processor { private: rwlock_t rwlock; std::vector<QP_rule_t *> rules; //unsigned int commands_counters[MYSQL_COM_QUERY___NONE]; Command_Counter * commands_counters[MYSQL_COM_QUERY___NONE]; volatile unsigned int version; protected: public: */ Query_Processor::Query_Processor() { #ifdef DEBUG if (glovars.has_debug==false) { #else if (glovars.has_debug==true) { #endif /* DEBUG */ perror("Incompatible debagging version"); exit(EXIT_FAILURE); } proxy_debug(PROXY_DEBUG_MYSQL_QUERY_PROCESSOR, 4, "Initializing Query Processor with version=0\n"); spinlock_rwlock_init(&rwlock); spinlock_rwlock_init(&digest_rwlock); version=0; for (int i=0; i<MYSQL_COM_QUERY___NONE; i++) commands_counters[i]=new Command_Counter(i); commands_counters_desc[MYSQL_COM_QUERY_ALTER_TABLE]=(char *)"ALTER_TABLE"; commands_counters_desc[MYSQL_COM_QUERY_ANALYZE_TABLE]=(char *)"ANALYZE_TABLE"; commands_counters_desc[MYSQL_COM_QUERY_BEGIN]=(char *)"BEGIN"; commands_counters_desc[MYSQL_COM_QUERY_CHANGE_MASTER]=(char *)"CHANGE_MASTER"; commands_counters_desc[MYSQL_COM_QUERY_COMMIT]=(char *)"COMMIT"; commands_counters_desc[MYSQL_COM_QUERY_CREATE_DATABASE]=(char *)"CREATE_DATABASE"; commands_counters_desc[MYSQL_COM_QUERY_CREATE_INDEX]=(char *)"CREATE_INDEX"; commands_counters_desc[MYSQL_COM_QUERY_CREATE_TABLE]=(char *)"CREATE_TABLE"; commands_counters_desc[MYSQL_COM_QUERY_CREATE_TEMPORARY]=(char *)"CREATE_TEMPORARY"; commands_counters_desc[MYSQL_COM_QUERY_CREATE_TRIGGER]=(char *)"CREATE_TRIGGER"; commands_counters_desc[MYSQL_COM_QUERY_CREATE_USER]=(char *)"CREATE_USER"; commands_counters_desc[MYSQL_COM_QUERY_DELETE]=(char *)"DELETE"; commands_counters_desc[MYSQL_COM_QUERY_DESCRIBE]=(char *)"DESCRIBE"; commands_counters_desc[MYSQL_COM_QUERY_DROP_DATABASE]=(char *)"DROP_DATABASE"; commands_counters_desc[MYSQL_COM_QUERY_DROP_INDEX]=(char *)"DROP_INDEX"; commands_counters_desc[MYSQL_COM_QUERY_DROP_TABLE]=(char *)"DROP_TABLE"; commands_counters_desc[MYSQL_COM_QUERY_DROP_TRIGGER]=(char *)"DROP_TRIGGER"; commands_counters_desc[MYSQL_COM_QUERY_DROP_USER]=(char *)"DROP_USER"; commands_counters_desc[MYSQL_COM_QUERY_GRANT]=(char *)"GRANT"; commands_counters_desc[MYSQL_COM_QUERY_EXPLAIN]=(char *)"EXPLAIN"; commands_counters_desc[MYSQL_COM_QUERY_FLUSH]=(char *)"FLUSH"; commands_counters_desc[MYSQL_COM_QUERY_INSERT]=(char *)"INSERT"; commands_counters_desc[MYSQL_COM_QUERY_KILL]=(char *)"KILL"; commands_counters_desc[MYSQL_COM_QUERY_LOAD]=(char *)"LOAD"; commands_counters_desc[MYSQL_COM_QUERY_LOCK_TABLE]=(char *)"LOCK_TABLE"; commands_counters_desc[MYSQL_COM_QUERY_OPTIMIZE]=(char *)"OPTIMIZE"; commands_counters_desc[MYSQL_COM_QUERY_PREPARE]=(char *)"PREPARE"; commands_counters_desc[MYSQL_COM_QUERY_PURGE]=(char *)"PURGE"; commands_counters_desc[MYSQL_COM_QUERY_RENAME_TABLE]=(char *)"RENAME_TABLE"; commands_counters_desc[MYSQL_COM_QUERY_RESET_MASTER]=(char *)"RESET_MASTER"; commands_counters_desc[MYSQL_COM_QUERY_RESET_SLAVE]=(char *)"RESET_SLAVE"; commands_counters_desc[MYSQL_COM_QUERY_REPLACE]=(char *)"REPLACE"; commands_counters_desc[MYSQL_COM_QUERY_REVOKE]=(char *)"REVOKE"; commands_counters_desc[MYSQL_COM_QUERY_ROLLBACK]=(char *)"ROLLBACK"; commands_counters_desc[MYSQL_COM_QUERY_SAVEPOINT]=(char *)"SAVEPOINT"; commands_counters_desc[MYSQL_COM_QUERY_SELECT]=(char *)"SELECT"; commands_counters_desc[MYSQL_COM_QUERY_SELECT_FOR_UPDATE]=(char *)"SELECT_FOR_UPDATE"; commands_counters_desc[MYSQL_COM_QUERY_SET]=(char *)"SET"; commands_counters_desc[MYSQL_COM_QUERY_SHOW_TABLE_STATUS]=(char *)"SHOW_TABLE_STATUS"; commands_counters_desc[MYSQL_COM_QUERY_START_TRANSACTION]=(char *)"START_TRANSACTION"; commands_counters_desc[MYSQL_COM_QUERY_UNLOCK_TABLES]=(char *)"UNLOCK_TABLES"; commands_counters_desc[MYSQL_COM_QUERY_UPDATE]=(char *)"UPDATE"; commands_counters_desc[MYSQL_COM_QUERY_USE]=(char *)"USE"; commands_counters_desc[MYSQL_COM_QUERY_UNKNOWN]=(char *)"UNKNOWN"; }; Query_Processor::~Query_Processor() { for (int i=0; i<MYSQL_COM_QUERY___NONE; i++) delete commands_counters[i]; __reset_rules(&rules); }; // This function is called by each thread when it starts. It create a Query Processor Table for each thread void Query_Processor::init_thread() { proxy_debug(PROXY_DEBUG_MYSQL_QUERY_PROCESSOR, 4, "Initializing Per-Thread Query Processor Table with version=0\n"); _thr_SQP_version=0; _thr_SQP_rules=new std::vector<QP_rule_t *>; for (int i=0; i<MYSQL_COM_QUERY___NONE; i++) _thr_commands_counters[i] = new Command_Counter(i); };
SQLite3DB::SQLite3DB() { db=NULL; url=NULL; assert_on_error=0; spinlock_rwlock_init(&rwlock); }
KV_BtreeArray::KV_BtreeArray() { freeable_memory=0; tottopurge=0; spinlock_rwlock_init(&lock); ptrArray = new PtrArray; };