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

Simplification to error handling in addModuleArgument() in the virtual table

processing.

FossilOrigin-Name: c573b0a1aa3ba509234f07520fa94d008bcbb330
This commit is contained in:
drh
2015-08-19 12:45:57 +00:00
parent 5ef2b281aa
commit 0e07f6ae40
3 changed files with 11 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
C When\supdating\sa\szipvfs\sdatabase\swith\sRBU,\sset\sjournal_mode=off\sto\sprevent\sthe\supper-level\spager\sfrom\screating\sa\slarge\stemporary\sfile. C Simplification\sto\serror\shandling\sin\saddModuleArgument()\sin\sthe\svirtual\stable\nprocessing.
D 2015-08-19T08:34:34.195 D 2015-08-19T12:45:57.389
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2fc9ca6bf5949d415801c007ed3004a4bdb7c380 F Makefile.in 2fc9ca6bf5949d415801c007ed3004a4bdb7c380
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -407,7 +407,7 @@ F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90
F src/vdbemem.c ae38a0d35ae71cf604381a887c170466ba518090 F src/vdbemem.c ae38a0d35ae71cf604381a887c170466ba518090
F src/vdbesort.c f5009e7a35e3065635d8918b9a31f498a499976b F src/vdbesort.c f5009e7a35e3065635d8918b9a31f498a499976b
F src/vdbetrace.c 8befe829faff6d9e6f6e4dee5a7d3f85cc85f1a0 F src/vdbetrace.c 8befe829faff6d9e6f6e4dee5a7d3f85cc85f1a0
F src/vtab.c 082b35a25a26e3d36f365ca8cd73c1922532f05e F src/vtab.c 964dffd59c756874a2d73f74039344e63af6d80f
F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
F src/wal.c 6fb6b68969e4692593c2552c4e7bff5882de2cb8 F src/wal.c 6fb6b68969e4692593c2552c4e7bff5882de2cb8
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
@@ -1374,7 +1374,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 8599402092537ab3df8926eb900661c12d738d4c P dec14a3980dcf6c61b0b9ac4ba82fa963ac346d4
R 79cd53df2dc51b1e184555145183f89d R 9e79c5c3619781e4dd0837447f8e7872
U dan U drh
Z 080d9b0837b12f78f74559ebadf2ade0 Z 95e599ba5e8b06b741ae2fef900bf405

View File

@@ -1 +1 @@
dec14a3980dcf6c61b0b9ac4ba82fa963ac346d4 c573b0a1aa3ba509234f07520fa94d008bcbb330

View File

@@ -285,23 +285,17 @@ void sqlite3VtabClear(sqlite3 *db, Table *p){
** deleted. ** deleted.
*/ */
static void addModuleArgument(sqlite3 *db, Table *pTable, char *zArg){ static void addModuleArgument(sqlite3 *db, Table *pTable, char *zArg){
int i = pTable->nModuleArg++; int nBytes = sizeof(char *)*(2+pTable->nModuleArg);
int nBytes = sizeof(char *)*(1+pTable->nModuleArg);
char **azModuleArg; char **azModuleArg;
azModuleArg = sqlite3DbRealloc(db, pTable->azModuleArg, nBytes); azModuleArg = sqlite3DbRealloc(db, pTable->azModuleArg, nBytes);
if( azModuleArg==0 ){ if( azModuleArg==0 ){
int j;
for(j=0; j<i; j++){
sqlite3DbFree(db, pTable->azModuleArg[j]);
}
sqlite3DbFree(db, zArg); sqlite3DbFree(db, zArg);
sqlite3DbFree(db, pTable->azModuleArg);
pTable->nModuleArg = 0;
}else{ }else{
int i = pTable->nModuleArg++;
azModuleArg[i] = zArg; azModuleArg[i] = zArg;
azModuleArg[i+1] = 0; azModuleArg[i+1] = 0;
pTable->azModuleArg = azModuleArg;
} }
pTable->azModuleArg = azModuleArg;
} }
/* /*