backend/server/rhnSQL/driver_postgresql.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
New commits: commit 335f140534de31335727ceb9ed18ad8b405bf638 Author: Jan Pazdziora jpazdziora@redhat.com Date: Fri Oct 29 21:17:06 2010 +0200
For Function in PostgreSQL, we have to not just execute, but also fetch the value to return.
diff --git a/backend/server/rhnSQL/driver_postgresql.py b/backend/server/rhnSQL/driver_postgresql.py index 5f53b12..1e24c03 100644 --- a/backend/server/rhnSQL/driver_postgresql.py +++ b/backend/server/rhnSQL/driver_postgresql.py @@ -75,9 +75,12 @@ class Function(sql_base.Procedure): i += 1 query = "SELECT %s(%s)" % (self.name, positional_args)
- # for now return just result (ret_type is ignored) log_debug(2, query, args) - return self.cursor.execute(query, args) + ret = self.cursor.execute(query, args) + if self.ret_type == None: + return ret + else: + return self.cursor.fetchone()[0]
class Procedure(Function): @@ -92,6 +95,7 @@ class Procedure(Function):
def __init__(self, name, cursor): Function.__init__(self, name, cursor, None) + self.ret_type = None
def __call__(self, *args): result = Function.__call__(self, *args)
commit df7b535b0494b7a1fb7d2c2ff2486431dcedb240 Author: Jan Pazdziora jpazdziora@redhat.com Date: Fri Oct 29 20:28:57 2010 +0200
Move the SQL munging messages to debug level 6, to be above the "Executing SQL" message level.
diff --git a/backend/server/rhnSQL/driver_postgresql.py b/backend/server/rhnSQL/driver_postgresql.py index d707990..5f53b12 100644 --- a/backend/server/rhnSQL/driver_postgresql.py +++ b/backend/server/rhnSQL/driver_postgresql.py @@ -45,9 +45,9 @@ def convert_named_query_params(query): where it was used. - number of arguments found and replaced """ - log_debug(3, "Converting query for PostgreSQL: %s" % query) + log_debug(6, "Converting query for PostgreSQL: %s" % query) new_query = re.sub(r'(\W):(\w+)', r'\1%(\2)s', query.replace('%', '%%')) - log_debug(3, "New query: %s" % new_query) + log_debug(6, "New query: %s" % new_query) return new_query