Lines Matching defs:pTab

184 static int columnIndex(Table *pTab, const char *zCol){
186 for(i=0; i<pTab->nCol; i++){
187 if( sqlite3StrICmp(pTab->aCol[i].zName, zCol)==0 ) return i;
206 int *piCol /* Write index of pSrc->a[*piTab].pTab->aCol[] here */
213 iCol = columnIndex(pSrc->a[i].pTab, zCol);
253 assert( pSrc->a[iLeft].pTab );
254 assert( pSrc->a[iRight].pTab );
330 Table *pLeftTab = pLeft->pTab;
331 Table *pRightTab = pRight->pTab;
997 Table *pTab = 0; /* Table structure column is extracted from */
999 int iCol = pExpr->iColumn; /* Index of column in pTab */
1002 while( pNC && !pTab ){
1006 pTab = pTabList->a[j].pTab;
1013 if( pTab==0 ){
1034 assert( pTab && pExpr->pTab==pTab );
1052 }else if( ALWAYS(pTab->pSchema) ){
1055 if( iCol<0 ) iCol = pTab->iPKey;
1056 assert( iCol==-1 || (iCol>=0 && iCol<pTab->nCol) );
1061 zType = pTab->aCol[iCol].zType;
1062 zOriginCol = pTab->aCol[iCol].zName;
1064 zOriginTab = pTab->zName;
1066 int iDb = sqlite3SchemaToIndex(pNC->pParse->db, pTab->pSchema);
1174 Table *pTab;
1181 pTab = pTabList->a[j].pTab;
1182 if( iCol<0 ) iCol = pTab->iPKey;
1183 assert( iCol==-1 || (iCol>=0 && iCol<pTab->nCol) );
1187 zCol = pTab->aCol[iCol].zName;
1194 zName = sqlite3MPrintf(db, "%s.%s", pTab->zName, zCol);
1249 Table *pTab; /* Table associated with this expression */
1251 if( pColExpr->op==TK_COLUMN && ALWAYS(pColExpr->pTab!=0) ){
1254 pTab = pColExpr->pTab;
1255 if( iCol<0 ) iCol = pTab->iPKey;
1257 iCol>=0 ? pTab->aCol[iCol].zName : "rowid");
1349 Table *pTab;
1360 pTab = sqlite3DbMallocZero(db, sizeof(Table) );
1361 if( pTab==0 ){
1367 pTab->nRef = 1;
1368 pTab->zName = 0;
1369 pTab->nRowEst = 1000000;
1370 selectColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol);
1371 selectAddColumnTypeAndCollation(pParse, pTab->nCol, pTab->aCol, pSelect);
1372 pTab->iPKey = -1;
1374 sqlite3DeleteTable(db, pTab);
1377 return pTab;
2885 ** complete, since there may still exist Expr.pTab entries that
2888 ** pSubitem->pTab is always non-NULL by test restrictions and tests above.
2890 if( ALWAYS(pSubitem->pTab!=0) ){
2891 Table *pTabToDel = pSubitem->pTab;
2899 pSubitem->pTab = 0;
3087 Table *pTab;
3097 pTab = p->pSrc->a[0].pTab;
3099 assert( pTab && !pTab->pSelect && pExpr );
3101 if( IsVirtual(pTab) ) return 0;
3106 return pTab;
3117 if( pFrom->pTab && pFrom->zIndex ){
3118 Table *pTab = pFrom->pTab;
3121 for(pIdx=pTab->pIndex;
3142 ** (2) Fill in the pTabList->a[].pTab fields in the SrcList that
3187 Table *pTab;
3188 if( pFrom->pTab!=0 ){
3199 assert( pFrom->pTab==0 );
3201 pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table));
3202 if( pTab==0 ) return WRC_Abort;
3203 pTab->nRef = 1;
3204 pTab->zName = sqlite3MPrintf(db, "sqlite_subquery_%p_", (void*)pTab);
3206 selectColumnsFromExprList(pParse, pSel->pEList, &pTab->nCol, &pTab->aCol);
3207 pTab->iPKey = -1;
3208 pTab->nRowEst = 1000000;
3209 pTab->tabFlags |= TF_Ephemeral;
3213 assert( pFrom->pTab==0 );
3214 pFrom->pTab = pTab =
3216 if( pTab==0 ) return WRC_Abort;
3217 pTab->nRef++;
3219 if( pTab->pSelect || IsVirtual(pTab) ){
3221 if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort;
3223 pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0);
3297 Table *pTab = pFrom->pTab;
3300 zTabName = pTab->zName;
3307 for(j=0; j<pTab->nCol; j++){
3309 char *zName = pTab->aCol[j].zName;
3318 if( IsHiddenColumn(&pTab->aCol[j]) ){
3319 assert(IsVirtual(pTab));
3440 Table *pTab = pFrom->pTab;
3441 if( ALWAYS(pTab!=0) && (pTab->tabFlags & TF_Ephemeral)!=0 ){
3446 selectAddColumnTypeAndCollation(pParse, pTab->nCol, pTab->aCol, pSel);
3627 ** count(*) query ("SELECT count(*) FROM pTab").
3632 Table *pTab, /* Table being queried */
3637 pTab->zName,
3640 pTab->nRowEst
3807 pItem->pTab->nRowEst = (unsigned)pSub->nSelectRow;
4093 pCol->pTab, pCol->iColumn, pCol->iTable, r1);
4209 Table *pTab;
4210 if( (pTab = isSimpleCount(p, &sAggInfo))!=0 ){
4224 const int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema);
4229 int iRoot = pTab->tnum; /* Root page of scanned b-tree */
4232 sqlite3TableLock(pParse, iDb, pTab->tnum, 0, pTab->zName);
4245 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
4250 if( pBest && pBest->nColumn<pTab->nCol ){
4262 explainSimpleCount(pParse, pTab, pBest);
4430 if( pItem->pTab ){
4431 sqlite3DebugPrintf("(table: %s)", pItem->pTab->zName);