We have the sqlite3.set_authorizer function, where the first argument to its callback is one of the Authorizer Action Codes that the SQLite documentations defines[1]. However, the constants in the sqlite3 module is not up to date. The code in _sqlite/module.c haven't been updated since June, 2006. According to the SQLite Changelog[2] and digging through the history, * 2006-08-12 (3.3.7) added SQLITE_CREATE_VTABLE, SQLITE_DROP_VTABLE * 2006-10-09 (3.3.8) added SQLITE_FUNCTION * 2009-01-12 (3.6.8) added SQLITE_SAVEPOINT * 2014-02-03 (3.8.3) added SQLITE_RECURSIVE The constants above should be present in the module. The documentation[3] says, "All necessary constants are available in the sqlite3 module." [1] https://sqlite.org/c3ref/c_alter_table.html [2] https://sqlite.org/changes.html [3] https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.set_authorizer
Looks good to me. Thanks for the patch, Dingyuan. Since this is an enhancement request, we can only commit your patch to the default branch so I updated the versions field accordingly.