Connection to a SQLite3 database is established by invoking tdbc::sqlite3::connection create, passing it a string to be used as the connection handle followed by the file name of the database. The side effect of tdbc::sqlite3::connection create is to create a new database connection.. As an alternative, tdbc::sqlite::connection new may be used to create a database connection with an automatically assigned name. The return value from tdbc::sqlite::connection new is the name that was chosen for the connection handle. See tdbc::connection(n) for the details of how to use the connection to manipulate a database.
Since the encoding of a SQLite3 database is always well known, the -encoding option accepts only utf-8 as an encoding and always returns utf-8 for an encoding. The actual encoding may be set using a SQLite3 PRAGMA statement when creating a new database.
Only the isolation levels readuncommitted and serializable are implemented. Other isolation levels are promoted to serializable.
The -readonly flag is not implemented. A false boolean value is accepted silently, while any other value reports an error.
The -keepcase flag is special and controls how table and column names are reported in the various methods to retrieve database metadata. By default the flag is zero, i.e. table and column names are reported all lower case. Otherwise, table and column names are reported as defined in the database.