From c2639c4eb8268691f8063713bcd2d7debce5075e Mon Sep 17 00:00:00 2001 From: Matt <1009003+tantaman@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:20:32 -0500 Subject: [PATCH] test case for alter perf --- py/correctness/test.sh | 2 +- .../tests/test_commit_alter_perf.py | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 py/correctness/tests/test_commit_alter_perf.py diff --git a/py/correctness/test.sh b/py/correctness/test.sh index 5b27078b5..eb442a6c9 100755 --- a/py/correctness/test.sh +++ b/py/correctness/test.sh @@ -2,4 +2,4 @@ # source env/bin/activate # python -m pytest tests -s -k test_cl_merging -python3 -m pytest tests -s +python3 -m pytest tests -s -k test_commit_alter_perf diff --git a/py/correctness/tests/test_commit_alter_perf.py b/py/correctness/tests/test_commit_alter_perf.py new file mode 100644 index 000000000..b21b3a54d --- /dev/null +++ b/py/correctness/tests/test_commit_alter_perf.py @@ -0,0 +1,32 @@ +from crsql_correctness import connect, close, min_db_v +from pprint import pprint +import pytest +import time + +def test_commit_alter_perf(): + c = connect(":memory:") + c.execute("CREATE TABLE issue (id INTEGER PRIMARY KEY NOT NULL, title TEXT, owner TEXT, status INTEGER, priority INTEGER)") + c.execute("SELECT crsql_as_crr('issue')") + c.commit() + + start_time = time.time() + for i in range(10_000): + c.execute("INSERT INTO issue (title, owner, status, priority) VALUES ('title', 'owner', 1, 1)") + c.commit() + end_time = time.time() + print(f"insert time: {end_time - start_time}") + + start_time = time.time() + c.execute("SELECT crsql_begin_alter('issue')") + c.execute("SELECT crsql_commit_alter('issue')") + end_time = time.time() + print(f"no alter alter time: {end_time - start_time}") + + start_time = time.time() + c.execute("SELECT crsql_begin_alter('issue')") + c.execute("ALTER TABLE issue ADD COLUMN description TEXT") + c.execute("SELECT crsql_commit_alter('issue')") + end_time = time.time() + print(f"alter add col time: {end_time - start_time}") + + None \ No newline at end of file