Skip to content

Commit 9bf35c8

Browse files
committed
update generate_series_sqlite tests
1 parent 5fe8d52 commit 9bf35c8

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

apsw/tests/__main__.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11102,6 +11102,11 @@ class NotImplemented(apsw.ext.SQLiteTypeAdapter):
1110211102

1110311103
def testExtStuff(self):
1110411104
"Various apsw.ext functions"
11105+
# testing note: 28 October 2025
11106+
# I updated generate_series_sqlite to match it's behaviour which involved all sorts
11107+
# of permutations compared against the sqlite shell. that can't be added here
11108+
# because we don't have a shell to run to compare. I also check regular generate_series
11109+
# against mssql and postgres and it remains correct.
1110511110
apsw.ext.make_virtual_module(self.db, "g1", apsw.ext.generate_series)
1110611111
vals = {row[0] for row in self.db.execute("select value from g1 where start=1 and stop=10")}
1110711112
self.assertEqual(vals, {i for i in range(1, 10 + 1)})
@@ -11120,15 +11125,15 @@ def testExtStuff(self):
1112011125
vals = {row[0] for row in self.db.execute("select value from g2 where start=1 and stop=10")}
1112111126
self.assertEqual(vals, {i for i in range(1, 10 + 1)})
1112211127
vals = {row[0] for row in self.db.execute("select value from g2 where start=1 and stop=10 and step=-1")}
11123-
self.assertEqual(vals, {i for i in range(1, 10 + 1)})
11128+
self.assertEqual(vals, set())
1112411129
vals = {row[0] for row in self.db.execute("select value from g2(1, 10, 2)")}
1112511130
self.assertEqual(vals, {i for i in range(1, 10 + 1, 2)})
1112611131
self.assertEqual(
1112711132
self.db.execute("select *,start,stop from g2(1,10) where step=0").get,
1112811133
self.db.execute("select *,start,stop from g2(1,10) where step=1").get,
1112911134
)
11130-
self.assertRaises(ValueError, self.db.execute, "select * from g2 where stop=10 and step=1")
11131-
self.assertRaises(TypeError, self.db.execute, "select * from g2(0.1, 1, 1)")
11135+
self.assertEqual(None, self.db.execute("select * from g2 where stop=10 and step=1").get)
11136+
self.assertEqual([0, 1], self.db.execute("select * from g2(0.1, 1, 1)").get)
1113211137

1113311138
# https://github.com/rogerbinns/apsw/issues/412
1113411139
apsw.ext.make_virtual_module(self.db, "genseries", apsw.ext.generate_series)

0 commit comments

Comments
 (0)