溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQLite 授權(quán)動作編碼(AuthorizerAction

發(fā)布時間:2020-02-25 23:15:02 來源:網(wǎng)絡(luò) 閱讀:289 作者:fengyuzaitu 欄目:數(shù)據(jù)庫

本文主要與注冊授權(quán)回調(diào)函數(shù)相關(guān):sqlite3_set_authorizer 詳細(xì)的調(diào)用方式,請參考其他的章節(jié)??!


摘自:https://www.sqlite.org/c3ref/c_alter_table.html

?
/*******************************************3rd ************ 4th ***********/
#define SQLITE_CREATE_INDEX????????? 1? /* Index Name????? Table Name????? */
#define SQLITE_CREATE_TABLE????????? 2? /* Table Name????? NULL??????????? */
#define SQLITE_CREATE_TEMP_INDEX???? 3? /* Index Name????? Table Name????? */
#define SQLITE_CREATE_TEMP_TABLE???? 4? /* Table Name????? NULL??????????? */
#define SQLITE_CREATE_TEMP_TRIGGER?? 5?? /*Trigger Name??? Table Name????? */
#define SQLITE_CREATE_TEMP_VIEW????? 6? /* View Name?????? NULL??????????? */
#define SQLITE_CREATE_TRIGGER??????? 7? /* Trigger Name??? Table Name????? */
#define SQLITE_CREATE_VIEW?????????? 8? /* View Name?????? NULL??????????? */
#define SQLITE_DELETE??????????????? 9?? /* Table Name????? NULL??????????? */
#define SQLITE_DROP_INDEX?????????? 10? /* Index Name????? Table Name????? */
#define SQLITE_DROP_TABLE?????????? 11? /* Table Name????? NULL??????????? */
#define SQLITE_DROP_TEMP_INDEX????? 12? /* Index Name????? Table Name????? */
#define SQLITE_DROP_TEMP_TABLE????? 13? /* Table Name????? NULL??????????? */
#define SQLITE_DROP_TEMP_TRIGGER??? 14? /* Trigger Name??? Table Name????? */
#define SQLITE_DROP_TEMP_VIEW?????? 15? /* View Name?????? NULL??????????? */
#define SQLITE_DROP_TRIGGER???????? 16? /* Trigger Name??? Table Name????? */
#define SQLITE_DROP_VIEW??????????? 17? /* View Name?????? NULL??????????? */
#define SQLITE_INSERT?????????????? 18?? /* Table Name????? NULL??????????? */
#define SQLITE_PRAGMA?????????????? 19?? /* Pragma Name???? 1st arg or NULL */
#define SQLITE_READ???????????????? 20?? /* Table Name????? Column Name???? */
#define SQLITE_SELECT?????????????? 21?? /* NULL??????????? NULL??????????? */
#define SQLITE_TRANSACTION????????? 22? /* Operation?????? NULL??????????? */
#define SQLITE_UPDATE?????????????? 23?? /* Table Name????? Column Name???? */
#define SQLITE_ATTACH?????????????? 24?? /* Filename??????? NULL??????????? */
#define SQLITE_DETACH?????????????? 25?? /* Database Name?? NULL??????????? */
#define SQLITE_ALTER_TABLE????????? 26? /* Database Name?? Table Name????? */
#define SQLITE_REINDEX????????????? 27?? /* Index Name????? NULL??????????? */
#define SQLITE_ANALYZE????????????? 28?? /* Table Name????? NULL??????????? */
#define SQLITE_CREATE_VTABLE??????? 29? /* Table Name????? ModuleName???? */
#define SQLITE_DROP_VTABLE????????? 30? /* Table Name????? ModuleName???? */
#define SQLITE_FUNCTION???????????? 31?? /* NULL??????????? Function Name?? */
#define SQLITE_SAVEPOINT??????????? 32? /* Operation?????? SavepointName? */
#define SQLITE_COPY????????????????? 0?? /* No longer used */
#define SQLITE_RECURSIVE??????????? 33? /* NULL??????????? NULL??????????? */


????????sqlite3_set_authorizer接口注冊一個回調(diào)函數(shù),該回調(diào)函數(shù)將被調(diào)用去授權(quán)執(zhí)行SQL語句。回調(diào)函數(shù)的第二個參數(shù)是一個整型,指定了那些操作是被授權(quán)的,這些整型的動作編碼(integer action codes)是回調(diào)函數(shù)可以通過的。
這些動作編號值指定了哪種操作是被允許的。第三和第四個參數(shù)是否為NULL,還是其他的參數(shù),完全依賴于第二個參數(shù)的設(shè)置,第五個參數(shù)是數(shù)據(jù)庫的名稱(main,temp,或者其他)if applicable.第六個參數(shù)嘗試訪問的內(nèi)置觸發(fā)器或者視圖,當(dāng)然如果為NULL,表示嘗試訪問來自于最高級的SQL編碼(The 6th parameter to the authorizer callback is the nameof the inner-most trigger or view that is responsible for the access attempt orNULL if this access attempt is directly from top-level SQL code).

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI