WARNING: the informations in this page refer to tagsistant 0.2. Starting from tagsistant 0.4 development cycle, this informations are obsolete.
Tagsistant uses SQLite to store informations, starting from revision 23. Tags and relations are stored in two tables, the first asserting the existance of a tag while the second stating that a file has been tagged.
Let's see the schema used. First table is called tags:
id | integer primary key autoincrement not null |
tagname | varchar unique not null |
This table id values are later used in tagged table to bind tags and contents:
id | integer primary key autoincrement not null |
tagname | varchar not null |
filename | varchar not null |
filename is the name of the file relative to archive/ directory.
Every query is also cached in a separate table, with following schema:
id | integer primary key autoincrement not null |
path | text not null |
age | datetime not null |
Of course, the age column act as a timestamp to discard old queries. Query results are stored in a separate table which joins with this one on id column. This is the schema:
id | integer not null |
age | datetime not null |
path | varchar not null |
As you can see, single results are timestamped too.