Remove the sqlite3_libencoding() api and the ISO8859 encoding option. (CVS 1523)
FossilOrigin-Name: b53640ed2232aaf173a71636073477d80407d11f
This commit is contained in:
parent
193c72f84e
commit
df0148931d
30
manifest
30
manifest
@ -1,5 +1,5 @@
|
||||
C Fix\sa\sbug\swith\sUTF-16\sbyte-order-marks\son\sbig-endian\shosts.\s(CVS\s1522)
|
||||
D 2004-06-02T00:29:24
|
||||
C Remove\sthe\ssqlite3_libencoding()\sapi\sand\sthe\sISO8859\sencoding\soption.\s(CVS\s1523)
|
||||
D 2004-06-02T00:41:09
|
||||
F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
|
||||
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
|
||||
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
|
||||
@ -37,7 +37,7 @@ F src/hash.c 440c2f8cb373ee1b4e13a0988489c7cd95d55b6f
|
||||
F src/hash.h 762d95f1e567664d1eafc1687de755626be962fb
|
||||
F src/insert.c 4268d9e3959cc845ea243fb4ec7507269404dad9
|
||||
F src/legacy.c ad23746f15f67e34577621b1875f639c94839e1f
|
||||
F src/main.c 66c6c35e94f57a7505f7f44b5a9504fb60ca0730
|
||||
F src/main.c d2a7632f459e9c270bb6e313e10916fc840f4a6e
|
||||
F src/md5.c 4302e84ae516c616bb079c4e6d038c0addb33481
|
||||
F src/os.h 833b9639720d1602d9bfa4ca69c615ec2bfe625a
|
||||
F src/os_common.h 744286a27de55c52f1b18921e8d17abbf7fafc0f
|
||||
@ -55,20 +55,20 @@ F src/printf.c ef750e8e2398ca7e8b58be991075f08c6a7f0e53
|
||||
F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3
|
||||
F src/select.c 0297717eb7331604687c2e29c147d3a311359df1
|
||||
F src/shell.c a9e2ad8f6c1d39b04bad61a0ec655e9a3a360b50
|
||||
F src/sqlite.h.in d8222d4a1f76468560b60f2b7f5b592995ebd5cf
|
||||
F src/sqliteInt.h 8a3a6dc8ef5141563698a3b7a62fca7158cff1f5
|
||||
F src/sqlite.h.in 021965a94f5799c8308003cb6e3b01e3b36a8b88
|
||||
F src/sqliteInt.h 1aa9f7d5f88d13442d39c1bc9216c73e9b6c5191
|
||||
F src/table.c af14284fa36c8d41f6829e3f2819dce07d3e2de2
|
||||
F src/tclsqlite.c ed8663e7703346ace72ca3899dba15dbfc0883d7
|
||||
F src/tclsqlite.c 3db6b868bd844bfb71720c8e573f4c9b0d536bd5
|
||||
F src/test1.c 4a3cc1b628a29f24c0a43227a035d0f2a96eb634
|
||||
F src/test2.c 6195a1ca2c8d0d2d93644e86da3289b403486872
|
||||
F src/test3.c 86117b74ec7353d76f5cd85c144c7cda23a7e11b
|
||||
F src/test4.c caf675e443460ec76b04d78e1688986c17c82cec
|
||||
F src/test5.c a894fbfa8a7dcdc2cbc0c38c11149cc5c8252cea
|
||||
F src/test5.c e731274b902eaad09b195cfbac06768dfefba93e
|
||||
F src/tokenize.c 183c5d7da11affab5d70d903d33409c8c0ce6c5b
|
||||
F src/trigger.c 04b2c310d0d056b213609cab6df5fff03d5eaf88
|
||||
F src/update.c 259f06e7b22c684b2d3dda54a18185892d6e9573
|
||||
F src/utf.c c8be20ecdcb10659e23c43e35d835460e964d248
|
||||
F src/util.c 3b647719c0bece41491300b605cff96a7a26f03a
|
||||
F src/util.c d3d2f62ec94160db3cb2b092267405ba99122152
|
||||
F src/vacuum.c c91acc316127411980982938d050b299d42b81ef
|
||||
F src/vdbe.c cc754eddc0d2e741e57c4557c77754d8bbd93eeb
|
||||
F src/vdbe.h e73f890e0f2a6c42b183d7d6937947930fe4fdeb
|
||||
@ -99,9 +99,9 @@ F test/date.test aed5030482ebc02bd8d386c6c86a29f694ab068d
|
||||
F test/delete.test ddb1d4e172a01c0165804f82f81df556fb48a856
|
||||
F test/enc.test a55481d45ff493804e8d88357feb4642fc50a6b2
|
||||
F test/enc2.test 8ab83839b73ce3a571b1396379f2f8ae3c895d74
|
||||
F test/expr.test 8b62f3fcac64fbd5c3d43d7a7984245743dcbe65
|
||||
F test/expr.test 521588701dae8cf5aa2b8a18c5c897711f754332
|
||||
F test/fkey1.test d65c824459916249bee501532d6154ddab0b5db7
|
||||
F test/func.test b6d87075ff65babd6466b8a8dfc0d44f6a92df0c
|
||||
F test/func.test 9816fbed0a5e87e00f4fc88b4cdcd638abc524c4
|
||||
F test/hook.test c4102c672d67f8fb60ea459842805abcba69a747
|
||||
F test/in.test b92a2df9162e1cbd33c6449a29a05e6955b1741a
|
||||
F test/index.test ad3f479a3dc4a6d9105a2c88e3ee432498441c34
|
||||
@ -145,7 +145,7 @@ F test/sort.test 863f07884fb68a70b738998e9a548132a0d0b7d9
|
||||
F test/subselect.test f0fea8cf9f386d416d64d152e3c65f9116d0f50f
|
||||
F test/table.test 71f808817b50ae3a9a693a88b3ea003f1031cdbb
|
||||
F test/tableapi.test e0c4cce61e58343caa84dab33fa6823cb35fe1e1
|
||||
F test/tclsqlite.test a684fc191b81e6cded8a81263663d5a130fbb013
|
||||
F test/tclsqlite.test 853e4372004d209e2ff0d4b0b35c91d4f64cd7d8
|
||||
F test/temptable.test a770ba6308d7f7332fce985086b8e06bed6430c2
|
||||
F test/tester.tcl fc10520db0d3ce4ef6a8b5ab91bd102fc3f4280a
|
||||
F test/thread1.test 53f050d5be6932d9430df7756edd379366508ff6
|
||||
@ -214,7 +214,7 @@ F www/support.tcl 1801397edd271cc39a2aadd54e701184b5181248
|
||||
F www/tclsqlite.tcl 19191cf2a1010eaeff74c51d83fd5f5a4d899075
|
||||
F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
|
||||
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
|
||||
P 24e2bbd0f233eaec1789e866e9abb88db66e2278
|
||||
R 770b5bbc0f504b74630be07ad566c456
|
||||
U danielk1977
|
||||
Z d278c6c962aa9ab7dcd916a21504bfc5
|
||||
P c17b864103fe5e6def0f650eadb7b2cc6e87144f
|
||||
R f4cae94848dada7ca979780be2518e9d
|
||||
U drh
|
||||
Z 839a132eb4ffa52deddad34237e579b7
|
||||
|
@ -1 +1 @@
|
||||
c17b864103fe5e6def0f650eadb7b2cc6e87144f
|
||||
b53640ed2232aaf173a71636073477d80407d11f
|
19
src/main.c
19
src/main.c
@ -14,7 +14,7 @@
|
||||
** other files are for internal use by SQLite and should not be
|
||||
** accessed by users of the library.
|
||||
**
|
||||
** $Id: main.c,v 1.202 2004/06/01 00:03:53 danielk1977 Exp $
|
||||
** $Id: main.c,v 1.203 2004/06/02 00:41:09 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include "os.h"
|
||||
@ -388,16 +388,6 @@ int sqlite3Init(sqlite *db, char **pzErrMsg){
|
||||
const char rcsid[] = "@(#) \044Id: SQLite version " SQLITE_VERSION " $";
|
||||
const char sqlite3_version[] = SQLITE_VERSION;
|
||||
|
||||
/*
|
||||
** Does the library expect data to be encoded as UTF-8 or iso8859? The
|
||||
** following global constant always lets us know.
|
||||
*/
|
||||
#ifdef SQLITE_UTF8
|
||||
const char sqlite3_encoding[] = "UTF-8";
|
||||
#else
|
||||
const char sqlite3_encoding[] = "iso8859";
|
||||
#endif
|
||||
|
||||
/*
|
||||
** This is the default collating function named "BINARY" which is always
|
||||
** available.
|
||||
@ -641,13 +631,8 @@ void sqlite3_interrupt(sqlite *db){
|
||||
void sqlite3_free(char *p){ free(p); }
|
||||
|
||||
/*
|
||||
** Windows systems need functions to call to return the sqlite3_version
|
||||
** and sqlite3_encoding strings since they are unable to access constants
|
||||
** within DLLs.
|
||||
** Create new user functions.
|
||||
*/
|
||||
const char *sqlite3_libversion(void){ return sqlite3_version; }
|
||||
const char *sqlite3_libencoding(void){ return sqlite3_encoding; }
|
||||
|
||||
int sqlite3_create_function(
|
||||
sqlite3 *db,
|
||||
const char *zFunctionName,
|
||||
|
@ -12,7 +12,7 @@
|
||||
** This header file defines the interface that the SQLite library
|
||||
** presents to client programs.
|
||||
**
|
||||
** @(#) $Id: sqlite.h.in,v 1.89 2004/06/01 00:03:53 danielk1977 Exp $
|
||||
** @(#) $Id: sqlite.h.in,v 1.90 2004/06/02 00:41:09 drh Exp $
|
||||
*/
|
||||
#ifndef _SQLITE_H_
|
||||
#define _SQLITE_H_
|
||||
@ -370,13 +370,6 @@ char *sqlite3_mprintf(const char*,...);
|
||||
char *sqlite3_vmprintf(const char*, va_list);
|
||||
void sqlite3_free(char *z);
|
||||
|
||||
/*
|
||||
** Windows systems need functions to call to return the sqlite3_version
|
||||
** and sqlite3_encoding strings.
|
||||
*/
|
||||
const char *sqlite3_libversion(void);
|
||||
const char *sqlite3_libencoding(void);
|
||||
|
||||
/*
|
||||
** This routine registers a callback with the SQLite library. The
|
||||
** callback is invoked (at compile-time, not at run-time) for each
|
||||
|
@ -11,7 +11,7 @@
|
||||
*************************************************************************
|
||||
** Internal interface definitions for SQLite.
|
||||
**
|
||||
** @(#) $Id: sqliteInt.h,v 1.266 2004/05/31 23:56:43 danielk1977 Exp $
|
||||
** @(#) $Id: sqliteInt.h,v 1.267 2004/06/02 00:41:09 drh Exp $
|
||||
*/
|
||||
#include "config.h"
|
||||
#include "sqlite3.h"
|
||||
@ -448,6 +448,7 @@ struct sqlite {
|
||||
struct FuncDef {
|
||||
char *zName; /* SQL name of the function */
|
||||
int nArg; /* Number of arguments. -1 means unlimited */
|
||||
int iPrefEnc; /* Preferred text encoding */
|
||||
void *pUserData; /* User data parameter */
|
||||
FuncDef *pNext; /* Next function with same name */
|
||||
void (*xFunc)(sqlite3_context*,int,sqlite3_value**); /* Regular function */
|
||||
|
@ -11,7 +11,7 @@
|
||||
*************************************************************************
|
||||
** A TCL Interface to SQLite
|
||||
**
|
||||
** $Id: tclsqlite.c,v 1.78 2004/05/31 23:56:43 danielk1977 Exp $
|
||||
** $Id: tclsqlite.c,v 1.79 2004/06/02 00:41:09 drh Exp $
|
||||
*/
|
||||
#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */
|
||||
|
||||
@ -900,10 +900,6 @@ static int DbMain(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
|
||||
char zBuf[80];
|
||||
if( objc==2 ){
|
||||
zArg = Tcl_GetStringFromObj(objv[1], 0);
|
||||
if( strcmp(zArg,"-encoding")==0 ){
|
||||
Tcl_AppendResult(interp,sqlite3_encoding,0);
|
||||
return TCL_OK;
|
||||
}
|
||||
if( strcmp(zArg,"-version")==0 ){
|
||||
Tcl_AppendResult(interp,sqlite3_version,0);
|
||||
return TCL_OK;
|
||||
|
38
src/test5.c
38
src/test5.c
@ -15,7 +15,7 @@
|
||||
** is used for testing the SQLite routines for converting between
|
||||
** the various supported unicode encodings.
|
||||
**
|
||||
** $Id: test5.c,v 1.6 2004/05/31 18:51:58 drh Exp $
|
||||
** $Id: test5.c,v 1.7 2004/06/02 00:41:10 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include "os.h" /* to get SQLITE_BIGENDIAN */
|
||||
@ -37,6 +37,12 @@ static int utf16_length(const unsigned char *pZ){
|
||||
return (pC1-pZ)+2;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite_utf8to16le STRING
|
||||
** title: Convert STRING from utf-8 to utf-16le
|
||||
**
|
||||
** Return the utf-16le encoded string
|
||||
*/
|
||||
static int sqlite_utf8to16le(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
@ -63,6 +69,12 @@ static int sqlite_utf8to16le(
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite_utf8to16be STRING
|
||||
** title: Convert STRING from utf-8 to utf-16be
|
||||
**
|
||||
** Return the utf-16be encoded string
|
||||
*/
|
||||
static int sqlite_utf8to16be(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
@ -90,6 +102,14 @@ static int sqlite_utf8to16be(
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite_utf16to16le STRING
|
||||
** title: Convert STRING from utf-16 in native byte order to utf-16le
|
||||
**
|
||||
** Return the utf-16le encoded string. If the input string contains
|
||||
** a byte-order mark, then the byte order mark should override the
|
||||
** native byte order.
|
||||
*/
|
||||
static int sqlite_utf16to16le(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
@ -120,6 +140,14 @@ static int sqlite_utf16to16le(
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite_utf16to16be STRING
|
||||
** title: Convert STRING from utf-16 in native byte order to utf-16be
|
||||
**
|
||||
** Return the utf-16be encoded string. If the input string contains
|
||||
** a byte-order mark, then the byte order mark should override the
|
||||
** native byte order.
|
||||
*/
|
||||
static int sqlite_utf16to16be(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
@ -150,6 +178,14 @@ static int sqlite_utf16to16be(
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite_utf16to8 STRING
|
||||
** title: Convert STRING from utf-16 in native byte order to utf-8
|
||||
**
|
||||
** Return the utf-8 encoded string. If the input string contains
|
||||
** a byte-order mark, then the byte order mark should override the
|
||||
** native byte order.
|
||||
*/
|
||||
static int sqlite_utf16to8(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
|
10
src/util.c
10
src/util.c
@ -14,7 +14,7 @@
|
||||
** This file contains functions for allocating memory, comparing
|
||||
** strings, and stuff like that.
|
||||
**
|
||||
** $Id: util.c,v 1.95 2004/05/30 20:46:09 drh Exp $
|
||||
** $Id: util.c,v 1.96 2004/06/02 00:41:10 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <stdarg.h>
|
||||
@ -892,14 +892,14 @@ int sqlite3SortCompare(const char *a, const char *b){
|
||||
return res;
|
||||
}
|
||||
|
||||
#ifdef SQLITE_UTF8
|
||||
#if 1 /* We are now always UTF-8 */
|
||||
/*
|
||||
** X is a pointer to the first byte of a UTF-8 character. Increment
|
||||
** X so that it points to the next character. This only works right
|
||||
** if X points to a well-formed UTF-8 string.
|
||||
*/
|
||||
#define sqliteNextChar(X) while( (0xc0&*++(X))==0x80 ){}
|
||||
#define sqliteCharVal(X) sqlite_utf8_to_int(X)
|
||||
#define sqliteCharVal(X) sqlite3ReadUtf8(X)
|
||||
|
||||
#else /* !defined(SQLITE_UTF8) */
|
||||
/*
|
||||
@ -911,13 +911,13 @@ int sqlite3SortCompare(const char *a, const char *b){
|
||||
#endif /* defined(SQLITE_UTF8) */
|
||||
|
||||
|
||||
#ifdef SQLITE_UTF8
|
||||
#if 1 /* We are now always UTF-8 */
|
||||
/*
|
||||
** Convert the UTF-8 character to which z points into a 31-bit
|
||||
** UCS character. This only works right if z points to a well-formed
|
||||
** UTF-8 string.
|
||||
*/
|
||||
static int sqlite_utf8_to_int(const unsigned char *z){
|
||||
static int sqlite3ReadUtf8(const unsigned char *z){
|
||||
int c;
|
||||
static const int initVal[] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||
|
@ -11,7 +11,7 @@
|
||||
# This file implements regression tests for SQLite library. The
|
||||
# focus of this file is testing expressions.
|
||||
#
|
||||
# $Id: expr.test,v 1.32 2004/05/13 11:34:17 danielk1977 Exp $
|
||||
# $Id: expr.test,v 1.33 2004/06/02 00:41:10 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -243,10 +243,9 @@ test_expr expr-5.10 {t1='abxyzzyc', t2='A%_C'} {t1 LIKE t2} 1
|
||||
test_expr expr-5.11 {t1='abc', t2='xyz'} {t1 NOT LIKE t2} 1
|
||||
test_expr expr-5.12 {t1='abc', t2='ABC'} {t1 NOT LIKE t2} 0
|
||||
|
||||
# The following tests only work on versions of TCL that support
|
||||
# Unicode and SQLite configured for UTF-8 support.
|
||||
# The following tests only work on versions of TCL that support Unicode
|
||||
#
|
||||
if {"\u1234"!="u1234" && [sqlite -encoding]=="UTF-8"} {
|
||||
if {"\u1234"!="u1234"} {
|
||||
test_expr expr-5.13 "t1='a\u0080c', t2='A_C'" {t1 LIKE t2} 1
|
||||
test_expr expr-5.14 "t1='a\u07FFc', t2='A_C'" {t1 LIKE t2} 1
|
||||
test_expr expr-5.15 "t1='a\u0800c', t2='A_C'" {t1 LIKE t2} 1
|
||||
@ -261,23 +260,6 @@ if {"\u1234"!="u1234" && [sqlite -encoding]=="UTF-8"} {
|
||||
test_expr expr-5.24 "t1='ax\uFEDCy\uFEDC', t2='A%\uFEDC'" {t1 LIKE t2} 1
|
||||
}
|
||||
|
||||
# Theses tests are for when SQLite assumes iso8859 characters.
|
||||
#
|
||||
if {[sqlite -encoding]=="iso8859"} {
|
||||
set go 1
|
||||
if {[info command encoding]!=""} {
|
||||
if {[catch {encoding system iso8859-1} msg]} {
|
||||
puts "skipping tests of LIKE operator: $msg"
|
||||
set go 0
|
||||
}
|
||||
}
|
||||
if {$go} {
|
||||
test_expr expr-5.50 "t1='a\266c', t2='A_C'" {t1 LIKE t2} 1
|
||||
test_expr expr-5.51 "t1='a\347', t2='A_'" {t1 LIKE t2} 1
|
||||
test_expr expr-5.52 "t1='ax\351', t2='A_\351'" {t1 LIKE t2} 1
|
||||
test_expr expr-5.53 "t1='ax\241', t2='A_%'" {t1 LIKE t2} 1
|
||||
}
|
||||
}
|
||||
test_expr expr-5.54 {t1='abc', t2=NULL} {t1 LIKE t2} {{}}
|
||||
test_expr expr-5.55 {t1='abc', t2=NULL} {t1 NOT LIKE t2} {{}}
|
||||
test_expr expr-5.56 {t1='abc', t2=NULL} {t2 LIKE t1} {{}}
|
||||
@ -317,7 +299,7 @@ test_expr expr-6.25 {t1='ac', t2='a*?c'} {t1 GLOB t2} 0
|
||||
|
||||
# These tests only work on versions of TCL that support Unicode
|
||||
#
|
||||
if {"\u1234"!="u1234" && [sqlite -encoding]=="UTF-8"} {
|
||||
if {"\u1234"!="u1234"} {
|
||||
test_expr expr-6.26 "t1='a\u0080c', t2='a?c'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.27 "t1='a\u07ffc', t2='a?c'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.28 "t1='a\u0800c', t2='a?c'" {t1 GLOB t2} 1
|
||||
@ -365,32 +347,6 @@ test_expr expr-6.73 {t1='ABCDEFG', t2='A*?G'} {t1 GLOB t2} 1
|
||||
test_expr expr-6.74 {t1='AC', t2='A*C'} {t1 GLOB t2} 1
|
||||
test_expr expr-6.75 {t1='AC', t2='A*?C'} {t1 GLOB t2} 0
|
||||
|
||||
# Theses tests are for when SQLite assumes iso8859 characters.
|
||||
#
|
||||
if {[sqlite -encoding]=="iso8859"} {
|
||||
set go 1
|
||||
if {[info command encoding]!=""} {
|
||||
if {[catch {encoding system iso8859-1} msg]} {
|
||||
puts "skipping tests of GLOB operator: $msg"
|
||||
set go 0
|
||||
}
|
||||
}
|
||||
if {$go} {
|
||||
test_expr expr-6.50 "t1='a\266c', t2='a?c'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.51 "t1='a\266', t2='a?'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.52 "t1='a\266', t2='a??'" {t1 GLOB t2} 0
|
||||
test_expr expr-6.53 "t1='ax\266', t2='a??'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.54 "t1='ax\266', t2='a?\266'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.55 "t1='ax\266y\266', t2='a*\266'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.56 "t1='a\266b', t2='a\[x\266y\]b'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.57 "t1='a\266b', t2='a\[\260-\270\]b'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.58 "t1='a\266b', t2='a\[\266-\270\]b'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.59 "t1='a\266b', t2='a\[\267-\270\]b'" {t1 GLOB t2} 0
|
||||
test_expr expr-6.60 "t1='a\266b', t2='a\[x-\267\]b'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.61 "t1='a\266b', t2='a\[x-\266\]b'" {t1 GLOB t2} 1
|
||||
test_expr expr-6.62 "t1='a\266b', t2='a\[x-\265\]b'" {t1 GLOB t2} 0
|
||||
}
|
||||
}
|
||||
test_expr expr-6.63 {t1=NULL, t2='a*?c'} {t1 GLOB t2} {{}}
|
||||
test_expr expr-6.64 {t1='ac', t2=NULL} {t1 GLOB t2} {{}}
|
||||
test_expr expr-6.65 {t1=NULL, t2='a*?c'} {t1 NOT GLOB t2} {{}}
|
||||
|
@ -11,7 +11,7 @@
|
||||
# This file implements regression tests for SQLite library. The
|
||||
# focus of this file is testing built-in functions.
|
||||
#
|
||||
# $Id: func.test,v 1.19 2004/05/27 14:23:36 danielk1977 Exp $
|
||||
# $Id: func.test,v 1.20 2004/06/02 00:41:10 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -94,10 +94,9 @@ do_test func-2.10 {
|
||||
execsql {SELECT substr(a,2,2) FROM t2}
|
||||
} {{} {} 45 {} 78}
|
||||
|
||||
# Only do the following tests if TCL has UTF-8 capabilities and
|
||||
# the UTF-8 encoding is turned on in the SQLite library.
|
||||
# Only do the following tests if TCL has UTF-8 capabilities
|
||||
#
|
||||
if {[sqlite -encoding]=="UTF-8" && "\u1234"!="u1234"} {
|
||||
if {"\u1234"!="u1234"} {
|
||||
|
||||
# Put some UTF-8 characters in the database
|
||||
#
|
||||
@ -146,7 +145,7 @@ do_test func-3.99 {
|
||||
execsql {SELECT t1 FROM tbl1}
|
||||
} {this program is free software}
|
||||
|
||||
} ;# End [sqlite -encoding]==UTF-8 and \u1234!=u1234
|
||||
} ;# End \u1234!=u1234
|
||||
|
||||
# Test the abs() and round() functions.
|
||||
#
|
||||
|
@ -15,7 +15,7 @@
|
||||
# interface is pretty well tested. This file contains some addition
|
||||
# tests for fringe issues that the main test suite does not cover.
|
||||
#
|
||||
# $Id: tclsqlite.test,v 1.20 2004/02/25 22:51:06 rdc Exp $
|
||||
# $Id: tclsqlite.test,v 1.21 2004/06/02 00:41:10 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -71,7 +71,7 @@ do_test tcl-1.6 {
|
||||
lappend v $msg
|
||||
} {1 {syntax error in expression "x*"}}
|
||||
|
||||
if {[sqlite -encoding]=="UTF-8" && [sqlite -tcl-uses-utf]} {
|
||||
if {[sqlite -tcl-uses-utf]} {
|
||||
do_test tcl-2.1 {
|
||||
execsql "CREATE TABLE t\u0123x(a int, b\u1235 float)"
|
||||
execsql "PRAGMA table_info(t\u0123x)"
|
||||
@ -83,17 +83,6 @@ if {[sqlite -encoding]=="UTF-8" && [sqlite -tcl-uses-utf]} {
|
||||
} "a b\u1235"
|
||||
}
|
||||
|
||||
if {[sqlite -encoding]=="iso8859" && [sqlite -tcl-uses-utf]} {
|
||||
do_test tcl-2.1 {
|
||||
execsql "CREATE TABLE t\251x(a int, b\306 float)"
|
||||
execsql "PRAGMA table_info(t\251x)"
|
||||
} "0 a int 0 {} 0 1 b\306 float 0 {} 0"
|
||||
do_test tcl-2.2 {
|
||||
execsql "INSERT INTO t\251x VALUES(1,2.3)"
|
||||
db eval "SELECT * FROM t\251x" result break
|
||||
set result(*)
|
||||
} "a b\306"
|
||||
}
|
||||
|
||||
# Test the onecolumn method
|
||||
#
|
||||
|
Loading…
x
Reference in New Issue
Block a user