📄 auth2.test
字号:
# 2006 Aug 24## The author disclaims copyright to this source code. In place of# a legal notice, here is a blessing:## May you do good and not evil.# May you find forgiveness for yourself and forgive others.# May you share freely, never taking more than you give.##***********************************************************************# This file implements regression tests for SQLite library. The# focus of this script is testing the sqlite3_set_authorizer() API# and related functionality.## $Id: auth2.test,v 1.1 2006/08/24 14:59:46 drh Exp $#set testdir [file dirname $argv0]source $testdir/tester.tcl# disable this test if the SQLITE_OMIT_AUTHORIZATION macro is# defined during compilation.if {[catch {db auth {}} msg]} { finish_test return}do_test auth2-1.1 { execsql { CREATE TABLE t1(a,b,c); INSERT INTO t1 VALUES(1,2,3); } set ::flist {} proc auth {code arg1 arg2 arg3 arg4} { if {$code=="SQLITE_FUNCTION"} { lappend ::flist $arg2 if {$arg2=="max"} { return SQLITE_DENY } elseif {$arg2=="min"} { return SQLITE_IGNORE } else { return SQLITE_OK } } return SQLITE_OK } db authorizer ::auth catchsql {SELECT max(a,b,c) FROM t1}} {1 {not authorized to use function: max}}do_test auth2-1.2 { set ::flist} maxdo_test auth2-1.3 { set ::flist {} catchsql {SELECT min(a,b,c) FROM t1}} {0 {{}}}do_test auth2-1.4 { set ::flist} mindo_test auth2-1.5 { set ::flist {} catchsql {SELECT coalesce(min(a,b,c),999) FROM t1}} {0 999}do_test auth2-1.6 { set ::flist} {coalesce min}do_test auth2-1.7 { set ::flist {} catchsql {SELECT coalesce(a,b,c) FROM t1}} {0 1}do_test auth2-1.8 { set ::flist} coalescefinish_test
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -