Skip to content
This repository was archived by the owner on Sep 20, 2023. It is now read-only.

Commit 1207904

Browse files
Merge pull request #86 from laughingman7743/support_jpype_0_7_0
Support JPype 0.7.0
2 parents b3a42c6 + 25d4c7e commit 1207904

4 files changed

Lines changed: 51 additions & 51 deletions

File tree

Pipfile.lock

Lines changed: 42 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyathenajdbc/converter.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,16 @@ def _to_default(result_set, index):
108108
class JDBCTypeConverter(object):
109109

110110
def __init__(self):
111+
modifier = jpype.java.lang.reflect.Modifier
111112
types = jpype.java.sql.Types
112113
self._jdbc_type_name_mappings = dict()
113114
self._jdbc_type_code_mappings = dict()
114-
for field in types.__javaclass__.getClassFields():
115-
self._jdbc_type_name_mappings[field.getName()] = field.getStaticAttribute()
116-
self._jdbc_type_code_mappings[field.getStaticAttribute()] = field.getName()
115+
for field in types.class_.getFields():
116+
if modifier.isStatic(field.getModifiers()):
117+
name = field.getName()
118+
attr = getattr(types, field.getName())
119+
self._jdbc_type_name_mappings[name] = attr
120+
self._jdbc_type_code_mappings[attr] = name
117121
_logger.debug(self._jdbc_type_name_mappings)
118122
self._converter_mappings = dict()
119123
for k, v in iteritems(_DEFAULT_CONVERTERS):

pyathenajdbc/cursor.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
from past.builtins.misc import xrange
99

1010
from pyathenajdbc.error import (DatabaseError, NotSupportedError, ProgrammingError)
11-
from pyathenajdbc.util import (attach_thread_to_jvm, synchronized,
12-
unwrap_exception)
11+
from pyathenajdbc.util import (attach_thread_to_jvm, synchronized)
1312

1413
_logger = logging.getLogger(__name__)
1514

@@ -125,7 +124,7 @@ def execute(self, operation, parameters=None):
125124
self._update_count = self._statement.getUpdateCount()
126125
except Exception as e:
127126
_logger.exception('Failed to execute query.')
128-
raise_from(DatabaseError(unwrap_exception(e)), e)
127+
raise_from(DatabaseError(e), e)
129128

130129
def executemany(self, operation, seq_of_parameters):
131130
raise NotSupportedError

pyathenajdbc/util.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,3 @@ def to_datetime(java_date):
4848
cal.get(jpype.java.util.Calendar.HOUR_OF_DAY),
4949
cal.get(jpype.java.util.Calendar.MINUTE),
5050
cal.get(jpype.java.util.Calendar.SECOND))
51-
52-
53-
def unwrap_exception(exc):
54-
import jpype
55-
if isinstance(exc, jpype._jexception.JavaException) and \
56-
issubclass(exc.__javaclass__, jpype.java.sql.SQLException):
57-
args = exc.args
58-
if args:
59-
cause = args[0].cause
60-
if cause:
61-
return cause
62-
else:
63-
return args[0]
64-
return exc

0 commit comments

Comments
 (0)