-C If\sthe\sargument\sto\sREINDEX\sis\sEXPRESSIONS\s(with\sno\sschema\sprefix)\sthen\sit\nupdates\sboth\sexpression\sindexes,\sand\sany\sindexes\snamed\s"expressions"\sor\nall\sindexes\sof\sany\stables\sname\s"expressions".
-D 2026-03-20T19:30:58.886
+C Undo\s"indices"→"indexes"\schanges\sin\scomments,\sto\savoid\sdiff\sclutter.\nFix\sa\scouple\sof\sunreachable\sbranches.
+D 2026-03-21T12:55:57.681
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F src/btree.c fb350c445316c1cc0529703c0b76450770a1de0ab0440641a56b19f05d6fefbe
F src/btree.h e823c46d87f63d904d735a24b76146d19f51f04445ea561f71cc3382fd1307f0
F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886
-F src/build.c c180fbb25a3c3e02c7eacdf1d5911a0f29bbd4b4c5e1b64fe5d8772096419a69
+F src/build.c f370ed7458c1c3258bf8d83abf4af7130b2ba3a76536022e2b4d42973c53f70e
F src/callback.c 3605bbf02bd7ed46c79cd48346db4a32fc51d67624400539c0532f4eead804ad
F src/carray.c 3efe3982d5fb323334c29328a4e189ccaef6b95612a6084ad5fa124fd5db1179
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P df5c5aa26758e0dc00a9ccba29eac83071176d257e121207e0a13c54833b18c0
-R fa2d2188fd0c121dfe90e3d57a7a9881
+P 72650dc152279a6da1937f377b1e16b79f4cd664841e12222dc5459838408d22
+R e0fda48d40309d20d90420d4127d6e00
U drh
-Z 99001bf01c3f8b11e63f25852a2515f5
+Z 2e3b1644d674f417856a9f921bab3628
# Remove this line to create a well-formed Fossil manifest.
}else{
Index *p;
/* Justification of ALWAYS(); The index must be on the list of
- ** indexes. */
+ ** indices. */
p = pIndex->pTable->pIndex;
while( ALWAYS(p) && p->pNext!=pIndex ){ p = p->pNext; }
if( ALWAYS(p && p->pNext==pIndex) ){
**
** This routine just deletes the data structure. It does not unlink
** the table data structure from the hash table. But it does destroy
-** memory structures of the indexes and foreign keys associated with
+** memory structures of the indices and foreign keys associated with
** the table.
**
** The db parameter is optional. It is needed if the Table object
}
#endif
- /* Delete all indexes associated with this table. */
+ /* Delete all indices associated with this table. */
for(pIndex = pTable->pIndex; pIndex; pIndex=pNext){
pNext = pIndex->pNext;
assert( pIndex->pSchema==pTable->pSchema
/*
** Unlink the given table from the hash tables and the delete the
-** table structure with all its indexes and foreign keys.
+** table structure with all its indices and foreign keys.
*/
void sqlite3UnlinkAndDeleteTable(sqlite3 *db, int iDb, const char *zTabName){
Table *p;
** the schema table. Note in particular that we must go ahead
** and allocate the record number for the table entry now. Before any
** PRIMARY KEY or UNIQUE keywords are parsed. Those keywords will cause
- ** indexes to be created and the table record must come before the
- ** indexes. Hence, the record number for the table must be allocated
+ ** indices to be created and the table record must come before the
+ ** indices. Hence, the record number for the table must be allocated
** now.
*/
if( !db->init.busy && (v = sqlite3GetVdbe(pParse))!=0 ){
** columns are part of KeyInfo.nAllField and are not used for
** sorting or lookup or uniqueness checks.
** (6) Replace the rowid tail on all automatically generated UNIQUE
-** indexes with the PRIMARY KEY columns.
+** indices with the PRIMARY KEY columns.
**
** For virtual tables, only (1) is performed.
*/
/* The root page of the PRIMARY KEY is the table root page */
pPk->tnum = pTab->tnum;
- /* Update the in-memory representation of all UNIQUE indexes by converting
+ /* Update the in-memory representation of all UNIQUE indices by converting
** the final rowid column into one or more columns of the PRIMARY KEY.
*/
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
}
#endif
- /* Estimate the average row size for the table and for all implied indexes */
+ /* Estimate the average row size for the table and for all implied indices */
estimateTableWidth(p);
for(pIdx=p->pIndex; pIdx; pIdx=pIdx->pNext){
estimateIndexWidth(pIdx);
** to iTo.
**
** Ticket #1728: The symbol table might still contain information
-** on tables and/or indexes that are the process of being deleted.
-** If you are unlucky, one of those deleted indexes or tables might
+** on tables and/or indices that are the process of being deleted.
+** If you are unlucky, one of those deleted indices or tables might
** have the same rootpage number as the real table or index that is
** being moved. So we cannot stop searching after the first match
-** because the first match might be for one of the deleted indexes
+** because the first match might be for one of the deleted indices
** or tables and not the table/index that is actually being moved.
-** We must continue looping until all tables and indexes with
+** We must continue looping until all tables and indices with
** rootpage==iFrom have been converted to have a rootpage of iTo
** in order to be certain that we got the right one.
*/
}
/*
-** Write VDBE code to erase table pTab and all associated indexes on disk.
+** Write VDBE code to erase table pTab and all associated indices on disk.
** Code to update the sqlite_schema tables and internal schema definitions
** in case a root-page belonging to another table is moved by the btree layer
** is also added (this can happen with an auto-vacuum database).
ExprList *pList, /* A list of columns to be indexed */
int onError, /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */
Token *pStart, /* The CREATE token that begins this statement */
- Expr *pPIWhere, /* WHERE clause for partial indexes */
+ Expr *pPIWhere, /* WHERE clause for partial indices */
int sortOrder, /* Sort order of primary key when pList==NULL */
int ifNotExist, /* Omit error if index already exists */
u8 idxType /* The index type */
** Find the name of the index. Make sure there is not already another
** index or table with the same name.
**
- ** Exception: If we are reading the names of permanent indexes from the
+ ** Exception: If we are reading the names of permanent indices from the
** sqlite_schema table (because some other process changed the schema) and
** one of the index names collides with the name of a temporary table or
** index, then we will continue to process this index.
**
** Either way, check to see if the table already has such an index. If
** so, don't bother creating this one. This only applies to
- ** automatically created indexes. Users can do as they wish with
- ** explicit indexes.
+ ** automatically created indices. Users can do as they wish with
+ ** explicit indices.
**
** Two UNIQUE or PRIMARY KEY constraints are considered equivalent
** (and thus suppressing the second one) even if they have different
**
** If there are different collating sequences or if the columns of
** the constraint occur in different orders, then the constraints are
- ** considered distinct and both result in separate indexes.
+ ** considered distinct and both result in separate indices.
*/
Index *pIdx;
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
**
** Apart from that, we have little to go on besides intuition as to
** how aiRowEst[] should be initialized. The numbers generated here
-** are based on typical values found in actual indexes.
+** are based on typical values found in actual indices.
*/
void sqlite3DefaultRowEst(Index *pIdx){
/* 10, 9, 8, 7, 6 */
assert( zColl!=0 );
for(i=0; i<pIndex->nColumn; i++){
const char *z = pIndex->azColl[i];
- assert( z!=0 || pIndex->aiColumn[i]<0 );
- if( z!=0 && 0==sqlite3StrICmp(z, zColl) ) return 1;
+ assert( z!=0 );
+ if( 0==sqlite3StrICmp(z, zColl) ){
+ return 1;
+ }
}
return 0;
}
if( iReDb<0 ) return;
z = sqlite3NameFromToken(db, pObjName);
if( z==0 ) return;
- zDb = pName2->n ? db->aDb[iReDb].zDbSName : 0;
+ zDb = db->aDb[iReDb].zDbSName;
}
if( !bAll ){
if( zDb==0 && sqlite3StrICmp(z, "expressions")==0 ){