mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Enhance the test harness for the sessions interface so that it does not
use SQLite operations that can encounter an OOM error in places where it is unable to report an OOM error back up to the test script. FossilOrigin-Name: bc0e661033b78f27866932244e6204985ae39000
This commit is contained in:
@ -159,7 +159,7 @@ static void test_session_del(void *clientData){
|
|||||||
TestSession *p = (TestSession*)clientData;
|
TestSession *p = (TestSession*)clientData;
|
||||||
if( p->pFilterScript ) Tcl_DecrRefCount(p->pFilterScript);
|
if( p->pFilterScript ) Tcl_DecrRefCount(p->pFilterScript);
|
||||||
sqlite3session_delete(p->pSession);
|
sqlite3session_delete(p->pSession);
|
||||||
ckfree(p);
|
ckfree((char*)p);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -191,7 +191,7 @@ static int test_sqlite3session(
|
|||||||
memset(p, 0, sizeof(TestSession));
|
memset(p, 0, sizeof(TestSession));
|
||||||
rc = sqlite3session_create(db, Tcl_GetString(objv[3]), &p->pSession);
|
rc = sqlite3session_create(db, Tcl_GetString(objv[3]), &p->pSession);
|
||||||
if( rc!=SQLITE_OK ){
|
if( rc!=SQLITE_OK ){
|
||||||
ckfree(p);
|
ckfree((char*)p);
|
||||||
return test_session_error(interp, rc);
|
return test_session_error(interp, rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,10 +222,13 @@ static void test_append_value(Tcl_Obj *pList, sqlite3_value *pVal){
|
|||||||
Tcl_ListObjAppendElement(0, pList, Tcl_NewStringObj("f", 1));
|
Tcl_ListObjAppendElement(0, pList, Tcl_NewStringObj("f", 1));
|
||||||
pObj = Tcl_NewDoubleObj(sqlite3_value_double(pVal));
|
pObj = Tcl_NewDoubleObj(sqlite3_value_double(pVal));
|
||||||
break;
|
break;
|
||||||
case SQLITE_TEXT:
|
case SQLITE_TEXT: {
|
||||||
|
const char *z = (char*)sqlite3_value_blob(pVal);
|
||||||
|
int n = sqlite3_value_bytes(pVal);
|
||||||
Tcl_ListObjAppendElement(0, pList, Tcl_NewStringObj("t", 1));
|
Tcl_ListObjAppendElement(0, pList, Tcl_NewStringObj("t", 1));
|
||||||
pObj = Tcl_NewStringObj((char *)sqlite3_value_text(pVal), -1);
|
pObj = Tcl_NewStringObj(z, n);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case SQLITE_BLOB:
|
case SQLITE_BLOB:
|
||||||
Tcl_ListObjAppendElement(0, pList, Tcl_NewStringObj("b", 1));
|
Tcl_ListObjAppendElement(0, pList, Tcl_NewStringObj("b", 1));
|
||||||
pObj = Tcl_NewByteArrayObj(
|
pObj = Tcl_NewByteArrayObj(
|
||||||
|
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
|||||||
C Merge\sthe\slatest\s3.8.4\stweaks\sfrom\strunk.
|
C Enhance\sthe\stest\sharness\sfor\sthe\ssessions\sinterface\sso\sthat\sit\sdoes\snot\nuse\sSQLite\soperations\sthat\scan\sencounter\san\sOOM\serror\sin\splaces\swhere\sit\nis\sunable\sto\sreport\san\sOOM\serror\sback\sup\sto\sthe\stest\sscript.
|
||||||
D 2014-03-06T13:48:31.335
|
D 2014-03-06T14:53:25.586
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in e4ee6d36cdf6136aee0158675a3b24dd3bf31a5a
|
F Makefile.in e4ee6d36cdf6136aee0158675a3b24dd3bf31a5a
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@ -152,7 +152,7 @@ F ext/session/session_common.tcl 1539d8973b2aea0025c133eb0cc4c89fcef541a5
|
|||||||
F ext/session/sessionfault.test 496291b287ba3c0b14ca2e074425e29cc92a64a6
|
F ext/session/sessionfault.test 496291b287ba3c0b14ca2e074425e29cc92a64a6
|
||||||
F ext/session/sqlite3session.c 34e19186d05d534e5a37a4f5a8a3c3e24e3fa88a
|
F ext/session/sqlite3session.c 34e19186d05d534e5a37a4f5a8a3c3e24e3fa88a
|
||||||
F ext/session/sqlite3session.h 6c35057241567ed6319f750ee504a81c459225e1
|
F ext/session/sqlite3session.h 6c35057241567ed6319f750ee504a81c459225e1
|
||||||
F ext/session/test_session.c d38968307c05229cc8cd603722cf305d6f768832
|
F ext/session/test_session.c b74ddeb47ef034618af1e7e7f7d70dadfd61e13c
|
||||||
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
||||||
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
||||||
F magic.txt f439556c5ce01ced70987e5ee86549a45165d9ff
|
F magic.txt f439556c5ce01ced70987e5ee86549a45165d9ff
|
||||||
@ -1170,7 +1170,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
|||||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||||
F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
|
F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
|
||||||
F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
|
F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
|
||||||
P a1f2b0428518ec18af74a0e01deb4e40cd95a78f 0a4200f95cf46ad620b9fd91f4444114a0c74730
|
P 1ed463d91866182fbc884fb88770717ee5bf33ce
|
||||||
R 6b398dedc2e443426b8d1ae4a040c589
|
R 96958e98af456557b41c042e55a4957f
|
||||||
U drh
|
U drh
|
||||||
Z 5e939e72ef6a3efe23540b139841828b
|
Z 0502c27f4f3e5bf50ee9c481e253dd89
|
||||||
|
@ -1 +1 @@
|
|||||||
1ed463d91866182fbc884fb88770717ee5bf33ce
|
bc0e661033b78f27866932244e6204985ae39000
|
Reference in New Issue
Block a user