diff --git a/manifest b/manifest index 33a5cdda09..144338793a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sbugs\sin\slemon\sassociated\swith\sthe\schange\sto\sa\sperfect\shash\stable.\s(CVS\s1113) -D 2003-10-21T16:34:42 +C Comment\schanges\sto\sthe\slemon\sparser\stemplate.\s\sChange\ssome\ssqliteMalloc()\scalls\nto\ssqliteMallocRaw()\sfor\sspeed.\s\sUpdate\sthe\swebsite\stemplate.\s(CVS\s1114) +D 2003-10-22T22:15:28 F Makefile.in ab585a91e34bc33928a1b6181fa2f6ebd4fb17e1 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd @@ -25,7 +25,7 @@ F src/attach.c 9f78b4aaac02a2b09ff108e92cbaee3199e7962a F src/auth.c c8f50d4507e37779d96ff3c55417bc2b612dfed6 F src/btree.c ba1cc0c71c3d2742b9a9047832335dc7d3656c45 F src/btree.h 9b7c09f1e64274d7bb74a57bbfc63778f67b1048 -F src/btree_rb.c 550ce12841a87380554abae4442571567463de3a +F src/btree_rb.c 67d154ffb0fac27a4a7eab9118ece6eaafeb49c9 F src/build.c 9def3a3b8fba59325ed686049b88c2e7aff9af12 F src/copy.c 9e47975ea96751c658bcf1a0c4f0bb7c6ee61e73 F src/delete.c 0f81e6799c089487615d38e042a2de4d2d6192bc @@ -59,7 +59,7 @@ F src/threadtest.c d641a5219e718e18a1a80a50eb9bb549f451f42e F src/tokenize.c e14db6bfa972a7c449c80788fcdbc0fdc11b17d7 F src/trigger.c ce83e017b407d046e909d05373d7f8ee70f9f7f9 F src/update.c 24260b4fda00c9726d27699a0561d53c0dccc397 -F src/util.c f16efa2d60bfd4e31ae06b07ed149557e828d294 +F src/util.c cc95dd360fac09a059b2ab98e4c333d1a2308db5 F src/vacuum.c e4724eade07e4cf8897060a8cf632dbd92408eeb F src/vdbe.c 0928a242ced0b5d26292f3949fdab26fa4dc327d F src/vdbe.h 3957844e46fea71fd030e78f6a3bd2f7e320fb43 @@ -139,7 +139,7 @@ F test/view.test 1ee12c6f8f4791a2c0655120d5562a49400cfe53 F test/where.test cb3a2ed062ce4b5f08aff2d08027c6a46d68c47b F tool/diffdb.c 7524b1b5df217c20cd0431f6789851a4e0cb191b F tool/lemon.c e37dcb5b8cdb16f4ac98338134bf8d8cd28e399f -F tool/lempar.c 043b18f4e82012f48240e44aa68d9b95bdf431cc +F tool/lempar.c 686d85ff4b11a790f52dd033612e6890a2a10f3c F tool/memleak.awk 16ef9493dcd36146f806e75148f4bb0201a123ec F tool/memleak2.awk 9cc20c8e8f3c675efac71ea0721ee6874a1566e8 F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x @@ -163,7 +163,7 @@ F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c F www/faq.tcl 88d3b95d9cd8e374772daa3a646c4d107e7f3e9b F www/fileformat.tcl ae6ccf3ffddb180a5af173cd6ee102169629762b F www/formatchng.tcl ca6cc1cb1bef9bc36f0619049d3c95e749bc6983 -F www/index.tcl 2915a79faaaf7441976948ae095da6ff63aff5c0 +F www/index.tcl 3530ab3c43e2f34f114d16495d19cc1751d12446 F www/lang.tcl 5f39bbda1ba38a28f18f97bd98c81f40355393b2 F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c F www/nulls.tcl 9cb56d98c0c623074cda4360a415f3f0a7074c90 @@ -174,7 +174,7 @@ F www/speed.tcl 2f6b1155b99d39adb185f900456d1d592c4832b3 F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1 -P 4f955c00076b16166ff837749efb84201eab3c3a -R 476d560510b73636a2e46afa340dadeb +P c0d1b26966aeb445fea5792e5a9e93632e758c2a +R 2cd08c2a268077f9c1fb1e5464683f42 U drh -Z e55c6ef0dbc0e0ad2050ca7323671ea5 +Z e34714b150e14d157798b16491a3dc4f diff --git a/manifest.uuid b/manifest.uuid index 6315e6efa6..af625f5719 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c0d1b26966aeb445fea5792e5a9e93632e758c2a \ No newline at end of file +c637caf13f579959ecdb6b134d0114e8efbcac60 \ No newline at end of file diff --git a/src/btree_rb.c b/src/btree_rb.c index 5981b11e9b..4febeeb553 100644 --- a/src/btree_rb.c +++ b/src/btree_rb.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree_rb.c,v 1.16 2003/08/27 22:57:08 drh Exp $ +** $Id: btree_rb.c,v 1.17 2003/10/22 22:15:28 drh Exp $ ** ** This file implements an in-core database using Red-Black balanced ** binary trees. @@ -754,7 +754,7 @@ static int memRbtreeInsert( /* Take a copy of the input data now, in case we need it for the * replace case */ - pData = sqliteMalloc(nData); + pData = sqliteMallocRaw(nData); memcpy(pData, pDataInput, nData); /* Move the cursor to a node near the key to be inserted. If the key already @@ -772,7 +772,7 @@ static int memRbtreeInsert( if( match ){ BtRbNode *pNode = sqliteMalloc(sizeof(BtRbNode)); pNode->nKey = nKey; - pNode->pKey = sqliteMalloc(nKey); + pNode->pKey = sqliteMallocRaw(nKey); memcpy(pNode->pKey, pKey, nKey); pNode->nData = nData; pNode->pData = pData; @@ -807,7 +807,7 @@ static int memRbtreeInsert( pOp->eOp = ROLLBACK_DELETE; pOp->iTab = pCur->iTree; pOp->nKey = pNode->nKey; - pOp->pKey = sqliteMalloc( pOp->nKey ); + pOp->pKey = sqliteMallocRaw( pOp->nKey ); memcpy( pOp->pKey, pNode->pKey, pOp->nKey ); btreeLogRollbackOp(pCur->pRbtree, pOp); } @@ -821,7 +821,7 @@ static int memRbtreeInsert( BtRollbackOp *pOp = sqliteMalloc( sizeof(BtRollbackOp) ); pOp->iTab = pCur->iTree; pOp->nKey = pCur->pNode->nKey; - pOp->pKey = sqliteMalloc( pOp->nKey ); + pOp->pKey = sqliteMallocRaw( pOp->nKey ); memcpy( pOp->pKey, pCur->pNode->pKey, pOp->nKey ); pOp->nData = pCur->pNode->nData; pOp->pData = pCur->pNode->pData; @@ -1028,7 +1028,7 @@ static int memRbtreeClearTable(Rbtree* tree, int n) sqliteFree( pNode->pKey ); sqliteFree( pNode->pData ); }else{ - BtRollbackOp *pRollbackOp = sqliteMalloc(sizeof(BtRollbackOp)); + BtRollbackOp *pRollbackOp = sqliteMallocRaw(sizeof(BtRollbackOp)); pRollbackOp->eOp = ROLLBACK_INSERT; pRollbackOp->iTab = n; pRollbackOp->nKey = pNode->nKey; diff --git a/src/util.c b/src/util.c index bc1257fe71..fc84c1734f 100644 --- a/src/util.c +++ b/src/util.c @@ -14,7 +14,7 @@ ** This file contains functions for allocating memory, comparing ** strings, and stuff like that. ** -** $Id: util.c,v 1.67 2003/08/26 11:29:08 drh Exp $ +** $Id: util.c,v 1.68 2003/10/22 22:15:28 drh Exp $ */ #include "sqliteInt.h" #include @@ -251,13 +251,11 @@ char *sqliteStrNDup_(const char *z, int n, char *zFile, int line){ */ void *sqliteMalloc(int n){ void *p; - if( n==0 ) return 0; - p = malloc(n); - if( p==0 ){ + if( (p = malloc(n))==0 ){ sqlite_malloc_failed++; - return 0; + }else{ + memset(p, 0, n); } - memset(p, 0, n); return p; } @@ -267,11 +265,8 @@ void *sqliteMalloc(int n){ */ void *sqliteMallocRaw(int n){ void *p; - if( n==0 ) return 0; - p = malloc(n); - if( p==0 ){ + if( (p = malloc(n))==0 ){ sqlite_malloc_failed++; - return 0; } return p; } diff --git a/tool/lempar.c b/tool/lempar.c index 225c3020e1..bf262c3fc7 100644 --- a/tool/lempar.c +++ b/tool/lempar.c @@ -64,20 +64,27 @@ ** functions that take a state number and lookahead value and return an ** action integer. ** -** The action integer is a number N between -** 0 and YYNSTATE-1 mean shift the look-ahead and go to state N. -** Numbers between YYNSTATE and YYNSTATE+YYNRULE-1 mean reduce by -** rule N-YYNSTATE. Number YYNSTATE+YYNRULE means that a syntax -** error has occurred. Number YYNSTATE+YYNRULE+1 means the parser -** accepts its input. +** Suppose the action integer is N. Then the action is determined as +** follows ** -** The action table is constructed as a single large hash table with -** a perfect hash. Given state S and lookahead X, the action is computed -** as +** 0 <= N < YYNSTATE Shift N. That is, push the lookahead +** token onto the stack and goto state N. +** +** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE. +** +** N == YYNSTATE+YYNRULE A syntax error has occurred. +** +** N == YYNSTATE+YYNRULE+1 The parser accepts its input. +** +** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused +** slots in the yy_action[] table. +** +** The action table is constructed as a single large table named yy_action[]. +** Given state S and lookahead X, the action is computed as ** ** yy_action[ yy_shift_ofst[S] + X ] ** -** If the index yy_shift_ofst[S]+X is out of range or if the value +** If the index value yy_shift_ofst[S]+X is out of range or if the value ** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S] ** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table ** and that yy_default[S] should be used instead. diff --git a/www/index.tcl b/www/index.tcl index e8576e700e..024f86b036 100644 --- a/www/index.tcl +++ b/www/index.tcl @@ -1,7 +1,7 @@ # # Run this TCL script to generate HTML for the index.html file. # -set rcsid {$Id: index.tcl,v 1.78 2003/08/22 02:34:30 drh Exp $} +set rcsid {$Id: index.tcl,v 1.79 2003/10/22 22:15:28 drh Exp $} puts { SQLite: An Embeddable SQL Database Engine @@ -70,7 +70,8 @@ three functions and one opaque structure.
  • Automated test suite provides near 100% code coverage.
  • Self-contained: no external dependencies.
  • Built and tested under Linux and Windows.
  • -
  • Sources are in the public domain. Use for any purpose.
  • +
  • Sources are in the public domain. + Use for any purpose.
  • } @@ -149,17 +150,23 @@ another important source of information.

    } puts { - - -
    - -
    -Click to subscribe to sqlite
    -

    Mailing List

    -

    A mailing list has been set up on yahooGroups for discussion of -SQLite design issues or for asking questions about SQLite.

    +

    A mailing list has been set up for discussion of +SQLite design issues or for asking questions about SQLite. +To subscribe send an email to + +sqlite-users-subscribe@sqlite.org. +If you would prefer to get digests rather than individual +emails, send a message to to + +sqlite-users-digest-subscribe@sqlite.org. +For additional information about operating and using this +mailing list, send a message to + +sqlite-users-help@sqlite.org and instructions will be +sent by to you by return email. +

    } puts {

    Professional Support and Custom Modifications

    }