====== Sqlite ======
===== About =====
''Tabulify'' supports the [[https://www.sqlite.org/index.html|sqlite]] [[docs:system:relational|relational database]] as a [[docs:system:system|system]]
If you don't have any knowledge of ''Tabulify'', you can start with the [[howto:getting_started:getting_started|Learning Guide]],
otherwise you can also browser the [[howto:database:database|relational database Howto's]]
===== Connection =====
To create a ''Sqlite'' connection, you have the following possibilities
In a [[docs:conf:vault|Connection Vault]], to define a sqlite [[docs:connection:connection|connection]] with the name ''mySqlite'', you would write:
\\
* On Linux
[mySqlite]
url = jdbc\:sqlite\:////home/leo/work/mydatabase.db
driver = org.sqlite.JDBC
* On Windows
[mySqlite]
url = jdbc\:sqlite\:///C\:/Users/user/AppData/Local/tabulify/sqlite.db
driver = org.sqlite.JDBC
With the [[docs:tabli:connection:add|tabli add command of the connection module]], adding a Sqlite connection with the name ''sqliteConnectionName'':
* On Windows
tabli connection add "sqliteConnectionName" "jdbc:sqlite:C:/work/mydatabase.db"
* On Linux
tabli connection add "sqliteConnectionName" "jdbc:sqlite:/home/leo/work/mydatabase.db"
===== Data Type =====
''Sqlite'' does not support natively the following data types.
''Tabulify'' supports them with an added layer of functionalities and you can read on this pages how they are managed by ''Tabulify'':
* [[time]]
* [[boolean]]
Due to the data type affinity system of Sqlite that defined the data type by cell, it's possible to have no data type definition on a column.
If this is the case, the data type of the column is null and we infer it then to be a string (''varchar'').
===== Driver =====
The driver used is the [[https://github.com/xerial/sqlite-jdbc|Xerial one]]