Skip to content

Commit d96cb72

Browse files
committed
Add support for decimal type parameters
1 parent fd86c72 commit d96cb72

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

Diff for: pyhive/common.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import datetime
1818
from future.utils import with_metaclass
1919
from itertools import islice
20+
from decimal import Decimal
2021

2122

2223
class DBAPICursor(with_metaclass(abc.ABCMeta, object)):
@@ -248,7 +249,7 @@ def escape_datetime(self, item, format, cutoff=0):
248249
def escape_item(self, item):
249250
if item is None:
250251
return 'NULL'
251-
elif isinstance(item, (int, float)):
252+
elif isinstance(item, (int, float, Decimal)):
252253
return self.escape_number(item)
253254
elif isinstance(item, basestring):
254255
return self.escape_string(item)

Diff for: pyhive/tests/test_common.py

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from pyhive import common
55
import datetime
66
import unittest
7+
import decimal
78

89

910
class TestCommon(unittest.TestCase):
@@ -15,6 +16,8 @@ def test_escape_args(self):
1516
{'foo': 123})
1617
self.assertEqual(escaper.escape_args({'foo': 123.456}),
1718
{'foo': 123.456})
19+
self.assertEqual(escaper.escape_args({'foo': decimal.Decimal('123.456')}),
20+
{'foo': decimal.Decimal('123.456')})
1821
self.assertEqual(escaper.escape_args({'foo': ['a', 'b', 'c']}),
1922
{'foo': "('a','b','c')"})
2023
self.assertEqual(escaper.escape_args({'foo': ('a', 'b', 'c')}),

0 commit comments

Comments
 (0)