Hey guys,

The docs for PRAGMA page_size say that it is effective if issued "prior to
the first CREATE statement". So imagine my surprise when I found page_size
to be ineffective without ever issuing a CREATE statement!

The sequence goes like so:

$ rm /tmp/lol.db; sqlite3 /tmp/lol.db
SQLite version 3.8.1 2013-10-17 12:57:35
sqlite> BEGIN;
sqlite> select count(*) from sqlite_master;
0
sqlite> pragma page_size = 8192;
sqlite> pragma page_size;
1024

1024? That's not what I asked for! This variant also fails:

$ rm /tmp/lol.db; sqlite3 /tmp/lol.db
SQLite version 3.8.1 2013-10-17 12:57:35
sqlite> BEGIN;
sqlite> pragma schema_version;
0
sqlite> pragma page_size = 8192;
sqlite> pragma page_size;
1024

No create statements in sight, and the behaviour is also present in 3.13.0.

It's not really a big deal to move the page_size pragma earlier, but at the
very least I think it at least deserves a hint in the documentation that
operations other than CREATE statements can render it ineffective.

Cheers,
-Rowan
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to