1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Fix a bug in the sqlite3_column_decltype() API. (CVS 1486)

FossilOrigin-Name: c8a40218c20cf5d0abad330e8fa59ca4c36e7608
This commit is contained in:
danielk1977
2004-05-28 13:13:02 +00:00
parent 48dec7e215
commit 76d505baad
6 changed files with 60 additions and 67 deletions

View File

@ -11,7 +11,7 @@
# This file implements regression tests for SQLite library. The
# focus of this script testing the callback-free C/C++ API.
#
# $Id: capi3.test,v 1.9 2004/05/27 10:31:12 danielk1977 Exp $
# $Id: capi3.test,v 1.10 2004/05/28 13:13:04 danielk1977 Exp $
#
set testdir [file dirname $argv0]
@ -193,7 +193,9 @@ proc check_header {STMT test names decltypes} {
# Column names in UTF-16
do_test $test.2 {
set cnamelist [list]
foreach i $idxlist {lappend cnamelist [utf8 [sqlite3_column_name16 $STMT $i]]}
foreach i $idxlist {
lappend cnamelist [utf8 [sqlite3_column_name16 $STMT $i]]
}
set cnamelist
} $names
@ -207,9 +209,28 @@ proc check_header {STMT test names decltypes} {
# Column names in UTF-16
do_test $test.4 {
set cnamelist [list]
foreach i $idxlist {lappend cnamelist [utf8 [sqlite3_column_name16 $STMT $i]]}
foreach i $idxlist {
lappend cnamelist [utf8 [sqlite3_column_name16 $STMT $i]]
}
set cnamelist
} $names
# Column names in UTF-8
do_test $test.5 {
set cnamelist [list]
foreach i $idxlist {lappend cnamelist [sqlite3_column_decltype $STMT $i]}
set cnamelist
} $decltypes
# Column declaration types in UTF-16
do_test $test.6 {
set cnamelist [list]
foreach i $idxlist {
lappend cnamelist [utf8 [sqlite3_column_decltype16 $STMT $i]]
}
set cnamelist
} $decltypes
}
# This proc is used to test the following APIs:
@ -321,27 +342,27 @@ do_test capi3-5.0 {
sqlite3_column_count $STMT
} 3
check_header $STMT capi3-5.1 {a b c} {VARIANT BLOB VARCHAR(16)}
check_header $STMT capi3-5.1 {a b c} {VARINT BLOB VARCHAR(16)}
do_test capi3-5.2 {
sqlite3_step $STMT
} SQLITE_ROW
check_header $STMT capi3-5.3 {a b c} {VARIANT BLOB VARCHAR(16)}
check_header $STMT capi3-5.3 {a b c} {VARINT BLOB VARCHAR(16)}
check_data $STMT capi3-5.4 {INTEGER INTEGER TEXT} {1 2 3} {1.0 2.0 3.0} {1 2 3}
do_test capi3-5.5 {
sqlite3_step $STMT
} SQLITE_ROW
check_header $STMT capi3-5.6 {a b c} {VARIANT BLOB VARCHAR(16)}
check_header $STMT capi3-5.6 {a b c} {VARINT BLOB VARCHAR(16)}
check_data $STMT capi3-5.7 {TEXT TEXT NULL} {0 0 0} {0.0 0.0 0.0} {one two {}}
do_test capi3-5.8 {
sqlite3_step $STMT
} SQLITE_ROW
check_header $STMT capi3-5.9 {a b c} {VARIANT BLOB VARCHAR(16)}
check_header $STMT capi3-5.9 {a b c} {VARINT BLOB VARCHAR(16)}
check_data $STMT capi3-5.10 {FLOAT FLOAT TEXT} {1 1 1} {1.2 1.3 1.4} {1.2 1.3 1.4}
do_test capi3-5.11 {