Skip to content

Commit

Permalink
update perf, add rollback test
Browse files Browse the repository at this point in the history
  • Loading branch information
tantaman committed Sep 6, 2023
1 parent 808aeb4 commit 9502291
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 18 deletions.
34 changes: 32 additions & 2 deletions py/correctness/tests/test_dbversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,41 @@ def test_each_tx_gets_a_version():
c.execute("insert into foo values (1, 2)")
c.execute("insert into foo values (2, 2)")
c.commit()
c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v + 1
assert c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v + 1

c.execute("insert into foo values (3, 2)")
c.execute("insert into foo values (4, 2)")
c.commit()
c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v + 2
assert c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v + 2

close(c)


def test_rollback_does_not_move_db_version():
c = connect(":memory:")

c.execute("create table foo (id primary key, a)")
c.execute("select crsql_as_crr('foo')")

c.execute("insert into foo values (1, 2)")
c.execute("insert into foo values (2, 2)")
c.rollback()
assert c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v

c.execute("insert into foo values (3, 2)")
c.execute("insert into foo values (4, 2)")
c.rollback()
assert c.execute("SELECT crsql_db_version()").fetchone()[
0] == min_db_v

c.execute("insert into foo values (1, 2)")
c.execute("insert into foo values (2, 2)")
c.commit()
assert c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v + 1

c.execute("insert into foo values (3, 2)")
c.execute("insert into foo values (4, 2)")
c.commit()
assert c.execute("SELECT crsql_db_version()").fetchone()[0] == min_db_v + 2

close(c)
Loading

0 comments on commit 9502291

Please sign in to comment.