blob: 0e91718f2c37bf0b0a8ea84e7dba21a0cf9bf0ac [file] [log] [blame] [edit]
# 2015-06-02
#
# 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. The
# focus of this file is type affinity and the affinity() built-in
# function.
#
set testdir [file dirname $argv0]
source $testdir/tester.tcl
set ::testprefix affinity1
do_execsql_test 100 {
CREATE TABLE t1(
c01 INT,
c02 INTEGER,
c03 TINYINT,
c04 SMALLINT,
c05 MEDIUMINT,
c06 BIGINT,
c07 UNSIGNED BIG INT,
c08 INT2,
c09 INT4,
c10 CHARACTER(20),
c11 VARCHAR(255),
c12 VARYING CHARACTER(255),
c13 NCHAR(55),
c14 NATIVE CHARACTER(70),
c15 NVARCHAR(100),
c16 TEXT,
c17 CLOB,
c20 BLOB,
c21,
c30 REAL,
c31 DOUBLE,
c32 DOUBLE PRECISION,
c33 FLOAT,
c40 NUMERIC,
c41 DECIMAL(10,5),
c42 BOOLEAN,
c43 DATE,
c44 DATETIME,
c50 FLOATING POINT,
c60 STRING
);
INSERT INTO t1 DEFAULT VALUES;
} {}
do_execsql_test 201 {
SELECT affinity(c01), affinity(c01+1), affinity(+c01) FROM t1;
} {INTEGER {} {}}
do_execsql_test 202 {SELECT affinity(c02) FROM t1} {INTEGER}
do_execsql_test 203 {SELECT affinity(c03) FROM t1} {INTEGER}
do_execsql_test 204 {SELECT affinity(c04) FROM t1} {INTEGER}
do_execsql_test 205 {SELECT affinity(c05) FROM t1} {INTEGER}
do_execsql_test 206 {SELECT affinity(c06) FROM t1} {INTEGER}
do_execsql_test 207 {SELECT affinity(c07) FROM t1} {INTEGER}
do_execsql_test 208 {SELECT affinity(c08) FROM t1} {INTEGER}
do_execsql_test 209 {SELECT affinity(c09) FROM t1} {INTEGER}
do_execsql_test 210 {SELECT affinity(c10) FROM t1} {TEXT}
do_execsql_test 211 {SELECT affinity(c11) FROM t1} {TEXT}
do_execsql_test 212 {SELECT affinity(c12) FROM t1} {TEXT}
do_execsql_test 213 {SELECT affinity(c13) FROM t1} {TEXT}
do_execsql_test 214 {SELECT affinity(c14) FROM t1} {TEXT}
do_execsql_test 215 {SELECT affinity(c15) FROM t1} {TEXT}
do_execsql_test 216 {SELECT affinity(c16) FROM t1} {TEXT}
do_execsql_test 220 {SELECT affinity(c20) FROM t1} {BLOB}
do_execsql_test 221 {SELECT affinity(c21) FROM t1} {BLOB}
do_execsql_test 230 {SELECT affinity(c30) FROM t1} {REAL}
do_execsql_test 231 {SELECT affinity(c31) FROM t1} {REAL}
do_execsql_test 232 {SELECT affinity(c32) FROM t1} {REAL}
do_execsql_test 233 {SELECT affinity(c33) FROM t1} {REAL}
do_execsql_test 240 {SELECT affinity(c40) FROM t1} {NUMERIC}
do_execsql_test 241 {SELECT affinity(c41) FROM t1} {NUMERIC}
do_execsql_test 242 {SELECT affinity(c42) FROM t1} {NUMERIC}
do_execsql_test 243 {SELECT affinity(c43) FROM t1} {NUMERIC}
do_execsql_test 244 {SELECT affinity(c44) FROM t1} {NUMERIC}
do_execsql_test 250 {SELECT affinity(c50) FROM t1} {INTEGER}
do_execsql_test 260 {SELECT affinity(c60) FROM t1} {NUMERIC}
finish_test