ποΈMigrating from ws4sqlite
Here is a list of changes that need to be done or be aware of when migrating from ws4sqlite.
Changes to the project
License is now Apache v2;
Project is written in Rust, with a profiler written in Java+Bash and a test suite in Go;
Changes to your code
The separator between filename (or database Id in the case of in-memory databases) and YAML file is now
::
instead of a single:
. See here.To refer to a Stored Statement, the
^id
syntax must be used, not#id
. See here.In the queries or statements, parameters cannot be written in the SQL using
@param
anymore;:param
must be used. See here.It's not possible to use
values
andvaluesBatch
in the same request anymore. See here.HTTP
authentication is now namedHTTP_BASIC
(possible future JWT implementation). See here.disableWALMode
is now named as a more genericjournalMode
, for flexibility. See here.Encryption feature is not available anymore. It was effective and standard-based, but too "vertical". Use client-based encryption, if needed.
ScheduledTasks and InitStatements are replaced with the new macro and backup subsystems, that should be more flexible.
There's not a cron-like scheduler anymore; it was very language-dependent. You can use a macro/backup webService with curl and a system crontab.
The backup files' pattern is specified as a backup directory, being intended that all the files in it are subject to deletion. See here.
It is possible to specify the index file when serving a directory. See here.
Other changes
Read-only mode is performed via the
query_only
PRAGMA;When an auth error occurs, both
ws4sqlite
andsqliterg
block the request for 1 second. The difference is thatws4sqlite
blocks also all the other requests on the same database, whilesqliterg
does not.ws4sqlite
's behavior is more prone to DDOS attacks.
Last updated