1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-06-16 14:01:01 +03:00

Fix bugs caused by assuming that shared-schemas are initialized. (CVS 2917)

FossilOrigin-Name: 3970eb875d1830d35b3a70a7583a8ab6b238cad6
This commit is contained in:
danielk1977
2006-01-11 14:09:31 +00:00
parent 003437a0a7
commit b82e7edae9
12 changed files with 117 additions and 84 deletions

View File

@ -13,7 +13,7 @@
# various suported unicode encodings (UTF-8, UTF-16, UTF-16le and
# UTF-16be).
#
# $Id: enc2.test,v 1.25 2006/01/03 00:33:50 drh Exp $
# $Id: enc2.test,v 1.26 2006/01/11 14:09:32 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@ -473,4 +473,45 @@ ifcapable {complete} {
} {0}
}
# Test that the encoding of an empty database may still be set after the
# (empty) schema has been initialized.
file delete -force test.db
do_test enc2-9.1 {
sqlite3 db test.db
execsql {
PRAGMA encoding = 'UTF-8';
PRAGMA encoding;
}
} {UTF-8}
do_test enc2-9.2 {
sqlite3 db test.db
execsql {
PRAGMA encoding = 'UTF-16le';
PRAGMA encoding;
}
} {UTF-16le}
do_test enc2-9.3 {
sqlite3 db test.db
execsql {
SELECT * FROM sqlite_master;
PRAGMA encoding = 'UTF-8';
PRAGMA encoding;
}
} {UTF-8}
do_test enc2-9.4 {
sqlite3 db test.db
execsql {
PRAGMA encoding = 'UTF-16le';
CREATE TABLE abc(a, b, c);
PRAGMA encoding;
}
} {UTF-16le}
do_test enc2-9.5 {
sqlite3 db test.db
execsql {
PRAGMA encoding = 'UTF-8';
PRAGMA encoding;
}
} {UTF-16le}
finish_test

View File

@ -9,7 +9,7 @@
#
#***********************************************************************
#
# $Id: shared.test,v 1.10 2006/01/11 01:08:34 drh Exp $
# $Id: shared.test,v 1.11 2006/01/11 14:09:32 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@ -608,26 +608,6 @@ catch {db close}
catch {db2 close}
file delete -force test.db test2.db
if 0 {
do_test shared-9.1 {
sqlite3 db test.db
} {}
do_test shared-9.2 {
execsql {CREATE TABLE t1(a);}
} {}
file delete -force test.db
sqlite3 db test.db; set DB [sqlite3_connection_pointer db]
do_test shared-9.3 {
execsql {
CREATE TABLE t5(a);
INSERT INTO t5 VALUES('one');
} db
} {}
}
#---------------------------------------------------------------------------
# The following tests - shared-9.* - test interactions between TEMP triggers
# and shared-schemas.

View File

@ -11,7 +11,7 @@
# This file implements regression tests for SQLite library. The
# focus of this file is testing the VACUUM statement.
#
# $Id: vacuum.test,v 1.36 2006/01/03 00:33:50 drh Exp $
# $Id: vacuum.test,v 1.37 2006/01/11 14:09:32 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@ -164,6 +164,11 @@ do_test vacuum-2.5 {
}
sqlite3 db3 test.db
execsql {
-- The "SELECT * FROM sqlite_master" statement ensures that this test
-- works when shared-cache is enabled. If shared-cache is enabled, then
-- db3 shares a cache with db2 (but not db - it was opened as
-- "./test.db").
SELECT * FROM sqlite_master;
SELECT * FROM t7 LIMIT 1
} db3
execsql {