############################################################################### # # tkt-f8dbab8baf.eagle -- # # Written by Joe Mistachkin. # Released to the public domain, use at your own risk! # ############################################################################### package require Eagle package require Eagle.Library package require Eagle.Test runTestPrologue ############################################################################### package require System.Data.SQLite.Test runSQLiteTestPrologue ############################################################################### runTest {test tkt-f8dbab8baf-1.1 {SchemaOnly with CREATE TABLE} -setup { setupDb [set fileName tkt-f8dbab8baf-1.1.db] } -body { sql execute -execute reader -format none -behavior SchemaOnly $db \ "CREATE TABLE t1(x);" isTableInDb t1 } -cleanup { cleanupDb $fileName unset -nocomplain db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {False}} ############################################################################### runTest {test tkt-f8dbab8baf-1.2 {SchemaOnly with ALTER TABLE} -setup { setupDb [set fileName tkt-f8dbab8baf-1.2.db] } -body { sql execute $db "CREATE TABLE t1(x);" sql execute -execute reader -format none -behavior SchemaOnly $db \ "ALTER TABLE t1 RENAME TO t2;" list [isTableInDb t1] [isTableInDb t2] } -cleanup { cleanupDb $fileName unset -nocomplain db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {True False}} ############################################################################### runTest {test tkt-f8dbab8baf-1.3 {SchemaOnly with DROP TABLE} -setup { setupDb [set fileName tkt-f8dbab8baf-1.3.db] } -body { sql execute $db "CREATE TABLE t1(x);" sql execute -execute reader -format none -behavior SchemaOnly $db \ "DROP TABLE t1;" isTableInDb t1 } -cleanup { cleanupDb $fileName unset -nocomplain db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {True}} ############################################################################### runTest {test tkt-f8dbab8baf-1.4 {CREATE/SELECT success} -setup { setupDb [set fileName tkt-f8dbab8baf-1.4.db] } -body { sql execute -execute reader $db { CREATE TABLE t1(x); INSERT INTO t1 (x) VALUEs(1); SELECT x FROM t1; } list [isTableInDb t1] \ [expr {[info exists rows(count)] ? $rows(count) : -1}] \ [expr {[info exists rows(names)] ? $rows(names) : ""}] } -cleanup { cleanupDb $fileName unset -nocomplain rows db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {True 1 x}} ############################################################################### runTest {test tkt-f8dbab8baf-1.5 {SchemaOnly CREATE/SELECT success} -setup { setupDb [set fileName tkt-f8dbab8baf-1.5.db] } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUEs(1);" sql execute -execute reader -behavior SchemaOnly $db "SELECT x FROM t1;" list [isTableInDb t1] \ [expr {[info exists rows(count)] ? $rows(count) : -1}] \ [expr {[info exists rows(names)] ? $rows(names) : ""}] } -cleanup { cleanupDb $fileName unset -nocomplain rows db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {True 0 x}} ############################################################################### runTest {test tkt-f8dbab8baf-1.6 {SchemaOnly CREATE/SELECT failure} -setup { setupDb [set fileName tkt-f8dbab8baf-1.6.db] } -body { sql execute -execute reader -format none -behavior SchemaOnly $db \ "CREATE TABLE t1(x); SELECT x FROM t1;" list [isTableInDb t1] \ [expr {[info exists rows(count)] ? $rows(count) : -1}] \ [expr {[info exists rows(names)] ? $rows(names) : ""}] } -cleanup { cleanupDb $fileName unset -nocomplain rows db fileName } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -returnCodes 1 -match regexp -result [string map [list \n \r\n] \ {^System\.Data\.SQLite\.SQLiteException \(0x80004005\): SQL logic error or\ missing database no such table: t1.*$}]} ############################################################################### runSQLiteTestEpilogue runTestEpilogue