Lines Matching refs:pTab
699 Table *pTab, /* The table containing the column */ in sqlite3ColumnSetExpr() argument
704 assert( IsOrdinaryTable(pTab) ); in sqlite3ColumnSetExpr()
705 pList = pTab->u.tab.pDfltList; in sqlite3ColumnSetExpr()
711 pTab->u.tab.pDfltList = sqlite3ExprListAppend(pParse, pList, pExpr); in sqlite3ColumnSetExpr()
723 Expr *sqlite3ColumnExpr(Table *pTab, Column *pCol){ in sqlite3ColumnExpr() argument
725 if( NEVER(!IsOrdinaryTable(pTab)) ) return 0; in sqlite3ColumnExpr()
726 if( NEVER(pTab->u.tab.pDfltList==0) ) return 0; in sqlite3ColumnExpr()
727 if( NEVER(pTab->u.tab.pDfltList->nExpr<pCol->iDflt) ) return 0; in sqlite3ColumnExpr()
728 return pTab->u.tab.pDfltList->a[pCol->iDflt-1].pExpr; in sqlite3ColumnExpr()
1080 Index *sqlite3PrimaryKeyIndex(Table *pTab){ in sqlite3PrimaryKeyIndex() argument
1082 for(p=pTab->pIndex; p && !IsPrimaryKeyIndex(p); p=p->pNext){} in sqlite3PrimaryKeyIndex()
1112 i16 sqlite3StorageColumnToTable(Table *pTab, i16 iCol){ in sqlite3StorageColumnToTable() argument
1113 if( pTab->tabFlags & TF_HasVirtual ){ in sqlite3StorageColumnToTable()
1116 if( pTab->aCol[i].colFlags & COLFLAG_VIRTUAL ) iCol++; in sqlite3StorageColumnToTable()
1160 i16 sqlite3TableColumnToStorage(Table *pTab, i16 iCol){ in sqlite3TableColumnToStorage() argument
1163 assert( iCol<pTab->nCol ); in sqlite3TableColumnToStorage()
1164 if( (pTab->tabFlags & TF_HasVirtual)==0 || iCol<0 ) return iCol; in sqlite3TableColumnToStorage()
1166 if( (pTab->aCol[i].colFlags & COLFLAG_VIRTUAL)==0 ) n++; in sqlite3TableColumnToStorage()
1168 if( pTab->aCol[i].colFlags & COLFLAG_VIRTUAL ){ in sqlite3TableColumnToStorage()
1170 return pTab->nNVCol + i - n; in sqlite3TableColumnToStorage()
1402 void sqlite3ColumnPropertiesFromName(Table *pTab, Column *pCol){ in sqlite3ColumnPropertiesFromName() argument
1405 if( pTab ) pTab->tabFlags |= TF_HasHidden; in sqlite3ColumnPropertiesFromName()
1406 }else if( pTab && pCol!=pTab->aCol && (pCol[-1].colFlags & COLFLAG_HIDDEN) ){ in sqlite3ColumnPropertiesFromName()
1407 pTab->tabFlags |= TF_OOOHidden; in sqlite3ColumnPropertiesFromName()
1838 Table *pTab = pParse->pNewTable; in sqlite3AddPrimaryKey() local
1842 if( pTab==0 ) goto primary_key_exit; in sqlite3AddPrimaryKey()
1843 if( pTab->tabFlags & TF_HasPrimaryKey ){ in sqlite3AddPrimaryKey()
1845 "table \"%s\" has more than one primary key", pTab->zName); in sqlite3AddPrimaryKey()
1848 pTab->tabFlags |= TF_HasPrimaryKey; in sqlite3AddPrimaryKey()
1850 iCol = pTab->nCol - 1; in sqlite3AddPrimaryKey()
1851 pCol = &pTab->aCol[iCol]; in sqlite3AddPrimaryKey()
1864 for(iCol=0; iCol<pTab->nCol; iCol++){ in sqlite3AddPrimaryKey()
1865 if( sqlite3StrICmp(zCName, pTab->aCol[iCol].zCnName)==0 ){ in sqlite3AddPrimaryKey()
1866 pCol = &pTab->aCol[iCol]; in sqlite3AddPrimaryKey()
1881 sqlite3RenameTokenRemap(pParse, &pTab->iPKey, pCExpr); in sqlite3AddPrimaryKey()
1883 pTab->iPKey = iCol; in sqlite3AddPrimaryKey()
1884 pTab->keyConf = (u8)onError; in sqlite3AddPrimaryKey()
1886 pTab->tabFlags |= autoInc*TF_Autoincrement; in sqlite3AddPrimaryKey()
1915 Table *pTab = pParse->pNewTable; in sqlite3AddCheckConstraint() local
1917 if( pTab && !IN_DECLARE_VTAB in sqlite3AddCheckConstraint()
1920 pTab->pCheck = sqlite3ExprListAppend(pParse, pTab->pCheck, pCheckExpr); in sqlite3AddCheckConstraint()
1922 sqlite3ExprListSetName(pParse, pTab->pCheck, &pParse->constraintName, 1); in sqlite3AddCheckConstraint()
1929 sqlite3ExprListSetName(pParse, pTab->pCheck, &t, 1); in sqlite3AddCheckConstraint()
1978 Table *pTab = pParse->pNewTable; in sqlite3AddGenerated() local
1980 if( pTab==0 ){ in sqlite3AddGenerated()
1984 pCol = &(pTab->aCol[pTab->nCol-1]); in sqlite3AddGenerated()
1999 if( eType==COLFLAG_VIRTUAL ) pTab->nNVCol--; in sqlite3AddGenerated()
2003 pTab->tabFlags |= eType; in sqlite3AddGenerated()
2007 sqlite3ColumnSetExpr(pParse, pTab, pCol, pExpr); in sqlite3AddGenerated()
2203 static void estimateTableWidth(Table *pTab){ in estimateTableWidth() argument
2207 for(i=pTab->nCol, pTabCol=pTab->aCol; i>0; i--, pTabCol++){ in estimateTableWidth()
2210 if( pTab->iPKey<0 ) wTable++; in estimateTableWidth()
2211 pTab->szTabRow = sqlite3LogEst(wTable*4); in estimateTableWidth()
2298 Table *pTab = pIdx->pTable; in recomputeColumnsNotIndexed() local
2301 if( x>=0 && (pTab->aCol[x].colFlags & COLFLAG_VIRTUAL)==0 ){ in recomputeColumnsNotIndexed()
2335 static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ in convertToWithoutRowidTable() argument
2347 for(i=0; i<pTab->nCol; i++){ in convertToWithoutRowidTable()
2348 if( (pTab->aCol[i].colFlags & COLFLAG_PRIMKEY)!=0 in convertToWithoutRowidTable()
2349 && (pTab->aCol[i].notNull==OE_None) in convertToWithoutRowidTable()
2351 pTab->aCol[i].notNull = OE_Abort; in convertToWithoutRowidTable()
2354 pTab->tabFlags |= TF_HasNotNull; in convertToWithoutRowidTable()
2369 if( pTab->iPKey>=0 ){ in convertToWithoutRowidTable()
2372 sqlite3TokenInit(&ipkToken, pTab->aCol[pTab->iPKey].zCnName); in convertToWithoutRowidTable()
2376 pTab->tabFlags &= ~TF_WithoutRowid; in convertToWithoutRowidTable()
2380 sqlite3RenameTokenRemap(pParse, pList->a[0].pExpr, &pTab->iPKey); in convertToWithoutRowidTable()
2383 assert( pParse->pNewTable==pTab ); in convertToWithoutRowidTable()
2384 pTab->iPKey = -1; in convertToWithoutRowidTable()
2385 sqlite3CreateIndex(pParse, 0, 0, 0, pList, pTab->keyConf, 0, 0, 0, 0, in convertToWithoutRowidTable()
2388 pTab->tabFlags &= ~TF_WithoutRowid; in convertToWithoutRowidTable()
2392 pPk = sqlite3PrimaryKeyIndex(pTab); in convertToWithoutRowidTable()
2395 pPk = sqlite3PrimaryKeyIndex(pTab); in convertToWithoutRowidTable()
2430 pPk->tnum = pTab->tnum; in convertToWithoutRowidTable()
2435 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ in convertToWithoutRowidTable()
2469 for(i=0; i<pTab->nCol; i++){ in convertToWithoutRowidTable()
2471 && (pTab->aCol[i].colFlags & COLFLAG_VIRTUAL)==0 ) nExtra++; in convertToWithoutRowidTable()
2474 for(i=0, j=nPk; i<pTab->nCol; i++){ in convertToWithoutRowidTable()
2476 && (pTab->aCol[i].colFlags & COLFLAG_VIRTUAL)==0 in convertToWithoutRowidTable()
2485 assert( pTab->nNVCol<=j ); in convertToWithoutRowidTable()
2495 int sqlite3IsShadowTableOf(sqlite3 *db, Table *pTab, const char *zName){ in sqlite3IsShadowTableOf() argument
2499 if( !IsVirtual(pTab) ) return 0; in sqlite3IsShadowTableOf()
2500 nName = sqlite3Strlen30(pTab->zName); in sqlite3IsShadowTableOf()
2501 if( sqlite3_strnicmp(zName, pTab->zName, nName)!=0 ) return 0; in sqlite3IsShadowTableOf()
2503 pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->u.vtab.azArg[0]); in sqlite3IsShadowTableOf()
2518 void sqlite3MarkAllShadowTablesOf(sqlite3 *db, Table *pTab){ in sqlite3MarkAllShadowTablesOf() argument
2523 assert( IsVirtual(pTab) ); in sqlite3MarkAllShadowTablesOf()
2524 pMod = (Module*)sqlite3HashFind(&db->aModule, pTab->u.vtab.azArg[0]); in sqlite3MarkAllShadowTablesOf()
2529 assert( pTab->zName!=0 ); in sqlite3MarkAllShadowTablesOf()
2530 nName = sqlite3Strlen30(pTab->zName); in sqlite3MarkAllShadowTablesOf()
2531 for(k=sqliteHashFirst(&pTab->pSchema->tblHash); k; k=sqliteHashNext(k)){ in sqlite3MarkAllShadowTablesOf()
2536 if( sqlite3StrNICmp(pOther->zName, pTab->zName, nName)==0 in sqlite3MarkAllShadowTablesOf()
2556 Table *pTab; /* Table that zName is a shadow of */ in sqlite3ShadowTableName() local
2560 pTab = sqlite3FindTable(db, zName, 0); in sqlite3ShadowTableName()
2562 if( pTab==0 ) return 0; in sqlite3ShadowTableName()
2563 if( !IsVirtual(pTab) ) return 0; in sqlite3ShadowTableName()
2564 return sqlite3IsShadowTableOf(db, pTab, zName); in sqlite3ShadowTableName()
3189 Table *pTab = sqliteHashData(i); in sqliteViewResetAll() local
3190 if( IsView(pTab) ){ in sqliteViewResetAll()
3191 sqlite3DeleteColumnNames(db, pTab); in sqliteViewResetAll()
3227 Table *pTab = sqliteHashData(pElem); in sqlite3RootPageMoved() local
3228 if( pTab->tnum==iFrom ){ in sqlite3RootPageMoved()
3229 pTab->tnum = iTo; in sqlite3RootPageMoved()
3278 static void destroyTable(Parse *pParse, Table *pTab){ in destroyTable() argument
3295 Pgno iTab = pTab->tnum; in destroyTable()
3305 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ in destroyTable()
3307 assert( pIdx->pSchema==pTab->pSchema ); in destroyTable()
3315 int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); in destroyTable()
3350 void sqlite3CodeDropTable(Parse *pParse, Table *pTab, int iDb, int isView){ in sqlite3CodeDropTable() argument
3361 if( IsVirtual(pTab) ){ in sqlite3CodeDropTable()
3370 pTrigger = sqlite3TriggerList(pParse, pTab); in sqlite3CodeDropTable()
3372 assert( pTrigger->pSchema==pTab->pSchema || in sqlite3CodeDropTable()
3384 if( pTab->tabFlags & TF_Autoincrement ){ in sqlite3CodeDropTable()
3387 pDb->zDbSName, pTab->zName in sqlite3CodeDropTable()
3402 pDb->zDbSName, pTab->zName); in sqlite3CodeDropTable()
3403 if( !isView && !IsVirtual(pTab) ){ in sqlite3CodeDropTable()
3404 destroyTable(pParse, pTab); in sqlite3CodeDropTable()
3410 if( IsVirtual(pTab) ){ in sqlite3CodeDropTable()
3411 sqlite3VdbeAddOp4(v, OP_VDestroy, iDb, 0, 0, pTab->zName, 0); in sqlite3CodeDropTable()
3414 sqlite3VdbeAddOp4(v, OP_DropTable, iDb, 0, 0, pTab->zName, 0); in sqlite3CodeDropTable()
3439 static int tableMayNotBeDropped(sqlite3 *db, Table *pTab){ in tableMayNotBeDropped() argument
3440 if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 ){ in tableMayNotBeDropped()
3441 if( sqlite3StrNICmp(pTab->zName+7, "stat", 4)==0 ) return 0; in tableMayNotBeDropped()
3442 if( sqlite3StrNICmp(pTab->zName+7, "parameters", 10)==0 ) return 0; in tableMayNotBeDropped()
3445 if( (pTab->tabFlags & TF_Shadow)!=0 && sqlite3ReadOnlyShadowTables(db) ){ in tableMayNotBeDropped()
3448 if( pTab->tabFlags & TF_Eponymous ){ in tableMayNotBeDropped()
3459 Table *pTab; in sqlite3DropTable() local
3472 pTab = sqlite3LocateTableItem(pParse, isView, &pName->a[0]); in sqlite3DropTable()
3475 if( pTab==0 ){ in sqlite3DropTable()
3482 iDb = sqlite3SchemaToIndex(db, pTab->pSchema); in sqlite3DropTable()
3488 if( IsVirtual(pTab) && sqlite3ViewGetColumnNames(pParse, pTab) ){ in sqlite3DropTable()
3507 }else if( IsVirtual(pTab) ){ in sqlite3DropTable()
3509 zArg2 = sqlite3GetVTable(db, pTab)->pMod->zName; in sqlite3DropTable()
3518 if( sqlite3AuthCheck(pParse, code, pTab->zName, zArg2, zDb) ){ in sqlite3DropTable()
3521 if( sqlite3AuthCheck(pParse, SQLITE_DELETE, pTab->zName, 0, zDb) ){ in sqlite3DropTable()
3526 if( tableMayNotBeDropped(db, pTab) ){ in sqlite3DropTable()
3527 sqlite3ErrorMsg(pParse, "table %s may not be dropped", pTab->zName); in sqlite3DropTable()
3535 if( isView && !IsView(pTab) ){ in sqlite3DropTable()
3536 sqlite3ErrorMsg(pParse, "use DROP TABLE to delete table %s", pTab->zName); in sqlite3DropTable()
3539 if( !isView && IsView(pTab) ){ in sqlite3DropTable()
3540 sqlite3ErrorMsg(pParse, "use DROP VIEW to delete view %s", pTab->zName); in sqlite3DropTable()
3552 sqlite3ClearStatTables(pParse, iDb, "tbl", pTab->zName); in sqlite3DropTable()
3553 sqlite3FkDropTable(pParse, pName, pTab); in sqlite3DropTable()
3555 sqlite3CodeDropTable(pParse, pTab, iDb, isView); in sqlite3DropTable()
3712 Table *pTab; in sqlite3DeferForeignKey() local
3714 if( (pTab = pParse->pNewTable)==0 ) return; in sqlite3DeferForeignKey()
3715 if( NEVER(!IsOrdinaryTable(pTab)) ) return; in sqlite3DeferForeignKey()
3716 if( (pFKey = pTab->u.tab.pFKey)==0 ) return; in sqlite3DeferForeignKey()
3734 Table *pTab = pIndex->pTable; /* The table that is indexed */ in sqlite3RefillIndex() local
3756 sqlite3TableLock(pParse, iDb, pTab->tnum, 1, pTab->zName); in sqlite3RefillIndex()
3775 sqlite3OpenTable(pParse, iTab, iDb, pTab, OP_OpenRead); in sqlite3RefillIndex()
3913 Table *pTab = 0; /* Table to be indexed */ in sqlite3CreateIndex() local
3965 pTab = sqlite3SrcListLookup(pParse, pTblName); in sqlite3CreateIndex()
3966 if( pName2->n==0 && pTab && pTab->pSchema==db->aDb[1].pSchema ){ in sqlite3CreateIndex()
3978 pTab = sqlite3LocateTableItem(pParse, 0, &pTblName->a[0]); in sqlite3CreateIndex()
3979 assert( db->mallocFailed==0 || pTab==0 ); in sqlite3CreateIndex()
3980 if( pTab==0 ) goto exit_create_index; in sqlite3CreateIndex()
3981 if( iDb==1 && db->aDb[iDb].pSchema!=pTab->pSchema ){ in sqlite3CreateIndex()
3984 pTab->zName); in sqlite3CreateIndex()
3987 if( !HasRowid(pTab) ) pPk = sqlite3PrimaryKeyIndex(pTab); in sqlite3CreateIndex()
3991 pTab = pParse->pNewTable; in sqlite3CreateIndex()
3992 if( !pTab ) goto exit_create_index; in sqlite3CreateIndex()
3993 iDb = sqlite3SchemaToIndex(db, pTab->pSchema); in sqlite3CreateIndex()
3997 assert( pTab!=0 ); in sqlite3CreateIndex()
3998 if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 in sqlite3CreateIndex()
4002 && sqlite3UserAuthTable(pTab->zName)==0 in sqlite3CreateIndex()
4005 sqlite3ErrorMsg(pParse, "table %s may not be indexed", pTab->zName); in sqlite3CreateIndex()
4009 if( IsView(pTab) ){ in sqlite3CreateIndex()
4015 if( IsVirtual(pTab) ){ in sqlite3CreateIndex()
4038 if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName,"index",pTab->zName) ){ in sqlite3CreateIndex()
4062 for(pLoop=pTab->pIndex, n=1; pLoop; pLoop=pLoop->pNext, n++){} in sqlite3CreateIndex()
4063 zName = sqlite3MPrintf(db, "sqlite_autoindex_%s_%d", pTab->zName, n); in sqlite3CreateIndex()
4086 if( sqlite3AuthCheck(pParse, i, zName, pTab->zName, zDb) ){ in sqlite3CreateIndex()
4098 Column *pCol = &pTab->aCol[pTab->nCol-1]; in sqlite3CreateIndex()
4139 pIndex->pTable = pTab; in sqlite3CreateIndex()
4146 sqlite3ResolveSelfReference(pParse, pTab, NC_PartIdx, pPIWhere, 0); in sqlite3CreateIndex()
4180 sqlite3ResolveSelfReference(pParse, pTab, NC_IdxExpr, pListItem->pExpr, 0); in sqlite3CreateIndex()
4184 if( pTab==pParse->pNewTable ){ in sqlite3CreateIndex()
4201 j = pTab->iPKey; in sqlite3CreateIndex()
4203 if( pTab->aCol[j].notNull==0 ){ in sqlite3CreateIndex()
4206 if( pTab->aCol[j].colFlags & COLFLAG_VIRTUAL ){ in sqlite3CreateIndex()
4225 zColl = sqlite3ColumnColl(&pTab->aCol[j]); in sqlite3CreateIndex()
4264 assert( HasRowid(pTab) in sqlite3CreateIndex()
4265 || pTab->iPKey<0 || sqlite3TableColumnToIndex(pIndex, pTab->iPKey)>=0 ); in sqlite3CreateIndex()
4267 if( pTblName!=0 && pIndex->nColumn>=pTab->nCol ){ in sqlite3CreateIndex()
4269 for(j=0; j<pTab->nCol; j++){ in sqlite3CreateIndex()
4270 if( j==pTab->iPKey ) continue; in sqlite3CreateIndex()
4277 if( pTab==pParse->pNewTable ){ in sqlite3CreateIndex()
4300 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ in sqlite3CreateIndex()
4385 else if( HasRowid(pTab) || pTblName!=0 ){ in sqlite3CreateIndex()
4426 pTab->zName, in sqlite3CreateIndex()
4447 pIndex->pNext = pTab->pIndex; in sqlite3CreateIndex()
4448 pTab->pIndex = pIndex; in sqlite3CreateIndex()
4460 if( pTab ){ in sqlite3CreateIndex()
4467 for(ppFrom=&pTab->pIndex; (pThis = *ppFrom)!=0; ppFrom=&pThis->pNext){ in sqlite3CreateIndex()
4482 for(pThis = pTab->pIndex; pThis; pThis=pThis->pNext){ in sqlite3CreateIndex()
4591 Table *pTab = pIndex->pTable; in sqlite3DropIndex() local
4598 if( sqlite3AuthCheck(pParse, code, pIndex->zName, pTab->zName, zDb) ){ in sqlite3DropIndex()
4915 sqlite3DeleteTable(db, pItem->pTab); in sqlite3SrcListDelete()
5344 Table *pTab = pIdx->pTable; in sqlite3UniqueConstraint() local
5354 zCol = pTab->aCol[pIdx->aiColumn[j]].zCnName; in sqlite3UniqueConstraint()
5356 sqlite3_str_appendall(&errMsg, pTab->zName); in sqlite3UniqueConstraint()
5375 Table *pTab /* The table with the non-unique rowid */ in sqlite3RowidConstraint() argument
5379 if( pTab->iPKey>=0 ){ in sqlite3RowidConstraint()
5380 zMsg = sqlite3MPrintf(pParse->db, "%s.%s", pTab->zName, in sqlite3RowidConstraint()
5381 pTab->aCol[pTab->iPKey].zCnName); in sqlite3RowidConstraint()
5384 zMsg = sqlite3MPrintf(pParse->db, "%s.rowid", pTab->zName); in sqlite3RowidConstraint()
5415 static void reindexTable(Parse *pParse, Table *pTab, char const *zColl){ in reindexTable() argument
5416 if( !IsVirtual(pTab) ){ in reindexTable()
5419 for(pIndex=pTab->pIndex; pIndex; pIndex=pIndex->pNext){ in reindexTable()
5421 int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); in reindexTable()
5441 Table *pTab; /* A table in the database */ in reindexDatabases() local
5447 pTab = (Table*)sqliteHashData(k); in reindexDatabases()
5448 reindexTable(pParse, pTab, zColl); in reindexDatabases()
5472 Table *pTab; /* A table in the database */ in sqlite3Reindex() local
5505 pTab = sqlite3FindTable(db, z, zDb); in sqlite3Reindex()
5506 if( pTab ){ in sqlite3Reindex()
5507 reindexTable(pParse, pTab, 0); in sqlite3Reindex()