# 2006 June 10 # # 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. # # $Id: vtab2.test,v 1.6 2006/08/13 19:04:19 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl ifcapable !vtab||!schema_pragmas { finish_test return } register_schema_module [sqlite3_connection_pointer db] do_test vtab2-1.1 { execsql { CREATE VIRTUAL TABLE schema USING schema; SELECT * FROM schema; } } [list \ main schema 0 database {} 0 {} 0 \ main schema 1 tablename {} 0 {} 0 \ main schema 2 cid {} 0 {} 0 \ main schema 3 name {} 0 {} 0 \ main schema 4 type {} 0 {} 0 \ main schema 5 not_null {} 0 {} 0 \ main schema 6 dflt_value {} 0 {} 0 \ main schema 7 pk {} 0 {} 0 \ ] register_tclvar_module [sqlite3_connection_pointer db] do_test vtab2-2.1 { set ::abc 123 execsql { CREATE VIRTUAL TABLE vars USING tclvar; SELECT * FROM vars WHERE name='abc'; } } [list abc "" 123] do_test vtab2-2.2 { set A(1) 1 set A(2) 4 set A(3) 9 execsql { SELECT * FROM vars WHERE name='A'; } } [list A 1 1 A 2 4 A 3 9] unset -nocomplain result unset -nocomplain var set result {} foreach var [lsort [info vars tcl_*]] { catch {lappend result $var [set $var]} } do_test vtab2-2.3 { execsql { SELECT name, value FROM vars WHERE name MATCH 'tcl_*' AND arrayname = '' ORDER BY name; } } $result unset result unset var finish_test