Commit 243c1a0f authored by Julien Muchembled's avatar Julien Muchembled

sqlite: optimize storage of metadata

This makes commit 3c7a3160
(storage: speed up reads by indexing 'obj' primarily by 'oid')
effective for SQLite.

The fake changes in test data are because we don't force upgrade
for this optimization.
parent 49e7d17f
...@@ -179,7 +179,8 @@ class SQLiteDatabaseManager(DatabaseManager): ...@@ -179,7 +179,8 @@ class SQLiteDatabaseManager(DatabaseManager):
description BLOB NOT NULL, description BLOB NOT NULL,
ext BLOB NOT NULL, ext BLOB NOT NULL,
ttid INTEGER NOT NULL, ttid INTEGER NOT NULL,
PRIMARY KEY (partition, tid)) PRIMARY KEY (partition, tid)
) WITHOUT ROWID
""" """
# The table "obj" stores committed object metadata. # The table "obj" stores committed object metadata.
...@@ -189,7 +190,8 @@ class SQLiteDatabaseManager(DatabaseManager): ...@@ -189,7 +190,8 @@ class SQLiteDatabaseManager(DatabaseManager):
tid INTEGER NOT NULL, tid INTEGER NOT NULL,
data_id INTEGER, data_id INTEGER,
value_tid INTEGER, value_tid INTEGER,
PRIMARY KEY (partition, oid, tid)) PRIMARY KEY (partition, oid, tid)
) WITHOUT ROWID
""" """
index_dict['obj'] = ( index_dict['obj'] = (
"CREATE INDEX %s ON %s(partition, tid, oid)", "CREATE INDEX %s ON %s(partition, tid, oid)",
......
...@@ -48,7 +48,9 @@ CREATE TABLE trans ( ...@@ -48,7 +48,9 @@ CREATE TABLE trans (
description BLOB NOT NULL, description BLOB NOT NULL,
ext BLOB NOT NULL, ext BLOB NOT NULL,
ttid INTEGER NOT NULL, ttid INTEGER NOT NULL,
PRIMARY KEY (partition, tid)); PRIMARY KEY (partition, tid)
) WITHOUT ROWID
;
INSERT INTO "trans" VALUES(1,231616946283203125,0,X'0000000000000000',X'',X'',X'',231616946283203125); INSERT INTO "trans" VALUES(1,231616946283203125,0,X'0000000000000000',X'',X'',X'',231616946283203125);
CREATE TABLE ttrans ( CREATE TABLE ttrans (
partition INTEGER NOT NULL, partition INTEGER NOT NULL,
......
...@@ -48,7 +48,9 @@ CREATE TABLE trans ( ...@@ -48,7 +48,9 @@ CREATE TABLE trans (
description BLOB NOT NULL, description BLOB NOT NULL,
ext BLOB NOT NULL, ext BLOB NOT NULL,
ttid INTEGER NOT NULL, ttid INTEGER NOT NULL,
PRIMARY KEY (partition, tid)); PRIMARY KEY (partition, tid)
) WITHOUT ROWID
;
CREATE TABLE ttrans ( CREATE TABLE ttrans (
partition INTEGER NOT NULL, partition INTEGER NOT NULL,
tid INTEGER NOT NULL, tid INTEGER NOT NULL,
......
...@@ -46,7 +46,9 @@ CREATE TABLE trans ( ...@@ -46,7 +46,9 @@ CREATE TABLE trans (
description BLOB NOT NULL, description BLOB NOT NULL,
ext BLOB NOT NULL, ext BLOB NOT NULL,
ttid INTEGER NOT NULL, ttid INTEGER NOT NULL,
PRIMARY KEY (partition, tid)); PRIMARY KEY (partition, tid)
) WITHOUT ROWID
;
CREATE TABLE ttrans ( CREATE TABLE ttrans (
partition INTEGER NOT NULL, partition INTEGER NOT NULL,
tid INTEGER NOT NULL, tid INTEGER NOT NULL,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment