Index: src/test_func.c ================================================================== --- src/test_func.c +++ src/test_func.c @@ -494,11 +494,11 @@ u64 iSerialType; Mem mem; memset(&mem, 0, sizeof(mem)); mem.db = db; - mem.enc = SQLITE_UTF8; + mem.enc = ENC(db); pHdr += sqlite3GetVarint(pHdr, &iSerialType); pBody += sqlite3VdbeSerialGet(pBody, (u32)iSerialType, &mem); sqlite3VdbeMemStoreType(&mem); if( iCurrent==iIdx ){ @@ -543,11 +543,11 @@ u64 iSerialType; Mem mem; memset(&mem, 0, sizeof(mem)); mem.db = db; - mem.enc = SQLITE_UTF8; + mem.enc = ENC(db); pHdr += sqlite3GetVarint(pHdr, &iSerialType); pBody += sqlite3VdbeSerialGet(pBody, (u32)iSerialType, &mem); sqlite3VdbeMemStoreType(&mem); switch( sqlite3_value_type(&mem) ){ Index: test/analyze9.test ================================================================== --- test/analyze9.test +++ test/analyze9.test @@ -50,28 +50,30 @@ do_execsql_test 1.1 { ANALYZE; } {} -do_execsql_test 1.3 { +do_execsql_test 1.2 { SELECT tbl,idx,nEq,nLt,nDLt,test_decode(sample) FROM sqlite_stat4; } { t1 i1 {1 1 1} {0 0 0} {0 0 0} {(0) (0) 1} t1 i1 {1 1 1} {1 1 1} {1 1 1} {(1) (1) 2} t1 i1 {1 1 1} {2 2 2} {2 2 2} {(2) (2) 3} t1 i1 {1 1 1} {3 3 3} {3 3 3} {(3) (3) 4} t1 i1 {1 1 1} {4 4 4} {4 4 4} {(4) (4) 5} } -do_execsql_test 1.2 { - SELECT tbl,idx,nEq,nLt,nDLt,s(sample) FROM sqlite_stat4; -} { - t1 i1 {1 1 1} {0 0 0} {0 0 0} ....(0)(0) - t1 i1 {1 1 1} {1 1 1} {1 1 1} ....(1)(1). - t1 i1 {1 1 1} {2 2 2} {2 2 2} ....(2)(2). - t1 i1 {1 1 1} {3 3 3} {3 3 3} ....(3)(3). - t1 i1 {1 1 1} {4 4 4} {4 4 4} ....(4)(4). +if {[permutation] != "utf16"} { + do_execsql_test 1.3 { + SELECT tbl,idx,nEq,nLt,nDLt,s(sample) FROM sqlite_stat4; + } { + t1 i1 {1 1 1} {0 0 0} {0 0 0} ....(0)(0) + t1 i1 {1 1 1} {1 1 1} {1 1 1} ....(1)(1). + t1 i1 {1 1 1} {2 2 2} {2 2 2} ....(2)(2). + t1 i1 {1 1 1} {3 3 3} {3 3 3} ....(3)(3). + t1 i1 {1 1 1} {4 4 4} {4 4 4} ....(4)(4). + } } #------------------------------------------------------------------------- # This is really just to test SQL user function "test_decode". @@ -362,8 +364,25 @@ UPDATE sqlite_stat4 SET nlt = '0 0 0'; ANALYZE sqlite_master; SELECT * FROM t1 WHERE a = 5; } {5 5} +#------------------------------------------------------------------------- +# +reset_db +do_execsql_test 8.1 { + CREATE TABLE t1(x TEXT); + CREATE INDEX i1 ON t1(x); + INSERT INTO t1 VALUES('1'); + INSERT INTO t1 VALUES('2'); + INSERT INTO t1 VALUES('3'); + INSERT INTO t1 VALUES('4'); + ANALYZE; +} + +breakpoint +do_execsql_test 8.2 { + SELECT * FROM t1 WHERE x = 3; +} {3} finish_test Index: test/permutations.test ================================================================== --- test/permutations.test +++ test/permutations.test @@ -498,10 +498,12 @@ Run tests using UTF-16 databases } -presql { pragma encoding = 'UTF-16' } -files { alter.test alter3.test + analyze.test analyze3.test analyze4.test analyze5.test analyze6.test + analyze7.test analyze8.test analyze9.test analyzeA.test auth.test bind.test blob.test capi2.test capi3.test collate1.test collate2.test collate3.test collate4.test collate5.test collate6.test conflict.test date.test delete.test expr.test fkey1.test func.test hook.test index.test insert2.test insert.test interrupt.test in.test intpkey.test ioerr.test join2.test join.test lastinsert.test