Enhance the command-line completion extension to return the names of
[sqlite.git] / test / pragma5.test
blobd2c58000cf70f1601651c6d45707fb5a57c68391
1 # 2017 August 25
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
13 # This file implements tests for the PRAGMA command. Specifically,
14 # those pragmas enabled at build time by setting:
16 #   -DSQLITE_INTROSPECTION_PRAGMAS
19 set testdir [file dirname $argv0]
20 source $testdir/tester.tcl
21 set testprefix pragma5
23 if { [catch {db one "SELECT count(*) FROM pragma_function_list"}] } {
24   finish_test
25   return
28 db function external external
30 do_execsql_test 1.0 {
31   PRAGMA table_info(pragma_function_list)
32 } {
33   0 name {} 0 {} 0 
34   1 builtin {} 0 {} 0
36 do_execsql_test 1.1 {
37   SELECT * FROM pragma_function_list WHERE name='upper' AND builtin
38 } {upper 1}
39 do_execsql_test 1.2 {
40   SELECT * FROM pragma_function_list WHERE name LIKE 'exter%';
41 } {external 0}
43 ifcapable fts5 {
44   do_execsql_test 2.0 {
45     PRAGMA table_info(pragma_module_list)
46   } {
47     0 name {} 0 {} 0 
48   }
49   do_execsql_test 2.1 {
50     SELECT * FROM pragma_module_list WHERE name='fts5'
51   } {fts5}
54 do_execsql_test 3.0 {
55   PRAGMA table_info(pragma_pragma_list)
56 } {
57   0 name {} 0 {} 0 
59 do_execsql_test 3.1 {
60   SELECT * FROM pragma_pragma_list WHERE name='pragma_list'
61 } {pragma_list}
64 finish_test