realrolfje/anonimatron

Check if SQLite is supported

Opened this issue · 5 comments

  • Check to see if SQLite is supported by the current detection mechanism
  • Add example strings to the config if missing
  • Add SQLite to the documentation and github.io pages

Hello,

I would like to use sqlitedb . Please let me know whether this support is already in place .

Hello subeeshes, thanks for reminding me. sqlitedb is not yet part of the supported driver list. I expect it to work without too much problems, I'll try to add it to the next release (I have two bugfixes that need to be released)

Thank you @realrolfje

Anonimatron currently works with a concurrent updatable resultset. This allows for fast processing of records, as we run with a cursor through the resultset we can anonymize data in-place.

SQLite does not support this use of resultset cursors due to technical limitations.

When running Anonimatron against an SQLite jdbc url, it throws the following error:

java.lang.RuntimeException: java.sql.SQLException: SQLite only supports CONCUR_READ_ONLY cursors
	at com.rolfje.anonimatron.jdbc.JdbcAnonymizerService.processTableColumns(JdbcAnonymizerService.java:222)

To be able to support SQLite databases, Anonimatron must be able to:

  1. Detect wether the resultset is updatable
  2. If the resultset is not updatable, generate update statements.
  3. Run the update statements against the database, possibly in a separate connection or second run.

@realrolfje . Yes, I also went through the code. Looks like there is some major code change needed.

This is just for your info. The reason I am looking for sqlite3 is it helps to make file which is portable easily and it run without any DB server running on machine. This mainly helps in the automation and continuous delivery of the anonymized database file. sqlite3 is also having a lots of DB conversion tools to other DB which makes us to use it as a common delivery mechanism.