Skip to content

Commit c635283

Browse files
committed
Fix polars issues
1 parent 9718e32 commit c635283

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

singlestoredb/tests/test_connection.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,6 +1443,11 @@ def test_alltypes_polars(self):
14431443
out = cur.fetchone()
14441444
row = dict(zip(names, out.row(0)))
14451445

1446+
# Recent versions of polars have a problem with decimals
1447+
class FixCompare(str):
1448+
def __eq__(self, other):
1449+
return super().__eq__(other.replace('precision=None', 'precision=22'))
1450+
14461451
dtypes = [
14471452
('id', 'Int32'),
14481453
('tinyint', 'Int8'),
@@ -1464,10 +1469,10 @@ def test_alltypes_polars(self):
14641469
('float', 'Float32'),
14651470
('double', 'Float64'),
14661471
('real', 'Float64'),
1467-
('decimal', 'Decimal(precision=22, scale=6)'),
1468-
('dec', 'Decimal(precision=22, scale=6)'),
1469-
('fixed', 'Decimal(precision=22, scale=6)'),
1470-
('numeric', 'Decimal(precision=22, scale=6)'),
1472+
('decimal', FixCompare('Decimal(precision=22, scale=6)')),
1473+
('dec', FixCompare('Decimal(precision=22, scale=6)')),
1474+
('fixed', FixCompare('Decimal(precision=22, scale=6)')),
1475+
('numeric', FixCompare('Decimal(precision=22, scale=6)')),
14711476
('date', 'Date'),
14721477
('time', "Duration(time_unit='us')"),
14731478
('time_6', "Duration(time_unit='us')"),
@@ -1585,6 +1590,11 @@ def test_alltypes_no_nulls_polars(self):
15851590
out = cur.fetchone()
15861591
row = dict(zip(names, out.row(0)))
15871592

1593+
# Recent versions of polars have a problem with decimals
1594+
class FixCompare(str):
1595+
def __eq__(self, other):
1596+
return super().__eq__(other.replace('precision=None', 'precision=22'))
1597+
15881598
dtypes = [
15891599
('id', 'Int32'),
15901600
('tinyint', 'Int8'),
@@ -1606,10 +1616,10 @@ def test_alltypes_no_nulls_polars(self):
16061616
('float', 'Float32'),
16071617
('double', 'Float64'),
16081618
('real', 'Float64'),
1609-
('decimal', 'Decimal(precision=22, scale=6)'),
1610-
('dec', 'Decimal(precision=22, scale=6)'),
1611-
('fixed', 'Decimal(precision=22, scale=6)'),
1612-
('numeric', 'Decimal(precision=22, scale=6)'),
1619+
('decimal', FixCompare('Decimal(precision=22, scale=6)')),
1620+
('dec', FixCompare('Decimal(precision=22, scale=6)')),
1621+
('fixed', FixCompare('Decimal(precision=22, scale=6)')),
1622+
('numeric', FixCompare('Decimal(precision=22, scale=6)')),
16131623
('date', 'Date'),
16141624
('time', "Duration(time_unit='us')"),
16151625
('time_6', "Duration(time_unit='us')"),

0 commit comments

Comments
 (0)