github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/pragma5.test (about) 1 # 2017 August 25 2 # 3 # The author disclaims copyright to this source code. In place of 4 # a legal notice, here is a blessing: 5 # 6 # May you do good and not evil. 7 # May you find forgiveness for yourself and forgive others. 8 # May you share freely, never taking more than you give. 9 # 10 #*********************************************************************** 11 # This file implements regression tests for SQLite library. 12 # 13 # This file implements tests for the PRAGMA command. Specifically, 14 # those pragmas that are not disabled at build time by setting: 15 # 16 # -DSQLITE_OMIT_INTROSPECTION_PRAGMAS 17 # 18 19 set testdir [file dirname $argv0] 20 source $testdir/tester.tcl 21 set testprefix pragma5 22 23 if { [catch {db one "SELECT count(*) FROM pragma_function_list"}] } { 24 finish_test 25 return 26 } 27 28 db function external external 29 30 do_execsql_test 1.0 { 31 PRAGMA table_info(pragma_function_list) 32 } { 33 0 name {} 0 {} 0 34 1 builtin {} 0 {} 0 35 2 type {} 0 {} 0 36 3 enc {} 0 {} 0 37 4 narg {} 0 {} 0 38 5 flags {} 0 {} 0 39 } 40 do_execsql_test 1.1 { 41 SELECT DISTINCT name, builtin 42 FROM pragma_function_list WHERE name='upper' AND builtin 43 } {upper 1} 44 do_execsql_test 1.2 { 45 SELECT DISTINCT name, builtin 46 FROM pragma_function_list WHERE name LIKE 'exter%'; 47 } {external 0} 48 49 ifcapable fts5 { 50 do_execsql_test 2.0 { 51 PRAGMA table_info(pragma_module_list) 52 } { 53 0 name {} 0 {} 0 54 } 55 do_execsql_test 2.1 { 56 SELECT * FROM pragma_module_list WHERE name='fts5' 57 } {fts5} 58 } 59 60 do_execsql_test 3.0 { 61 PRAGMA table_info(pragma_pragma_list) 62 } { 63 0 name {} 0 {} 0 64 } 65 do_execsql_test 3.1 { 66 SELECT * FROM pragma_pragma_list WHERE name='pragma_list' 67 } {pragma_list} 68 69 70 finish_test