backend/server/rhnSQL/driver_cx_Oracle.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
New commits:
commit 87434cc4dcfa483bc19f1c74b844c8fffde84286
Author: Jan Pazdziora <jpazdziora(a)redhat.com>
Date: Tue Mar 1 17:06:51 2011 +0100
Only try to show e.code when the exception is cx_Oracle._Error.
Addressing
File
"/usr/lib/python2.4/site-packages/spacewalk/server/rhnSQL/driver_cx_Oracle.py",
line 100, in _execute_wrapper
ret = self._get_oracle_error_info(e)
File
"/usr/lib/python2.4/site-packages/spacewalk/server/rhnSQL/driver_cx_Oracle.py",
line 202, in _get_oracle_error_info
if isinstance(e, cx_Oracle._Error):
AttributeError: 'str' object has no attribute 'code'
diff --git a/backend/server/rhnSQL/driver_cx_Oracle.py
b/backend/server/rhnSQL/driver_cx_Oracle.py
index e963b2c..6fc77d0 100644
--- a/backend/server/rhnSQL/driver_cx_Oracle.py
+++ b/backend/server/rhnSQL/driver_cx_Oracle.py
@@ -197,8 +197,9 @@ class Cursor(sql_base.Cursor):
def _get_oracle_error_info(self, error):
if isinstance(error, cx_Oracle.DatabaseError):
e = error[0]
- return (e.code, e.message, self.sql)
- return str(error)
+ if isinstance(e, cx_Oracle._Error):
+ return (e.code, e.message, self.sql)
+ return (None, str(error), self.sql)
# so we can "inherit" the self._real_cursor functions
def __getattr__(self, name):
Show replies by date