The function which mapped store procedures and functions return types to rhnSQL's own types didn't process all the known types. In fact it exited immediately if the first comparison didn't pass. --- backend/server/rhnSQL/driver_cx_Oracle.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/backend/server/rhnSQL/driver_cx_Oracle.py b/backend/server/rhnSQL/driver_cx_Oracle.py index 80ef513..420fb10 100644 --- a/backend/server/rhnSQL/driver_cx_Oracle.py +++ b/backend/server/rhnSQL/driver_cx_Oracle.py @@ -330,12 +330,14 @@ class Procedure(sql_base.Procedure): def _call_proc_ret(self, args, ret_type=None): args = map(to_string, self._munge_args(args)) if ret_type: + ret_type_mapped = False for sqltype, db_type in self._type_mapping: if isinstance(ret_type, sqltype): ret_type = db_type + ret_type_mapped = True break - else: - raise Exception("Unknown type", ret_type) + if not ret_type_mapped: + raise Exception("Unknown type", ret_type) if ret_type: return self.cursor.callfunc(self.name, ret_type, args) -- 1.8.4 _______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel