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

Refactor the Table.nRef field as Table.nTabRef for easier grepping.

FossilOrigin-Name: 9cae4c2e300e20304ced0dc8c1415c4922185928
This commit is contained in:
drh
2016-12-14 14:07:35 +00:00
parent d07df8e76a
commit 79df77821a
10 changed files with 33 additions and 33 deletions

View File

@@ -1,5 +1,5 @@
C Increase\sthe\ssize\sof\sthe\sreference\scount\son\sTable\sobjects\sto\s32\sbits. C Refactor\sthe\sTable.nRef\sfield\sas\sTable.nTabRef\sfor\seasier\sgrepping.
D 2016-12-14T13:54:25.287 D 2016-12-14T14:07:35.372
F Makefile.in c194b58fe00c370a48ac6ae6945e92a7781db1c8 F Makefile.in c194b58fe00c370a48ac6ae6945e92a7781db1c8
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da F Makefile.msc b8ca53350ae545e3562403d5da2a69cec79308da
@@ -324,7 +324,7 @@ F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca
F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786 F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
F src/alter.c 299117695b1f21ac62dfc5b608588810ba22ed0d F src/alter.c 0f83ee1d5963e85f8f3316cb11a90227807a74c8
F src/analyze.c 8b62b2cf4da85451534ac0af82cafc418d837f68 F src/analyze.c 8b62b2cf4da85451534ac0af82cafc418d837f68
F src/attach.c f6725410c184a80d8141b294fdf98a854c8a52b5 F src/attach.c f6725410c184a80d8141b294fdf98a854c8a52b5
F src/auth.c 930b376a9c56998557367e6f7f8aaeac82a2a792 F src/auth.c 930b376a9c56998557367e6f7f8aaeac82a2a792
@@ -334,16 +334,16 @@ F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
F src/btree.c b2055dff0b94e03eaad48a760984a2d8e39244e6 F src/btree.c b2055dff0b94e03eaad48a760984a2d8e39244e6
F src/btree.h 2349a588abcd7e0c04f984e15c5c777b61637583 F src/btree.h 2349a588abcd7e0c04f984e15c5c777b61637583
F src/btreeInt.h 10c4b77c2fb399580babbcc7cf652ac10dba796e F src/btreeInt.h 10c4b77c2fb399580babbcc7cf652ac10dba796e
F src/build.c 66bab5ee3998b1ebbea66ce0de60a82dcf497747 F src/build.c e2b32766847eb16d4314c99067571ae08b888dfe
F src/callback.c 2e76147783386374bf01b227f752c81ec872d730 F src/callback.c 2e76147783386374bf01b227f752c81ec872d730
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 9f2296a4e5d26ebf0e0d95a0af4628f1ea694e7a F src/ctime.c 9f2296a4e5d26ebf0e0d95a0af4628f1ea694e7a
F src/date.c b48378aeac68fa20c811404955a9b62108df47d8 F src/date.c b48378aeac68fa20c811404955a9b62108df47d8
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
F src/delete.c 42768e673861dffec92664b2036da6be51720e49 F src/delete.c c8bc10d145c9666a34ae906250326fdaa8d58fa5
F src/expr.c 84a5e590184ad7ccae22e7ad484d6394dec46f16 F src/expr.c c7c11fbe8bd4d27d04f1370efcce5a05b4fca229
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
F src/fkey.c 4f527ddd05250b3f750f17be76ca65ec76b4e6cb F src/fkey.c 2e9aabe1aee76273aff8a84ee92c464e095400ae
F src/func.c 43916c1d8e6da5d107d91d2b212577d4f69a876a F src/func.c 43916c1d8e6da5d107d91d2b212577d4f69a876a
F src/global.c 235021a21ee2cb52b304589f8f9e85a36bbe24fa F src/global.c 235021a21ee2cb52b304589f8f9e85a36bbe24fa
F src/hash.c 63d0ee752a3b92d4695b2b1f5259c4621b2cfebd F src/hash.c 63d0ee752a3b92d4695b2b1f5259c4621b2cfebd
@@ -388,12 +388,12 @@ F src/printf.c f94da4935d1dd25420ac50c6745db1deb35e07c1
F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c bb070cf5f23611c44ab7e4788803684e385fc3fb F src/resolve.c bb070cf5f23611c44ab7e4788803684e385fc3fb
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
F src/select.c b4bd43e1233c87e8a7cf66150421997b0396417e F src/select.c 204491a5e09a66380a067943d8651af8bda1d358
F src/shell.c f1c7fde7a83421e6ed620df41d200674a2327e65 F src/shell.c f1c7fde7a83421e6ed620df41d200674a2327e65
F src/sqlite.h.in e8e2d108d82647f0a812fdb74accf91c1ec08ddc F src/sqlite.h.in e8e2d108d82647f0a812fdb74accf91c1ec08ddc
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae F src/sqlite3ext.h 8648034aa702469afb553231677306cc6492a1ae
F src/sqliteInt.h 69345b355da43b89216e9cea619eb24ddd418896 F src/sqliteInt.h 657a892d885253768c82f1e04e8053468b13cb6a
F src/sqliteLimit.h c0373387c287c8d0932510b5547ecde31b5da247 F src/sqliteLimit.h c0373387c287c8d0932510b5547ecde31b5da247
F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1 F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9 F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9
@@ -464,7 +464,7 @@ F src/vdbeblob.c f4f98ea672b242f807c08c92c7faaa79e5091b65
F src/vdbemem.c d3fd85b7b7ef3eb75de29c6d7e1d10d3ca78b4fd F src/vdbemem.c d3fd85b7b7ef3eb75de29c6d7e1d10d3ca78b4fd
F src/vdbesort.c bb34eed4fb52e11ac037dccea4ee3190594c7f9e F src/vdbesort.c bb34eed4fb52e11ac037dccea4ee3190594c7f9e
F src/vdbetrace.c 41963d5376f0349842b5fc4aaaaacd7d9cdc0834 F src/vdbetrace.c 41963d5376f0349842b5fc4aaaaacd7d9cdc0834
F src/vtab.c e02cacb5c7ae742631edeb9ae9f53d399f093fd8 F src/vtab.c 2d5db3fd68c41c5a7476e43e79eb54181fa01713
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
F src/wal.c 40c543f0a2195d1b0dc88ef12142bea690009344 F src/wal.c 40c543f0a2195d1b0dc88ef12142bea690009344
F src/wal.h 06b2a0b599cc0f53ea97f497cf8c6b758c999f71 F src/wal.h 06b2a0b599cc0f53ea97f497cf8c6b758c999f71
@@ -1536,7 +1536,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 00a184b65f73f361e1728fea06529f746fab66b5 P d08b72c38ff6fae6ddf7dc84a54f6d7189876289
R bb3d64fa96b2e381730c4f4039396de5 R ee18812138ebcbd59cf246eeb625fa00
U drh U drh
Z 286d124da8f3f0702924a8d69dad9e38 Z c1d49b9032916157524a152005703654

View File

@@ -1 +1 @@
d08b72c38ff6fae6ddf7dc84a54f6d7189876289 9cae4c2e300e20304ced0dc8c1415c4922185928

View File

@@ -773,7 +773,7 @@ void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){
pNew = (Table*)sqlite3DbMallocZero(db, sizeof(Table)); pNew = (Table*)sqlite3DbMallocZero(db, sizeof(Table));
if( !pNew ) goto exit_begin_add_column; if( !pNew ) goto exit_begin_add_column;
pParse->pNewTable = pNew; pParse->pNewTable = pNew;
pNew->nRef = 1; pNew->nTabRef = 1;
pNew->nCol = pTab->nCol; pNew->nCol = pTab->nCol;
assert( pNew->nCol>0 ); assert( pNew->nCol>0 );
nAlloc = (((pNew->nCol-1)/8)*8)+8; nAlloc = (((pNew->nCol-1)/8)*8)+8;
@@ -793,7 +793,7 @@ void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){
} }
pNew->pSchema = db->aDb[iDb].pSchema; pNew->pSchema = db->aDb[iDb].pSchema;
pNew->addColOffset = pTab->addColOffset; pNew->addColOffset = pTab->addColOffset;
pNew->nRef = 1; pNew->nTabRef = 1;
/* Begin a transaction and increment the schema cookie. */ /* Begin a transaction and increment the schema cookie. */
sqlite3BeginWriteOperation(pParse, 0, iDb); sqlite3BeginWriteOperation(pParse, 0, iDb);

View File

@@ -634,7 +634,7 @@ static void SQLITE_NOINLINE deleteTable(sqlite3 *db, Table *pTable){
void sqlite3DeleteTable(sqlite3 *db, Table *pTable){ void sqlite3DeleteTable(sqlite3 *db, Table *pTable){
/* Do not delete the table until the reference count reaches zero. */ /* Do not delete the table until the reference count reaches zero. */
if( !pTable ) return; if( !pTable ) return;
if( ((!db || db->pnBytesFreed==0) && (--pTable->nRef)>0) ) return; if( ((!db || db->pnBytesFreed==0) && (--pTable->nTabRef)>0) ) return;
deleteTable(db, pTable); deleteTable(db, pTable);
} }
@@ -925,7 +925,7 @@ void sqlite3StartTable(
pTable->zName = zName; pTable->zName = zName;
pTable->iPKey = -1; pTable->iPKey = -1;
pTable->pSchema = db->aDb[iDb].pSchema; pTable->pSchema = db->aDb[iDb].pSchema;
pTable->nRef = 1; pTable->nTabRef = 1;
pTable->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); pTable->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) );
assert( pParse->pNewTable==0 ); assert( pParse->pNewTable==0 );
pParse->pNewTable = pTable; pParse->pNewTable = pTable;

View File

@@ -36,7 +36,7 @@ Table *sqlite3SrcListLookup(Parse *pParse, SrcList *pSrc){
sqlite3DeleteTable(pParse->db, pItem->pTab); sqlite3DeleteTable(pParse->db, pItem->pTab);
pItem->pTab = pTab; pItem->pTab = pTab;
if( pTab ){ if( pTab ){
pTab->nRef++; pTab->nTabRef++;
} }
if( sqlite3IndexedByLookup(pParse, pItem) ){ if( sqlite3IndexedByLookup(pParse, pItem) ){
pTab = 0; pTab = 0;

View File

@@ -1365,7 +1365,7 @@ SrcList *sqlite3SrcListDup(sqlite3 *db, SrcList *p, int flags){
} }
pTab = pNewItem->pTab = pOldItem->pTab; pTab = pNewItem->pTab = pOldItem->pTab;
if( pTab ){ if( pTab ){
pTab->nRef++; pTab->nTabRef++;
} }
pNewItem->pSelect = sqlite3SelectDup(db, pOldItem->pSelect, flags); pNewItem->pSelect = sqlite3SelectDup(db, pOldItem->pSelect, flags);
pNewItem->pOn = sqlite3ExprDup(db, pOldItem->pOn, flags); pNewItem->pOn = sqlite3ExprDup(db, pOldItem->pOn, flags);

View File

@@ -1007,7 +1007,7 @@ void sqlite3FkCheck(
struct SrcList_item *pItem = pSrc->a; struct SrcList_item *pItem = pSrc->a;
pItem->pTab = pFKey->pFrom; pItem->pTab = pFKey->pFrom;
pItem->zName = pFKey->pFrom->zName; pItem->zName = pFKey->pFrom->zName;
pItem->pTab->nRef++; pItem->pTab->nTabRef++;
pItem->iCursor = pParse->nTab++; pItem->iCursor = pParse->nTab++;
if( regNew!=0 ){ if( regNew!=0 ){

View File

@@ -1806,7 +1806,7 @@ Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){
/* The sqlite3ResultSetOfSelect() is only used n contexts where lookaside /* The sqlite3ResultSetOfSelect() is only used n contexts where lookaside
** is disabled */ ** is disabled */
assert( db->lookaside.bDisable ); assert( db->lookaside.bDisable );
pTab->nRef = 1; pTab->nTabRef = 1;
pTab->zName = 0; pTab->zName = 0;
pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) );
sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol); sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol);
@@ -3619,12 +3619,12 @@ static int flattenSubquery(
*/ */
if( ALWAYS(pSubitem->pTab!=0) ){ if( ALWAYS(pSubitem->pTab!=0) ){
Table *pTabToDel = pSubitem->pTab; Table *pTabToDel = pSubitem->pTab;
if( pTabToDel->nRef==1 ){ if( pTabToDel->nTabRef==1 ){
Parse *pToplevel = sqlite3ParseToplevel(pParse); Parse *pToplevel = sqlite3ParseToplevel(pParse);
pTabToDel->pNextZombie = pToplevel->pZombieTab; pTabToDel->pNextZombie = pToplevel->pZombieTab;
pToplevel->pZombieTab = pTabToDel; pToplevel->pZombieTab = pTabToDel;
}else{ }else{
pTabToDel->nRef--; pTabToDel->nTabRef--;
} }
pSubitem->pTab = 0; pSubitem->pTab = 0;
} }
@@ -4143,7 +4143,7 @@ static int withExpand(
assert( pFrom->pTab==0 ); assert( pFrom->pTab==0 );
pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table));
if( pTab==0 ) return WRC_Abort; if( pTab==0 ) return WRC_Abort;
pTab->nRef = 1; pTab->nTabRef = 1;
pTab->zName = sqlite3DbStrDup(db, pCte->zName); pTab->zName = sqlite3DbStrDup(db, pCte->zName);
pTab->iPKey = -1; pTab->iPKey = -1;
pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) );
@@ -4166,20 +4166,20 @@ static int withExpand(
){ ){
pItem->pTab = pTab; pItem->pTab = pTab;
pItem->fg.isRecursive = 1; pItem->fg.isRecursive = 1;
pTab->nRef++; pTab->nTabRef++;
pSel->selFlags |= SF_Recursive; pSel->selFlags |= SF_Recursive;
} }
} }
} }
/* Only one recursive reference is permitted. */ /* Only one recursive reference is permitted. */
if( pTab->nRef>2 ){ if( pTab->nTabRef>2 ){
sqlite3ErrorMsg( sqlite3ErrorMsg(
pParse, "multiple references to recursive table: %s", pCte->zName pParse, "multiple references to recursive table: %s", pCte->zName
); );
return SQLITE_ERROR; return SQLITE_ERROR;
} }
assert( pTab->nRef==1 || ((pSel->selFlags&SF_Recursive) && pTab->nRef==2 )); assert( pTab->nTabRef==1 || ((pSel->selFlags&SF_Recursive) && pTab->nTabRef==2 ));
pCte->zCteErr = "circular reference: %s"; pCte->zCteErr = "circular reference: %s";
pSavedWith = pParse->pWith; pSavedWith = pParse->pWith;
@@ -4312,7 +4312,7 @@ static int selectExpander(Walker *pWalker, Select *p){
if( sqlite3WalkSelect(pWalker, pSel) ) return WRC_Abort; if( sqlite3WalkSelect(pWalker, pSel) ) return WRC_Abort;
pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table));
if( pTab==0 ) return WRC_Abort; if( pTab==0 ) return WRC_Abort;
pTab->nRef = 1; pTab->nTabRef = 1;
pTab->zName = sqlite3MPrintf(db, "sqlite_sq_%p", (void*)pTab); pTab->zName = sqlite3MPrintf(db, "sqlite_sq_%p", (void*)pTab);
while( pSel->pPrior ){ pSel = pSel->pPrior; } while( pSel->pPrior ){ pSel = pSel->pPrior; }
sqlite3ColumnsFromExprList(pParse, pSel->pEList,&pTab->nCol,&pTab->aCol); sqlite3ColumnsFromExprList(pParse, pSel->pEList,&pTab->nCol,&pTab->aCol);
@@ -4325,13 +4325,13 @@ static int selectExpander(Walker *pWalker, Select *p){
assert( pFrom->pTab==0 ); assert( pFrom->pTab==0 );
pFrom->pTab = pTab = sqlite3LocateTableItem(pParse, 0, pFrom); pFrom->pTab = pTab = sqlite3LocateTableItem(pParse, 0, pFrom);
if( pTab==0 ) return WRC_Abort; if( pTab==0 ) return WRC_Abort;
if( pTab->nRef==0xffff ){ if( pTab->nTabRef>=0xffff ){
sqlite3ErrorMsg(pParse, "too many references to \"%s\": max 65535", sqlite3ErrorMsg(pParse, "too many references to \"%s\": max 65535",
pTab->zName); pTab->zName);
pFrom->pTab = 0; pFrom->pTab = 0;
return WRC_Abort; return WRC_Abort;
} }
pTab->nRef++; pTab->nTabRef++;
if( !IsVirtual(pTab) && cannotBeFunction(pParse, pFrom) ){ if( !IsVirtual(pTab) && cannotBeFunction(pParse, pFrom) ){
return WRC_Abort; return WRC_Abort;
} }

View File

@@ -1801,7 +1801,7 @@ struct Table {
ExprList *pCheck; /* All CHECK constraints */ ExprList *pCheck; /* All CHECK constraints */
/* ... also used as column name list in a VIEW */ /* ... also used as column name list in a VIEW */
int tnum; /* Root BTree page for this table */ int tnum; /* Root BTree page for this table */
u32 nRef; /* Number of pointers to this Table */ u32 nTabRef; /* Number of pointers to this Table */
i16 iPKey; /* If not negative, use aCol[iPKey] as the rowid */ i16 iPKey; /* If not negative, use aCol[iPKey] as the rowid */
i16 nCol; /* Number of columns in this table */ i16 nCol; /* Number of columns in this table */
LogEst nRowLogEst; /* Estimated rows in table - from sqlite_stat1 table */ LogEst nRowLogEst; /* Estimated rows in table - from sqlite_stat1 table */

View File

@@ -1133,7 +1133,7 @@ int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){
return 0; return 0;
} }
pMod->pEpoTab = pTab; pMod->pEpoTab = pTab;
pTab->nRef = 1; pTab->nTabRef = 1;
pTab->pSchema = db->aDb[0].pSchema; pTab->pSchema = db->aDb[0].pSchema;
pTab->tabFlags |= TF_Virtual; pTab->tabFlags |= TF_Virtual;
pTab->nModuleArg = 0; pTab->nModuleArg = 0;