mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Account for multi-byte characters in ALTER TABLE code. Fix for #1609. (CVS 2942)
FossilOrigin-Name: d634f8b28abd7af4565c644bd7972b067caa0133
This commit is contained in:
@ -11,7 +11,7 @@
|
||||
# This file implements regression tests for SQLite library. The
|
||||
# focus of this script is testing the ALTER TABLE statement.
|
||||
#
|
||||
# $Id: alter.test,v 1.12 2006/01/03 00:33:50 drh Exp $
|
||||
# $Id: alter.test,v 1.13 2006/01/13 18:06:40 danielk1977 Exp $
|
||||
#
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
@ -552,4 +552,66 @@ do_test alter-5.3 {
|
||||
db2 close
|
||||
} {}
|
||||
|
||||
set ::tbl_name "abc\uABCDdef"
|
||||
do_test alter-5.1 {
|
||||
string length $::tbl_name
|
||||
} {7}
|
||||
do_test alter-5.2 {
|
||||
execsql "
|
||||
CREATE TABLE ${tbl_name}(a, b, c);
|
||||
"
|
||||
execsql {
|
||||
SELECT sql FROM sqlite_master
|
||||
WHERE oid = (SELECT max(oid) FROM sqlite_master);
|
||||
}
|
||||
} "{CREATE TABLE ${::tbl_name}(a, b, c)}"
|
||||
set ::tbl_name2 "abcXdef"
|
||||
do_test alter-5.2 {
|
||||
execsql "
|
||||
ALTER TABLE $::tbl_name RENAME TO $::tbl_name2
|
||||
"
|
||||
execsql {
|
||||
SELECT sql FROM sqlite_master
|
||||
WHERE oid = (SELECT max(oid) FROM sqlite_master);
|
||||
}
|
||||
} "{CREATE TABLE '${::tbl_name2}'(a, b, c)}"
|
||||
do_test alter-5.3 {
|
||||
execsql "
|
||||
ALTER TABLE $::tbl_name2 RENAME TO $::tbl_name
|
||||
"
|
||||
execsql {
|
||||
SELECT sql FROM sqlite_master
|
||||
WHERE oid = (SELECT max(oid) FROM sqlite_master);
|
||||
}
|
||||
} "{CREATE TABLE '${::tbl_name}'(a, b, c)}"
|
||||
set ::col_name ghi\1234\jkl
|
||||
do_test alter-5.4 {
|
||||
execsql "
|
||||
ALTER TABLE $::tbl_name ADD COLUMN $::col_name VARCHAR
|
||||
"
|
||||
execsql {
|
||||
SELECT sql FROM sqlite_master
|
||||
WHERE oid = (SELECT max(oid) FROM sqlite_master);
|
||||
}
|
||||
} "{CREATE TABLE '${::tbl_name}'(a, b, c, $::col_name VARCHAR)}"
|
||||
set ::col_name2 B\3421\A
|
||||
do_test alter-5.5 {
|
||||
db close
|
||||
sqlite3 db test.db
|
||||
execsql "
|
||||
ALTER TABLE $::tbl_name ADD COLUMN $::col_name2
|
||||
"
|
||||
execsql {
|
||||
SELECT sql FROM sqlite_master
|
||||
WHERE oid = (SELECT max(oid) FROM sqlite_master);
|
||||
}
|
||||
} "{CREATE TABLE '${::tbl_name}'(a, b, c, $::col_name VARCHAR, $::col_name2)}"
|
||||
do_test alter-5.6 {
|
||||
execsql "
|
||||
INSERT INTO ${::tbl_name} VALUES(1, 2, 3, 4, 5);
|
||||
SELECT $::col_name, $::col_name2 FROM $::tbl_name;
|
||||
"
|
||||
} {4 5}
|
||||
|
||||
finish_test
|
||||
|
||||
|
Reference in New Issue
Block a user