From b0be4caa3be3b99cf6e8016f026c50ec84204df1 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Fri, 4 May 2007 15:10:23 +0200 Subject: ~=db: new list_users, sql_drop_unique_constraint methods on advanced helpers --- db.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'db.py') diff --git a/db.py b/db.py index d839fe9..4673e7b 100644 --- a/db.py +++ b/db.py @@ -452,10 +452,22 @@ INSERT INTO %s VALUES (0);''' % (seq_name, seq_name) return "CREATE TEMPORARY TABLE %s (%s);" % (table_name, table_schema) + def sql_drop_unique_constraint(self, table, column): + # XXX postgres specific ? + return 'ALTER TABLE %s DROP CONSTRAINT %s_%s_key' % ( + table, table, column) + def increment_sequence(self, cursor, seq_name): for sql in self.sqls_increment_sequence(seq_name): cursor.execute(sql) return cursor.fetchone()[0] + + def list_users(self, cursor, username=None): + if not self.support_users(): + return None + if username is None: + return () + return None class _PGAdvFuncHelper(_GenericAdvFuncHelper): @@ -516,6 +528,12 @@ class _PGAdvFuncHelper(_GenericAdvFuncHelper): return "CREATE TEMPORARY TABLE %s (%s) ON COMMIT DROP;" % (table_name, table_schema) + def list_users(self, cursor, username=None): + if username is None: + return cursor.execute("SELECT usename FROM pg_user") + return cursor.execute("SELECT usename FROM pg_user WHERE usename=%(user)s'", + {'user': username}) + def dbcmd(cmd, dbhost, dbuser): cmd = [cmd] if dbhost: -- cgit v1.2.1