backend/server/rhnSQL/driver_postgresql.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
New commits:
commit 335f140534de31335727ceb9ed18ad8b405bf638
Author: Jan Pazdziora <jpazdziora(a)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(a)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
Show replies by thread