--- a/server/serverctl.py Mon Mar 08 09:51:29 2010 +0100
+++ b/server/serverctl.py Mon Mar 08 17:57:29 2010 +0100
@@ -63,9 +63,11 @@
password = getpass('password: ')
extra_args = source.get('db-extra-arguments')
extra = extra_args and {'extra_args': extra_args} or {}
- return get_connection(driver, dbhost, dbname, user, password=password,
- port=source.get('db-port'),
- **extra)
+ cnx = get_connection(driver, dbhost, dbname, user, password=password,
+ port=source.get('db-port'),
+ **extra)
+ cnx.logged_user = logged_user
+ return cnx
def system_source_cnx(source, dbms_system_base=False,
special_privs='CREATE/DROP DATABASE', verbose=True):
@@ -75,8 +77,8 @@
create/drop the instance database)
"""
if dbms_system_base:
- from logilab.common.adbh import get_adv_func_helper
- system_db = get_adv_func_helper(source['db-driver']).system_database()
+ from logilab.db import get_db_helper
+ system_db = get_db_helper(source['db-driver']).system_database()
return source_cnx(source, system_db, special_privs=special_privs, verbose=verbose)
return source_cnx(source, special_privs=special_privs, verbose=verbose)
@@ -85,11 +87,11 @@
or a database
"""
import logilab.common as lgp
- from logilab.common.adbh import get_adv_func_helper
+ from logilab.db import get_db_helper
lgp.USE_MX_DATETIME = False
special_privs = ''
driver = source['db-driver']
- helper = get_adv_func_helper(driver)
+ helper = get_db_helper(driver)
if user is not None and helper.users_support:
special_privs += '%s USER' % what
if db is not None:
@@ -202,10 +204,10 @@
def cleanup(self):
"""remove instance's configuration and database"""
- from logilab.common.adbh import get_adv_func_helper
+ from logilab.db import get_db_helper
source = self.config.sources()['system']
dbname = source['db-name']
- helper = get_adv_func_helper(source['db-driver'])
+ helper = get_db_helper(source['db-driver'])
if ASK.confirm('Delete database %s ?' % dbname):
user = source['db-user'] or None
cnx = _db_sys_cnx(source, 'DROP DATABASE', user=user)
@@ -285,8 +287,7 @@
)
def run(self, args):
"""run the command with its specific arguments"""
- from logilab.common.adbh import get_adv_func_helper
- from indexer import get_indexer
+ from logilab.db import get_db_helper
verbose = self.get('verbose')
automatic = self.get('automatic')
appid = pop_arg(args, msg='No instance specified !')
@@ -295,7 +296,7 @@
dbname = source['db-name']
driver = source['db-driver']
create_db = self.config.create_db
- helper = get_adv_func_helper(driver)
+ helper = get_db_helper(driver)
if driver == 'sqlite':
if os.path.exists(dbname) and automatic or \
ASK.confirm('Database %s already exists -- do you want to drop it ?' % dbname):
@@ -330,8 +331,7 @@
raise
cnx = system_source_cnx(source, special_privs='LANGUAGE C', verbose=verbose)
cursor = cnx.cursor()
- indexer = get_indexer(driver)
- indexer.init_extensions(cursor)
+ dbhelper.init_fti_extensions(cursor)
# postgres specific stuff
if driver == 'postgres':
# install plpythonu/plpgsql language if not installed by the cube