aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2002-03-10 21:21:00 +0000
committerdrh <drh@noemail.net>2002-03-10 21:21:00 +0000
commit7218ac70983b81b32b83e00acc0d478ea9d8bbb0 (patch)
treebde5772713f08f72d45b91ffb264b14ab3786353
parent5191b7e699b71cebd48b5e3a964f128609a2ab18 (diff)
downloadsqlite-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--manifest16
-rw-r--r--manifest.uuid2
-rw-r--r--src/vdbe.c4
-rw-r--r--tool/lemon.c4
-rw-r--r--tool/lempar.c4
5 files changed, 15 insertions, 15 deletions
diff --git a/manifest b/manifest
index 00d36e693..ae35d4703 100644
--- a/manifest
+++ b/manifest
@@ -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;
}