-C Add\scode\sfor\sthe\satomic-write\soptimisation.\sDisabled\sby\sdefault.\s(CVS\s4268)
-D 2007-08-22T11:22:04
+C Get\sthe\squick.test\sscript\srunning\swith\sSQLITE_THREADSAFE\senabled.\s(CVS\s4269)
+D 2007-08-22T11:41:18
F Makefile.in 0c0e53720f658c7a551046442dd7afba0b72bfbe
F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/analyze.c a14237d869c6bea0846493b59317e4097e81a0b6
F src/attach.c a52225c75b107be8c5bc144a2b6d20201be3f8f8
F src/auth.c 083c1205b45e3f52291ec539d396b4fc557856b3
-F src/btree.c 3e935a3074bfa498e74dc70f441cab64d364eab1
+F src/btree.c 1e189c3a7ea8e34434b214a8d6b69727c3ed525c
F src/btree.h 76c89673981cb77575300c0b78a76eaa00a28743
F src/btreeInt.h 7fc6e51dc3d4bbed15639a8ea1aae737631d6670
F src/build.c 2159551184160e2cf17ff945e9a05fbe6f331c3d
F src/shell.c ac29402b538515fa4697282387be9c1205e6e9eb
F src/sqlite.h.in 39f920631c49a8a79502d8b7908e608d7a0029bd
F src/sqlite3ext.h 647a6b8a8f76ff6c9611e4a071531d8e63ff2d6b
-F src/sqliteInt.h 74eb61d596c0fb308a5ec07f060318f3a83474df
+F src/sqliteInt.h 67b6ed04a2b0c28957bc2cf064ce713d298022b3
F src/sqliteLimit.h f14609c27636ebc217c9603ade26dbdd7d0f6afa
F src/table.c c725e47f6f3092b9a7b569fc58e408e2173ee008
F src/tclsqlite.c 92e06e076d613484aa2afc5ad830d9080de92347
F src/test1.c d7b8d6d15d10cc2e21f7a20a09c914d5aa84f1e2
F src/test2.c 4f742e99ed1bea5c14692f627bdb59a146f30504
F src/test3.c a7d011c51d6b2e2a73c43983d5c2b731d69c74d7
-F src/test4.c d97b87919dc3db1cc5fccc04a33f030d5940e1a9
+F src/test4.c c2c0f5dc907f1346f5d4b65eb5799f11eb9e4071
F src/test5.c 3a6a5717a149d7ca2e6d14f5be72cf7555d54dc4
F src/test6.c da83a0e49c03e8a25f4ce6e25c537c6617c14fc0
-F src/test7.c 50f5aa04fd751528ad5ee50e9be9ecee6f0b574a
+F src/test7.c a9d509d0e9ad214b4772696f49f6e61be26213d1
F src/test8.c 4bf571b82e502094846ae06e30fe028f190aaaae
F src/test9.c b46c8fe02ac7cca1a7316436d8d38d50c66f4b2f
F src/test_async.c 9f3ab66e848930d1c3a7bc2dde77b9b643f6e4ba
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P 6cc8641ed2fbfc32d418ce153f2819052f230be2
-R 60a77806fdc37cc90a1c02666401cadd
-U danielk1977
-Z ac8c850ecd87e6662e4865fbe6fa7e4b
+P 581fadfe31757e3fb97b12f93c1e3c085e4b6009
+R 04edf60a36c6b67ded0e1d8395cfcdd2
+U drh
+Z 751a55fa40ff7163f0ed16353fbe540e
-581fadfe31757e3fb97b12f93c1e3c085e4b6009
\ No newline at end of file
+1f28b7e47bba221c14a10a37e7425c9975bb2312
\ No newline at end of file
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: btree.c,v 1.408 2007/08/22 02:56:43 drh Exp $
+** $Id: btree.c,v 1.409 2007/08/22 11:41:18 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
}
#ifndef SQLITE_OMIT_SHARED_CACHE
- else{
- assert( p->wantToLock==0 );
- assert( p->locked==0 );
- assert( p->sharable );
- if( p->pPrev ) p->pPrev->pNext = p->pNext;
- if( p->pNext ) p->pNext->pPrev = p->pPrev;
- }
+ assert( p->wantToLock==0 );
+ assert( p->locked==0 );
+ if( p->pPrev ) p->pPrev->pNext = p->pNext;
+ if( p->pNext ) p->pNext->pPrev = p->pPrev;
#endif
sqlite3_free(p);
** Short-cuts for entering and leaving mutexes on a cursor.
*/
static void cursorLeave(BtCursor *p){
- sqlite3BtreeLeave(p->pBt);
+ sqlite3BtreeLeave(p->pBtree);
}
static void cursorEnter(BtCursor *pCur){
- sqlite3BtreeEnter(pCur->pBt);
+ sqlite3BtreeEnter(pCur->pBtree);
}
#else
# define cursorEnter(X)
if( sqlite3BtreeIsRootPage(pPage) ){
*pRes = 1;
pCur->eState = CURSOR_INVALID;
- cursorLeave(pCur);
return SQLITE_OK;
}
sqlite3BtreeMoveToParent(pCur);
*************************************************************************
** Internal interface definitions for SQLite.
**
-** @(#) $Id: sqliteInt.h,v 1.596 2007/08/22 11:22:04 danielk1977 Exp $
+** @(#) $Id: sqliteInt.h,v 1.597 2007/08/22 11:41:18 drh Exp $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
#if defined(THREADSAFE)
# define SQLITE_THREADSAFE THREADSAFE
#else
-# define SQLTIE_THREADSAFE 1
+# define SQLITE_THREADSAFE 1
#endif
#endif
*************************************************************************
** Code for testing the the SQLite library in a multithreaded environment.
**
-** $Id: test4.c,v 1.20 2007/08/21 10:44:16 drh Exp $
+** $Id: test4.c,v 1.21 2007/08/22 11:41:18 drh Exp $
*/
#include "sqliteInt.h"
#include "tcl.h"
return TCL_ERROR;
}
threadset[i].busy = 1;
- sqliteFree(threadset[i].zFilename);
+ sqlite3_free(threadset[i].zFilename);
threadset[i].zFilename = sqlite3StrDup(argv[2]);
threadset[i].opnum = 1;
threadset[i].completed = 0;
rc = pthread_create(&x, 0, thread_main, &threadset[i]);
if( rc ){
Tcl_AppendResult(interp, "failed to create the thread", 0);
- sqliteFree(threadset[i].zFilename);
+ sqlite3_free(threadset[i].zFilename);
threadset[i].busy = 0;
return TCL_ERROR;
}
p->xOp = 0;
p->opnum++;
thread_wait(p);
- sqliteFree(p->zArg);
+ sqlite3_free(p->zArg);
p->zArg = 0;
- sqliteFree(p->zFilename);
+ sqlite3_free(p->zFilename);
p->zFilename = 0;
p->busy = 0;
}
}
thread_wait(&threadset[i]);
threadset[i].xOp = do_compile;
- sqliteFree(threadset[i].zArg);
+ sqlite3_free(threadset[i].zArg);
threadset[i].zArg = sqlite3StrDup(argv[2]);
threadset[i].opnum++;
return TCL_OK;
}
thread_wait(&threadset[i]);
threadset[i].xOp = do_finalize;
- sqliteFree(threadset[i].zArg);
+ sqlite3_free(threadset[i].zArg);
threadset[i].zArg = 0;
threadset[i].opnum++;
return TCL_OK;
** Code for testing the client/server version of the SQLite library.
** Derived from test4.c.
**
-** $Id: test7.c,v 1.7 2007/08/21 10:44:16 drh Exp $
+** $Id: test7.c,v 1.8 2007/08/22 11:41:18 drh Exp $
*/
#include "sqliteInt.h"
#include "tcl.h"
return TCL_ERROR;
}
threadset[i].busy = 1;
- sqliteFree(threadset[i].zFilename);
+ sqlite3_free(threadset[i].zFilename);
threadset[i].zFilename = sqlite3StrDup(argv[2]);
threadset[i].opnum = 1;
threadset[i].completed = 0;
rc = pthread_create(&x, 0, client_main, &threadset[i]);
if( rc ){
Tcl_AppendResult(interp, "failed to create the thread", 0);
- sqliteFree(threadset[i].zFilename);
+ sqlite3_free(threadset[i].zFilename);
threadset[i].busy = 0;
return TCL_ERROR;
}
p->xOp = 0;
p->opnum++;
client_wait(p);
- sqliteFree(p->zArg);
+ sqlite3_free(p->zArg);
p->zArg = 0;
- sqliteFree(p->zFilename);
+ sqlite3_free(p->zFilename);
p->zFilename = 0;
p->busy = 0;
}
}
client_wait(&threadset[i]);
threadset[i].xOp = do_compile;
- sqliteFree(threadset[i].zArg);
+ sqlite3_free(threadset[i].zArg);
threadset[i].zArg = sqlite3StrDup(argv[2]);
threadset[i].opnum++;
return TCL_OK;
}
client_wait(&threadset[i]);
threadset[i].xOp = do_finalize;
- sqliteFree(threadset[i].zArg);
+ sqlite3_free(threadset[i].zArg);
threadset[i].zArg = 0;
threadset[i].opnum++;
return TCL_OK;
}
client_wait(&threadset[i]);
threadset[i].xOp = do_reset;
- sqliteFree(threadset[i].zArg);
+ sqlite3_free(threadset[i].zArg);
threadset[i].zArg = 0;
threadset[i].opnum++;
return TCL_OK;