diff options
author | drh <drh@noemail.net> | 2002-03-10 21:21:00 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2002-03-10 21:21:00 +0000 |
commit | 7218ac70983b81b32b83e00acc0d478ea9d8bbb0 (patch) | |
tree | bde5772713f08f72d45b91ffb264b14ab3786353 | |
parent | 5191b7e699b71cebd48b5e3a964f128609a2ab18 (diff) | |
download | sqlite-7218ac70983b81b32b83e00acc0d478ea9d8bbb0.tar.gz sqlite-7218ac70983b81b32b83e00acc0d478ea9d8bbb0.zip |
Bug fix: updates within a transaction would fail if there was existed
a temporary table. (CVS 425)
FossilOrigin-Name: 02cc2d60b2a5ee50efdbd90df90810ba559a453f
-rw-r--r-- | manifest | 16 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | src/vdbe.c | 4 | ||||
-rw-r--r-- | tool/lemon.c | 4 | ||||
-rw-r--r-- | tool/lempar.c | 4 |
5 files changed, 15 insertions, 15 deletions
@@ -1,5 +1,5 @@ -C Added\sprototypes\sto\ssqlite.h\sfor\ssqlite_freemem(),\ssqlite_libversion()\nand\ssqlite_libencoding().\s(CVS\s424) -D 2002-03-08T02:12:00 +C Bug\sfix:\supdates\swithin\sa\stransaction\swould\sfail\sif\sthere\swas\sexisted\na\stemporary\stable.\s(CVS\s425) +D 2002-03-10T21:21:00 F Makefile.in 50f1b3351df109b5774771350d8c1b8d3640130d F Makefile.template 89e373b2dad0321df00400fa968dc14b61a03296 F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0 @@ -51,7 +51,7 @@ F src/threadtest.c 81f0598e0f031c1bd506af337fdc1b7e8dff263f F src/tokenize.c 4b5d30590a744b9bb5605a92d1f620ab2e7e75af F src/update.c 7dd714a6a7fa47f849ebb36b6d915974d6c6accb F src/util.c b34cd91387bbfdc79319ea451a7d120cef478120 -F src/vdbe.c ce375b8948fb3b21da50536b7d063a3071b5c982 +F src/vdbe.c 51e99d994da8ade61dcc9a2c1e8f7ab7c6b29d33 F src/vdbe.h f9be1f6e9a336c3ff4d14ea7489ee976e07460cc F src/where.c 34d91fd5d822c2663caeb023f72d60df316ebf29 F test/all.test 6aa106eee4d7127afa5cee97c51a783a79694ead @@ -102,8 +102,8 @@ F test/update.test 3cf1ca0565f678063c2dfa9a7948d2d66ae1a778 F test/vacuum.test 059871b312eb910bbe49dafde1d01490cc2c6bbe F test/view.test 4a8a9cf59b54409228c7b9b918ed8bf9bade1220 F test/where.test 032d581c3de4893eba33b569e581c46b941bb02a -F tool/lemon.c a26214e008a7351c0c9fc57c5aab44b403c36c42 -F tool/lempar.c 2ff255186fffb38a43a9f7b010e87eee6308edcc +F tool/lemon.c e6b3d8df512bf6a753dab1b0490dd78e13adb033 +F tool/lempar.c 5c7d2b78bf9326ccea50b5835eb1574e6c51ad71 F tool/memleak.awk 296dfbce7a9ca499b95ce04e30334e64a50052e0 F tool/opNames.awk 5ba1f48aa854ee3b7c3d2b54233665bc3e649ea2 F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c @@ -130,7 +130,7 @@ F www/speed.tcl 83457b2bf6bb430900bd48ca3dd98264d9a916a5 F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279 F www/tclsqlite.tcl 829b393d1ab187fd7a5e978631b3429318885c49 F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218 -P 0a51323561b7235d46621d9fa25c7111b81c528f -R 2e2e1c2d75770caa56f9aafcd306e22d +P 145516c93b1a03231e7d84f7f799a39655d7aa99 +R 6aa24ae4349921bb6f6914f243156bfe U drh -Z 292b53c85ffb3f284a41becff7211dbe +Z 61ec9c5d0ba02401da95448b5e8eb2b6 diff --git a/manifest.uuid b/manifest.uuid index 8fe060627..a307586f0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -145516c93b1a03231e7d84f7f799a39655d7aa99
\ No newline at end of file +02cc2d60b2a5ee50efdbd90df90810ba559a453f
\ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index f37d57ef3..78713cbe8 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -30,7 +30,7 @@ ** But other routines are also provided to help in building up ** a program instruction by instruction. ** -** $Id: vdbe.c,v 1.133 2002/03/06 22:01:36 drh Exp $ +** $Id: vdbe.c,v 1.134 2002/03/10 21:21:00 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> @@ -2468,7 +2468,7 @@ case OP_IncrKey: { case OP_Checkpoint: { rc = sqliteBtreeBeginCkpt(pBt); if( rc==SQLITE_OK && db->pBeTemp ){ - rc = sqliteBtreeBeginCkpt(pBt); + rc = sqliteBtreeBeginCkpt(db->pBeTemp); } break; } diff --git a/tool/lemon.c b/tool/lemon.c index 7cb108027..02fec7a35 100644 --- a/tool/lemon.c +++ b/tool/lemon.c @@ -2756,9 +2756,9 @@ int *lineno; if( rp->code ){ fprintf(out,"#line %d \"%s\"\n{",rp->line,lemp->filename); for(cp=rp->code; *cp; cp++){ - if( isalpha(*cp) && (cp==rp->code || !isalnum(cp[-1])) ){ + if( isalpha(*cp) && (cp==rp->code || (!isalnum(cp[-1]) && cp[-1]!='_')) ){ char saved; - for(xp= &cp[1]; isalnum(*xp); xp++); + for(xp= &cp[1]; isalnum(*xp) || *xp=='_'; xp++); saved = *xp; *xp = 0; if( rp->lhsalias && strcmp(cp,rp->lhsalias)==0 ){ diff --git a/tool/lempar.c b/tool/lempar.c index 6a2cd0874..301817632 100644 --- a/tool/lempar.c +++ b/tool/lempar.c @@ -201,9 +201,9 @@ const char *ParseTokenName(int tokenType){ ** A pointer to a parser. This pointer is used in subsequent calls ** to Parse and ParseFree. */ -void *ParseAlloc(void *(*mallocProc)(int)){ +void *ParseAlloc(void *(*mallocProc)(size_t)){ yyParser *pParser; - pParser = (yyParser*)(*mallocProc)( (int)sizeof(yyParser) ); + pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) ); if( pParser ){ pParser->idx = -1; } |