R-52892-55360-15524-03344-29674-00712-56313-40382 tcl slt th3 src
This routine registers an authorizer callback with a particular database connection, supplied in the first argument.
/* IMP: R-52892-55360 */
# EVIDENCE-OF: R-52892-55360 This routine registers an authorizer # callback with a particular database connection, supplied in the first # argument.
R-49587-58722-22579-11997-14629-64428-05772-29510 tcl slt th3 src
The authorizer callback is invoked as SQL statements are being compiled by sqlite3_prepare() or its variants sqlite3_prepare_v2(), sqlite3_prepare16() and sqlite3_prepare16_v2().
/* IMP: R-49587-58722 */
# EVIDENCE-OF: R-49587-58722 The authorizer callback is invoked as SQL # statements are being compiled by sqlite3_prepare() or its variants # sqlite3_prepare_v2(), sqlite3_prepare16() and sqlite3_prepare16_v2().
R-17683-59594-13579-14757-04762-40863-05270-49270 tcl slt th3 src
At various points during the compilation process, as logic is being created to perform various actions, the authorizer callback is invoked to see if those actions are allowed.
/* IMP: R-17683-59594 */
# EVIDENCE-OF: R-17683-59594 At various points during the compilation # process, as logic is being created to perform various actions, the # authorizer callback is invoked to see if those actions are allowed.
R-31386-03131-57152-48354-62931-03354-07372-50774 tcl slt th3 src
The authorizer callback should return SQLITE_OK to allow the action, SQLITE_IGNORE to disallow the specific action but allow the SQL statement to continue to be compiled, or SQLITE_DENY to cause the entire SQL statement to be rejected with an error.
/* IMP: R-31386-03131 */
# EVIDENCE-OF: R-31386-03131 The authorizer callback should return # SQLITE_OK to allow the action, SQLITE_IGNORE to disallow the specific # action but allow the SQL statement to continue to be compiled, or # SQLITE_DENY to cause the entire SQL statement to be rejected with an # error.
R-64962-58611-23755-17940-51440-03163-56069-63868 tcl slt th3 src
If the authorizer callback returns any value other than SQLITE_IGNORE, SQLITE_OK, or SQLITE_DENY then the sqlite3_prepare_v2() or equivalent call that triggered the authorizer will fail with an error message.
/* IMP: R-64962-58611 */
# EVIDENCE-OF: R-64962-58611 If the authorizer callback returns any # value other than SQLITE_IGNORE, SQLITE_OK, or SQLITE_DENY then the # sqlite3_prepare_v2() or equivalent call that triggered the authorizer # will fail with an error message.
R-04452-49349-54233-41206-52506-27116-05869-21475 tcl slt th3 src
When the callback returns SQLITE_DENY, the sqlite3_prepare_v2() or equivalent call that triggered the authorizer will fail with an error message explaining that access is denied.
/* IMP: R-04452-49349 */
# EVIDENCE-OF: R-04452-49349 When the callback returns SQLITE_DENY, the # sqlite3_prepare_v2() or equivalent call that triggered the authorizer # will fail with an error message explaining that access is denied.
R-38590-62769-37174-11350-15307-56847-39156-23447 tcl slt th3 src
The first parameter to the authorizer callback is a copy of the third parameter to the sqlite3_set_authorizer() interface.
/* IMP: R-38590-62769 */
# EVIDENCE-OF: R-38590-62769 The first parameter to the authorizer # callback is a copy of the third parameter to the # sqlite3_set_authorizer() interface.
R-56518-44310-03576-50973-10041-44259-32136-55602 tcl slt th3 src
The second parameter to the callback is an integer action code that specifies the particular action to be authorized.
th3/th3util.c:843
/* IMP: R-56518-44310 */
# EVIDENCE-OF: R-56518-44310 The second parameter to the callback is an # integer action code that specifies the particular action to be # authorized.
R-36697-25556-10113-60762-16879-48954-19862-42086 tcl slt th3 src
The third through sixth parameters to the callback are zero-terminated strings that contain additional details about the action to be authorized.
/* IMP: R-36697-25556 */
# EVIDENCE-OF: R-36697-25556 The third through sixth parameters to the # callback are zero-terminated strings that contain additional details # about the action to be authorized.
R-38392-49970-12862-30349-17432-31139-60846-54763 tcl slt th3 src
If the action code is SQLITE_READ and the callback returns SQLITE_IGNORE then the prepared statement statement is constructed to substitute a NULL value in place of the table column that would have been read if SQLITE_OK had been returned.
/* IMP: R-38392-49970 */
# EVIDENCE-OF: R-38392-49970 If the action code is SQLITE_READ and the # callback returns SQLITE_IGNORE then the prepared statement statement # is constructed to substitute a NULL value in place of the table column # that would have been read if SQLITE_OK had been returned.
R-17228-37124-21945-03605-09770-36410-30558-62639 tcl slt th3 src
If the action code is SQLITE_DELETE and the callback returns SQLITE_IGNORE then the DELETE operation proceeds but the truncate optimization is disabled and all rows are deleted individually.
/* IMP: R-17228-37124 */
# EVIDENCE-OF: R-17228-37124 If the action code is SQLITE_DELETE and the # callback returns SQLITE_IGNORE then the DELETE operation proceeds but # the truncate optimization is disabled and all rows are deleted # individually.
R-03993-24285-31190-14311-07438-62351-52230-47181 tcl slt th3 src
Only a single authorizer can be in place on a database connection at a time. Each call to sqlite3_set_authorizer overrides the previous call.
/* IMP: R-03993-24285 */
# EVIDENCE-OF: R-03993-24285 Only a single authorizer can be in place on # a database connection at a time. Each call to sqlite3_set_authorizer # overrides the previous call.
R-52112-44167-29557-32082-32253-19519-12143-63610 tcl slt th3 src
Disable the authorizer by installing a NULL callback.
/* IMP: R-52112-44167 */
# EVIDENCE-OF: R-52112-44167 Disable the authorizer by installing a NULL # callback.
R-45052-47506-16194-46831-63738-43272-24543-14451 tcl slt th3 src
When sqlite3_prepare_v2() is used to prepare a statement, the statement might be re-prepared during sqlite3_step() due to a schema change.
/* IMP: R-45052-47506 */
# EVIDENCE-OF: R-45052-47506 When sqlite3_prepare_v2() is used to # prepare a statement, the statement might be re-prepared during # sqlite3_step() due to a schema change.
R-13091-00020-15519-35390-14824-01225-60609-32585 tcl slt th3 src
Note that the authorizer callback is invoked only during sqlite3_prepare() or its variants.
/* IMP: R-13091-00020 */
# EVIDENCE-OF: R-13091-00020 Note that the authorizer callback is # invoked only during sqlite3_prepare() or its variants.