###############################################################################
#
# tkt-5251bd0878.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-5251bd0878-1.1 {indexed expressions schema} -setup {
setupDb [set fileName tkt-5251bd0878-1.1.db]
} -body {
set connection [getDbConnection]
sql execute $db {
CREATE TABLE t1(x INTEGER PRIMARY KEY, y INTEGER);
INSERT INTO t1 (y) VALUES (-2000);
INSERT INTO t1 (y) VALUES (-1000);
INSERT INTO t1 (y) VALUES (-200);
INSERT INTO t1 (y) VALUES (-100);
INSERT INTO t1 (y) VALUES (-20);
INSERT INTO t1 (y) VALUES (-10);
INSERT INTO t1 (y) VALUES (0);
INSERT INTO t1 (y) VALUES (10);
INSERT INTO t1 (y) VALUES (20);
INSERT INTO t1 (y) VALUES (100);
INSERT INTO t1 (y) VALUES (200);
INSERT INTO t1 (y) VALUES (1000);
INSERT INTO t1 (y) VALUES (2000);
INSERT INTO t1 (y) VALUES (10000);
INSERT INTO t1 (y) VALUES (20000);
CREATE INDEX i1 ON t1(x, abs(y));
}
set dataReader [sql execute -execute reader -format datareader \
-alias $db "SELECT x, y FROM t1;"]
set dataTable [$dataReader -alias GetSchemaTable]
set result [list]
foreach row [getRowsFromDataTable $dataTable] {
foreach column $row {
if {[lindex $column 0] in [list ColumnName IsKey]} then {
lappend result $column
}
}
}
set result
} -cleanup {
unset -nocomplain dataTable dataReader
cleanupDb $fileName
freeDbConnection
unset -nocomplain column row result connection db fileName
} -constraints {eagle command.object monoBug28 monoBug211 command.sql\
compile.DATA SQLite System.Data.SQLite} -result {{ColumnName x} {IsKey True}\
{ColumnName y} {IsKey False}}}
###############################################################################
runSQLiteTestEpilogue
runTestEpilogue