mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-18 06:24:56 +01:00
add tests for page_size pragma
This commit is contained in:
@@ -169,3 +169,35 @@ do_execsql_test pragma-function-sql-injection {
|
||||
SELECT * FROM pragma_table_info('sqlite_schema'';CREATE TABLE foo(c0);SELECT ''bar');
|
||||
SELECT * FROM pragma_table_info('foo');
|
||||
} {}
|
||||
|
||||
do_execsql_test_on_specific_db ":memory:" pragma-page-size-default {
|
||||
PRAGMA page_size
|
||||
} {4096}
|
||||
|
||||
do_execsql_test_on_specific_db ":memory:" pragma-page-size-set {
|
||||
PRAGMA page_size=1024;
|
||||
PRAGMA page_size
|
||||
} {1024}
|
||||
|
||||
# pragma page_size=xxx doesn't change the page size of an initialized database.
|
||||
do_execsql_test_on_specific_db ":memory:" pragma-page-size-set-initialized-db {
|
||||
CREATE TABLE "foo bar"(c0);
|
||||
|
||||
PRAGMA page_size=1024;
|
||||
PRAGMA page_size
|
||||
} {4096}
|
||||
|
||||
# pragma page_size=xxx changes the page size of an uninitialized database and persists the change.
|
||||
set test_pragma_page_size_db "testing/testing_pragma_page_size.db"
|
||||
# set user_version to trigger database initialization.
|
||||
do_execsql_test_on_specific_db $test_pragma_page_size_db pragma-page-size-set-initialized-db-1 {
|
||||
PRAGMA page_size=1024;
|
||||
PRAGMA user_version=1;
|
||||
PRAGMA page_size
|
||||
} {1024}
|
||||
|
||||
do_execsql_test_on_specific_db $test_pragma_page_size_db pragma-page-size-set-uninitialized-db-2 {
|
||||
PRAGMA page_size
|
||||
} {1024}
|
||||
catch {file delete -force $test_pragma_page_size_db}
|
||||
catch {file delete -force "${test_pragma_page_size_db}-wal"}
|
||||
|
||||
Reference in New Issue
Block a user