summaryrefslogtreecommitdiff
path: root/misc/freeswitch/scripts/common/database.lua
diff options
context:
space:
mode:
authorspag <spag@golwen.net>2013-01-10 12:27:17 +0100
committerspag <spag@golwen.net>2013-01-10 12:27:17 +0100
commit171a2317964f54a9b743eaa77b02d1119bee070c (patch)
tree9475f9ab476e44710be8d6c06cb997e8e2d77705 /misc/freeswitch/scripts/common/database.lua
parentc0c87dc9a80d7bf7f6dd7a779a6519a0e1425c5c (diff)
old database class removed
Diffstat (limited to 'misc/freeswitch/scripts/common/database.lua')
-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 22a68fb..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('/var/lib/freeswitch/.odbc.ini');
- if config then
- database_driver = config.gemeinschaft.driver
- database_name = config.gemeinschaft.DATABASE
- user_name = config.gemeinschaft.USER
- password = config.gemeinschaft.PASSWORD
- host_name = config.gemeinschaft.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