Hello!
Your application will need to be modified to be used with LiteSync:
- It should have just a single connection to the database, used for both read and writes
- I suspect that
mmap
cannot be used
- The journal mode is already set to WAL by LiteSync, so your app does not need to set it
The extensions you cited are all OK to use with it. JSON is already enabled by default.
AUTOINCREMENT should not be used.
The row ids (64 bit) are numbered differently when a table is declared as INTEGER PRIMARY KEY: they are composed of the node id (32 bit) + sequential part (32 bit).
It is possible to see this more clearly when viewing the row ids in hex format:
select printf('%llx', id), * from table
This is to avoid collision on insertion of rows, because LiteSync allows many nodes to insert to tables even when they are off-line.
These limitations are the tradeoff for the synchronization feature and off-line read and write. Now you can weigh the pros and cons
If you have other questions, feel comfortable to ask