AryaWu/sqlite
0
1# 2017 August 252#3# The author disclaims copyright to this source code. In place of4# 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_PRAGMAS17#18 19set testdir [file dirname $argv0]20source $testdir/tester.tcl21set testprefix pragma522 23if { [catch {db one "SELECT count(*) FROM pragma_function_list"}] } {24 finish_test25 return26}27 28db function external external29 30do_execsql_test 1.0 {31 PRAGMA table_info(pragma_function_list)32} {33 0 name {} 0 {} 0 34 1 builtin {} 0 {} 035 2 type {} 0 {} 036 3 enc {} 0 {} 037 4 narg {} 0 {} 038 5 flags {} 0 {} 039}40do_execsql_test 1.1 {41 SELECT DISTINCT name, builtin42 FROM pragma_function_list WHERE name='upper' AND builtin43} {upper 1}44do_execsql_test 1.2 {45 SELECT DISTINCT name, builtin46 FROM pragma_function_list WHERE name LIKE 'exter%';47} {external 0}48 49ifcapable 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 60do_execsql_test 3.0 {61 PRAGMA table_info(pragma_pragma_list)62} {63 0 name {} 0 {} 0 64}65do_execsql_test 3.1 {66 SELECT * FROM pragma_pragma_list WHERE name='pragma_list'67} {pragma_list}68 69 70finish_test71 