|
25 | 25 | import datetime |
26 | 26 | import pytz |
27 | 27 |
|
28 | | - |
29 | 28 | class TestScanBase(KuduTestBase, unittest.TestCase): |
30 | 29 |
|
31 | 30 | @classmethod |
@@ -72,7 +71,8 @@ def setUpClass(self): |
72 | 71 | builder = kudu.schema_builder() |
73 | 72 | builder.add_column('key').type(kudu.int64).nullable(False) |
74 | 73 | builder.add_column('unixtime_micros_val', type_=kudu.unixtime_micros, nullable=False) |
75 | | - builder.add_column('decimal_val', type_=kudu.decimal, precision=5, scale=2) |
| 74 | + if kudu.CLIENT_SUPPORTS_DECIMAL: |
| 75 | + builder.add_column('decimal_val', type_=kudu.decimal, precision=5, scale=2) |
76 | 76 | builder.add_column('string_val', type_=kudu.string, compression=kudu.COMPRESSION_LZ4, encoding='prefix') |
77 | 77 | builder.add_column('bool_val', type_=kudu.bool) |
78 | 78 | builder.add_column('double_val', type_=kudu.double) |
@@ -104,16 +104,28 @@ def setUpClass(self): |
104 | 104 | self.type_table = self.client.table(table_name) |
105 | 105 |
|
106 | 106 | # Insert new rows |
107 | | - self.type_test_rows = [ |
108 | | - (1, datetime.datetime(2016, 1, 1).replace(tzinfo=pytz.utc), Decimal('111.11'), |
109 | | - "Test One", True, 1.7976931348623157 * (10^308), 127, |
110 | | - b'\xce\x99\xce\xbf\xcf\x81\xce\xb4\xce\xb1\xce\xbd\xce\xaf\xce\xb1', |
111 | | - 3.402823 * (10^38)), |
112 | | - (2, datetime.datetime.utcnow().replace(tzinfo=pytz.utc), Decimal('0.99'), |
113 | | - "测试二", False, 200.1, -1, |
114 | | - b'\xd0\x98\xd0\xbe\xd1\x80\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f', |
115 | | - -150.2) |
116 | | - ] |
| 107 | + if kudu.CLIENT_SUPPORTS_DECIMAL: |
| 108 | + self.type_test_rows = [ |
| 109 | + (1, datetime.datetime(2016, 1, 1).replace(tzinfo=pytz.utc), Decimal('111.11'), |
| 110 | + "Test One", True, 1.7976931348623157 * (10^308), 127, |
| 111 | + b'\xce\x99\xce\xbf\xcf\x81\xce\xb4\xce\xb1\xce\xbd\xce\xaf\xce\xb1', |
| 112 | + 3.402823 * (10^38)), |
| 113 | + (2, datetime.datetime.utcnow().replace(tzinfo=pytz.utc), Decimal('0.99'), |
| 114 | + "测试二", False, 200.1, -1, |
| 115 | + b'\xd0\x98\xd0\xbe\xd1\x80\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f', |
| 116 | + -150.2) |
| 117 | + ] |
| 118 | + else: |
| 119 | + self.type_test_rows = [ |
| 120 | + (1, datetime.datetime(2016, 1, 1).replace(tzinfo=pytz.utc), |
| 121 | + "Test One", True, 1.7976931348623157 * (10 ^ 308), 127, |
| 122 | + b'\xce\x99\xce\xbf\xcf\x81\xce\xb4\xce\xb1\xce\xbd\xce\xaf\xce\xb1', |
| 123 | + 3.402823 * (10 ^ 38)), |
| 124 | + (2, datetime.datetime.utcnow().replace(tzinfo=pytz.utc), |
| 125 | + "测试二", False, 200.1, -1, |
| 126 | + b'\xd0\x98\xd0\xbe\xd1\x80\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f', |
| 127 | + -150.2) |
| 128 | + ] |
117 | 129 | session = self.client.new_session() |
118 | 130 | for row in self.type_test_rows: |
119 | 131 | op = self.type_table.new_insert(row) |
@@ -234,12 +246,13 @@ def _test_float_pred(self): |
234 | 246 | ) |
235 | 247 |
|
236 | 248 | def _test_decimal_pred(self): |
237 | | - self.verify_pred_type_scans( |
238 | | - preds=[ |
239 | | - self.type_table['decimal_val'] == Decimal('111.11') |
240 | | - ], |
241 | | - row_indexes=slice(0, 1), |
242 | | - ) |
| 249 | + if kudu.CLIENT_SUPPORTS_DECIMAL: |
| 250 | + self.verify_pred_type_scans( |
| 251 | + preds=[ |
| 252 | + self.type_table['decimal_val'] == Decimal('111.11') |
| 253 | + ], |
| 254 | + row_indexes=slice(0, 1), |
| 255 | + ) |
243 | 256 |
|
244 | 257 | def _test_binary_pred(self): |
245 | 258 | self.verify_pred_type_scans( |
|
0 commit comments