summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorspag <spag@golwen.net>2013-01-10 12:11:36 +0100
committerspag <spag@golwen.net>2013-01-10 12:11:36 +0100
commit110241cdb13f8f44f2b17bf63bbd19c12d402f13 (patch)
tree4a273ecb28054824ea0ff942590dade5162c76e4 /misc
parentf04aa92778dca7f71ca656235885095b13dd3535 (diff)
old database class removed
Diffstat (limited to 'misc')
-rw-r--r--misc/freeswitch/scripts/common/database.lua151
1 files changed, 0 insertions, 151 deletions
diff --git a/misc/freeswitch/scripts/common/database.lua b/misc/freeswitch/scripts/common/database.lua
deleted file mode 100644
index 3692f84..0000000
--- a/misc/freeswitch/scripts/common/database.lua
+++ /dev/null
@@ -1,151 +0,0 @@
--- Gemeinschaft 5 module: database class
--- (c) AMOOMA GmbH 2012
---
-
-module(...,package.seeall)
-
-Database = {}
-
-DATABASE_DRIVER = 'mysql'
-
-function Database.new(self, arg)
- arg = arg or {}
- object = arg.object or {}
- setmetatable(object, self);
- self.__index = self;
- self.class = 'database';
- self.log = arg.log;
- self.conn = nil;
- return object;
-end
-
-
-function Database.connect(self, database_name, user_name, password, host_name)
- local database_driver = nil;
- if not (database_name and user_name and password) then
- require 'common.configuration_file'
- local config = common.configuration_file.get('/opt/freeswitch/scripts/ini/database.ini');
- if config then
- database_driver = config[true].driver
- database_name = config[database_driver].database
- user_name = config[database_driver].user
- password = config[database_driver].password
- host_name = config[database_driver].host
- end
- end
-
- host_name = host_name or 'localhost';
- database_driver = database_driver or DATABASE_DRIVER;
-
- if database_driver == 'mysql' then
- require "luasql.mysql"
- self.env = luasql.mysql();
- elseif database_driver == 'odbc' then
- require "luasql.odbc"
- self.env = luasql.odbc();
- end
-
- self.conn = self.env:connect(database_name, user_name, password, host_name);
- self.conn_id = tostring(self.conn);
- self.database_name = database_name;
- self.user_name = user_name;
- self.password = password;
- self.host_name = host_name;
-
- -- self.log:debug('DATABASE_CONNECT - connection: ', self.conn_id, ', environment: ', self.env);
-
- return self;
-end
-
-
-function Database.reconnect(self)
- self.conn = self.env:connect(self.database_name, self.user_name, self.password, self.host_name);
- self.conn_id = tostring(self.conn);
-
- if self.log then
- self.log:info('DATABASE_RECONNECT - connection: ', self.conn_id, ', environment: ', self.env);
- end
-
- return self;
-end
-
-
-function Database.connected(self)
- return self.conn;
-end
-
-
-function Database.query(self, sql_query, call_function)
- local cursor = self.conn:execute(sql_query);
-
- if cursor == nil and not self.conn:execute('SELECT @@VERSION') then
- if self.log then
- self.log:error('DATABASE_QUERY - lost connection: ', self.conn_id, ', environment: ', self.env, ', query: ', sql_query);
- end
- self:reconnect();
-
- if call_function then
- cursor = self.conn:execute(sql_query);
- self.log:notice('DATABASE_QUERY - retry: ', sql_query);
- end
- end
-
- if cursor and call_function then
- repeat
- row = cursor:fetch({}, 'a');
- if row then
- call_function(row);
- end
- until not row;
- end
-
- if type(cursor) == 'userdata' then
- cursor:close();
- end
-
- return cursor;
-end
-
-
-function Database.query_return_value(self, sql_query)
- local cursor = self.conn:execute(sql_query);
-
- if cursor == nil and not self.conn:execute('SELECT @@VERSION') then
- if self.log then
- self.log:error('DATABASE_QUERY - lost connection: ', self.conn_id, ', environment: ', self.env, ', query: ', sql_query);
- end
- self:reconnect();
- cursor = self.conn:execute(sql_query);
- self.log:notice('DATABASE_QUERY - retry: ', sql_query);
- end
-
- if type(cursor) == 'userdata' then
- local row = cursor:fetch({}, 'n');
- cursor:close();
-
- if not row then
- return row;
- else
- return row[1];
- end
- end
-
- return cursor;
-end
-
-
-function Database.last_insert_id(self)
- return self:query_return_value('SELECT LAST_INSERT_ID()');
-end
-
-
-function Database.release(self, sql_query, call_function)
- if self.conn then
- self.conn:close();
- end
- if self.env then
- self.env:close();
- end
-
- -- self.log:debug('DATABASE_RELEASE - connection: ', self.conn_id, ', status: ', self.env, ', ', self.conn);
-end