Lines Matching refs:pCol
35615 SQLITE_PRIVATE char *sqlite3ColumnType(Column *pCol, char *zDflt){ in sqlite3ColumnType() argument
35616 if( pCol->colFlags & COLFLAG_HASTYPE ){ in sqlite3ColumnType()
35617 return pCol->zCnName + strlen(pCol->zCnName) + 1; in sqlite3ColumnType()
35618 }else if( pCol->eCType ){ in sqlite3ColumnType()
35619 assert( pCol->eCType<=SQLITE_N_STDTYPE ); in sqlite3ColumnType()
35620 return (char*)sqlite3StdType[pCol->eCType-1]; in sqlite3ColumnType()
93693 Column *pCol = &p->pTab->aCol[iIdx]; local
93694 if( pCol->iDflt>0 ){
93706 pDflt = p->pTab->u.tab.pDfltList->a[pCol->iDflt-1].pExpr;
93707 rc = sqlite3ValueFromExpr(db, pDflt, ENC(db), pCol->affinity, &pVal);
114603 Column *pCol, /* The generated column */
114616 sqlite3ExprCodeCopy(pParse, sqlite3ColumnExpr(pTab,pCol), regOut);
114617 if( pCol->affinity>=SQLITE_AFF_TEXT ){
114618 sqlite3VdbeAddOp4(v, OP_Affinity, regOut, 1, 0, &pCol->affinity, 1);
114635 Column *pCol;
114649 }else if( (pCol = &pTab->aCol[iCol])->colFlags & COLFLAG_VIRTUAL ){
114651 if( pCol->colFlags & COLFLAG_BUSY ){
114653 pCol->zCnName);
114656 pCol->colFlags |= COLFLAG_BUSY;
114658 sqlite3ExprCodeGeneratedColumn(pParse, pTab, pCol, regOut);
114660 pCol->colFlags &= ~COLFLAG_BUSY;
115096 struct AggInfo_col *pCol;
115111 pCol = &pAggInfo->aCol[pExpr->iAgg];
115115 Table *pTab = pCol->pTab;
115117 pCol->iSorterColumn, target);
115120 }else if( pCol->iColumn<0 ){
115124 pTab->zName, pTab->aCol[pCol->iColumn].zCnName));
115125 if( pTab->aCol[pCol->iColumn].affinity==SQLITE_AFF_REAL ){
115171 Column *pCol;
115183 pCol = pTab->aCol + iCol;
115187 if( pCol->colFlags & COLFLAG_GENERATED ){
115188 if( pCol->colFlags & COLFLAG_BUSY ){
115190 pCol->zCnName);
115193 pCol->colFlags |= COLFLAG_BUSY;
115194 if( pCol->colFlags & COLFLAG_NOTAVAIL ){
115195 sqlite3ExprCodeGeneratedColumn(pParse, pTab, pCol, iSrc);
115197 pCol->colFlags &= ~(COLFLAG_BUSY|COLFLAG_NOTAVAIL);
115201 if( pCol->affinity==SQLITE_AFF_REAL ){
117381 struct AggInfo_col *pCol;
117387 pCol = pAggInfo->aCol;
117388 for(k=0; k<pAggInfo->nColumn; k++, pCol++){
117389 if( pCol->pCExpr==pExpr ) return;
117390 if( pCol->iTable==pExpr->iTable
117391 && pCol->iColumn==pExpr->iColumn
117407 pCol = &pAggInfo->aCol[k];
117409 pCol->pTab = pExpr->y.pTab;
117410 pCol->iTable = pExpr->iTable;
117411 pCol->iColumn = pExpr->iColumn;
117412 pCol->iSorterColumn = -1;
117413 pCol->pCExpr = pExpr;
117425 pCol->iSorterColumn = j;
117430 if( pCol->iSorterColumn<0 ){
117431 pCol->iSorterColumn = pAggInfo->nSortingColumn++;
118088 Column *pCol; /* The new column */
118105 pCol = &pNew->aCol[pNew->nCol-1];
118106 pDflt = sqlite3ColumnExpr(pNew, pCol);
118122 if( pCol->colFlags & COLFLAG_PRIMKEY ){
118131 if( (pCol->colFlags & COLFLAG_GENERATED)==0 ){
118145 if( pCol->notNull && !pDflt ){
118169 }else if( pCol->colFlags & COLFLAG_STORED ){
118216 || (pCol->notNull && (pCol->colFlags & COLFLAG_GENERATED)!=0)
118310 Column *pCol = &pNew->aCol[i];
118311 pCol->zCnName = sqlite3DbStrDup(db, pCol->zCnName);
118312 pCol->hName = sqlite3StrIHash(pCol->zCnName);
119887 RenameToken *pCol;
119907 pCol = renameTokenFind(&sParse, 0, (void*)pTab->aCol[iCol].zCnName);
119915 while( ALWAYS(pCol->t.z[0]!=0) && pCol->t.z[0]!=',' ) pCol->t.z--;
119918 zNew = sqlite3MPrintf(db, "%.*s%s", pCol->t.z-zSql, zSql, zEnd);
123678 Column *pCol, /* The column to receive the new DEFAULT expression */
123684 if( pCol->iDflt==0
123686 || NEVER(pList->nExpr<pCol->iDflt)
123688 pCol->iDflt = pList==0 ? 1 : pList->nExpr+1;
123691 sqlite3ExprDelete(pParse->db, pList->a[pCol->iDflt-1].pExpr);
123692 pList->a[pCol->iDflt-1].pExpr = pExpr;
123701 SQLITE_PRIVATE Expr *sqlite3ColumnExpr(Table *pTab, Column *pCol){
123702 if( pCol->iDflt==0 ) return 0;
123705 if( NEVER(pTab->u.tab.pDfltList->nExpr<pCol->iDflt) ) return 0;
123706 return pTab->u.tab.pDfltList->a[pCol->iDflt-1].pExpr;
123714 Column *pCol,
123721 n = sqlite3Strlen30(pCol->zCnName) + 1;
123722 if( pCol->colFlags & COLFLAG_HASTYPE ){
123723 n += sqlite3Strlen30(pCol->zCnName+n) + 1;
123726 zNew = sqlite3DbRealloc(db, pCol->zCnName, nColl+n);
123728 pCol->zCnName = zNew;
123729 memcpy(pCol->zCnName + n, zColl, nColl);
123730 pCol->colFlags |= COLFLAG_HASCOLL;
123737 SQLITE_PRIVATE const char *sqlite3ColumnColl(Column *pCol){
123739 if( (pCol->colFlags & COLFLAG_HASCOLL)==0 ) return 0;
123740 z = pCol->zCnName;
123742 if( pCol->colFlags & COLFLAG_HASTYPE ){
123754 Column *pCol;
123757 if( (pCol = pTable->aCol)!=0 ){
123758 for(i=0; i<pTable->nCol; i++, pCol++){
123759 assert( pCol->zCnName==0 || pCol->hName==sqlite3StrIHash(pCol->zCnName) );
123760 sqlite3DbFree(db, pCol->zCnName);
124390 SQLITE_PRIVATE void sqlite3ColumnPropertiesFromName(Table *pTab, Column *pCol){
124391 if( sqlite3_strnicmp(pCol->zCnName, "__hidden__", 10)==0 ){
124392 pCol->colFlags |= COLFLAG_HIDDEN;
124394 }else if( pTab && pCol!=pTab->aCol && (pCol[-1].colFlags & COLFLAG_HIDDEN) ){
124484 Column *pCol;
124550 pCol = &p->aCol[p->nCol];
124551 memset(pCol, 0, sizeof(p->aCol[0]));
124552 pCol->zCnName = z;
124553 pCol->hName = sqlite3StrIHash(z);
124554 sqlite3ColumnPropertiesFromName(p, pCol);
124559 pCol->affinity = affinity;
124560 pCol->eCType = eType;
124561 pCol->szEst = szEst;
124565 pCol->colFlags |= COLFLAG_SORTERREF;
124574 pCol->affinity = sqlite3AffinityType(zType, pCol);
124575 pCol->colFlags |= COLFLAG_HASTYPE;
124578 u8 h = pCol->hName % sizeof(p->aHx);
124595 Column *pCol;
124598 pCol = &p->aCol[p->nCol-1];
124599 pCol->notNull = (u8)onError;
124604 if( pCol->colFlags & COLFLAG_UNIQUE ){
124640 SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, Column *pCol){
124680 if( pCol ){
124698 pCol->colFlags |= COLFLAG_SORTERREF;
124703 pCol->szEst = v;
124725 Column *pCol;
124730 pCol = &(p->aCol[p->nCol-1]);
124733 pCol->zCnName);
124735 }else if( pCol->colFlags & COLFLAG_GENERATED ){
124736 testcase( pCol->colFlags & COLFLAG_VIRTUAL );
124737 testcase( pCol->colFlags & COLFLAG_STORED );
124752 sqlite3ColumnSetExpr(pParse, p, pCol, pDfltExpr);
124788 static void makeColumnPartOfPrimaryKey(Parse *pParse, Column *pCol){
124789 pCol->colFlags |= COLFLAG_PRIMKEY;
124791 if( pCol->colFlags & COLFLAG_GENERATED ){
124792 testcase( pCol->colFlags & COLFLAG_VIRTUAL );
124793 testcase( pCol->colFlags & COLFLAG_STORED );
124826 Column *pCol = 0;
124838 pCol = &pTab->aCol[iCol];
124839 makeColumnPartOfPrimaryKey(pParse, pCol);
124851 pCol = &pTab->aCol[iCol];
124852 makeColumnPartOfPrimaryKey(pParse, pCol);
124858 && pCol
124859 && pCol->eCType==COLTYPE_INTEGER
124964 Column *pCol;
124969 pCol = &(pTab->aCol[pTab->nCol-1]);
124974 if( pCol->iDflt>0 ) goto generated_error;
124985 pCol->colFlags |= eType;
124989 if( pCol->colFlags & COLFLAG_PRIMKEY ){
124990 makeColumnPartOfPrimaryKey(pParse, pCol); /* For the error message */
124999 if( pExpr && pExpr->op!=TK_RAISE ) pExpr->affExpr = pCol->affinity;
125000 sqlite3ColumnSetExpr(pParse, pTab, pCol, pExpr);
125006 pCol->zCnName);
125106 Column *pCol;
125108 for(pCol = p->aCol, i=0; i<p->nCol; i++, pCol++){
125109 n += identLength(pCol->zCnName) + 5;
125132 for(pCol=p->aCol, i=0; i<p->nCol; i++, pCol++){
125148 identPut(zStmt, &k, pCol->zCnName);
125150 assert( pCol->affinity-SQLITE_AFF_BLOB >= 0 );
125151 assert( pCol->affinity-SQLITE_AFF_BLOB < ArraySize(azType) );
125152 testcase( pCol->affinity==SQLITE_AFF_BLOB );
125153 testcase( pCol->affinity==SQLITE_AFF_TEXT );
125154 testcase( pCol->affinity==SQLITE_AFF_NUMERIC );
125155 testcase( pCol->affinity==SQLITE_AFF_INTEGER );
125156 testcase( pCol->affinity==SQLITE_AFF_REAL );
125157 testcase( pCol->affinity==SQLITE_AFF_FLEXNUM );
125159 zType = azType[pCol->affinity - SQLITE_AFF_BLOB];
125161 assert( pCol->affinity==SQLITE_AFF_BLOB
125162 || pCol->affinity==SQLITE_AFF_FLEXNUM
125163 || pCol->affinity==sqlite3AffinityType(zType, 0) );
125677 Column *pCol = &p->aCol[ii];
125678 if( pCol->eCType==COLTYPE_CUSTOM ){
125679 if( pCol->colFlags & COLFLAG_HASTYPE ){
125682 p->zName, pCol->zCnName, sqlite3ColumnType(pCol, "")
125686 p->zName, pCol->zCnName);
125689 }else if( pCol->eCType==COLTYPE_ANY ){
125690 pCol->affinity = SQLITE_AFF_BLOB;
125692 if( (pCol->colFlags & COLFLAG_PRIMKEY)!=0
125694 && pCol->notNull == OE_None
125696 pCol->notNull = OE_Abort;
127121 Column *pCol = &pTab->aCol[pTab->nCol-1];
127122 pCol->colFlags |= COLFLAG_UNIQUE;
127123 sqlite3TokenInit(&prevCol, pCol->zCnName);
133805 Column *pCol;
133812 pCol = &pTab->aCol[iCol];
133814 pExpr->affExpr = pCol->affinity;
133815 zColl = sqlite3ColumnColl(pCol);
134164 Column *pCol = &pTab->aCol[iKey];
134166 if( 0==sqlite3StrICmp(pCol->zCnName, zKey) ) return 1;
134167 }else if( pCol->colFlags & COLFLAG_PRIMKEY ){
134627 Column *pCol = pFKey->pFrom->aCol + iFromCol;
134629 if( pCol->colFlags & COLFLAG_GENERATED ){
134630 testcase( pCol->colFlags & COLFLAG_VIRTUAL );
134631 testcase( pCol->colFlags & COLFLAG_STORED );
134634 pDflt = sqlite3ColumnExpr(pFKey->pFrom, pCol);
135169 Column *pCol = pTab->aCol + i;
135170 if( (pCol->colFlags & COLFLAG_NOTAVAIL)!=0 ){
135172 pCol->colFlags |= COLFLAG_BUSY;
135174 sqlite3WalkExpr(&w, sqlite3ColumnExpr(pTab, pCol));
135175 pCol->colFlags &= ~COLFLAG_BUSY;
135177 pRedo = pCol;
135181 assert( pCol->colFlags & COLFLAG_GENERATED );
135183 sqlite3ExprCodeGeneratedColumn(pParse, pTab, pCol, x);
135184 pCol->colFlags &= ~COLFLAG_NOTAVAIL;
136779 Column *pCol = &pTab->aCol[i]; /* The column to check for NOT NULL */
136781 onError = pCol->notNull;
136786 isGenerated = pCol->colFlags & COLFLAG_GENERATED;
136802 || pCol->iDflt==0 /* REPLACE is ABORT if no DEFAULT value */
136804 testcase( pCol->colFlags & COLFLAG_VIRTUAL );
136805 testcase( pCol->colFlags & COLFLAG_STORED );
136806 testcase( pCol->colFlags & COLFLAG_GENERATED );
136822 assert( (pCol->colFlags & COLFLAG_GENERATED)==0 );
136825 sqlite3ColumnExpr(pTab, pCol), iReg);
136835 pCol->zCnName);
141870 Column *pCol;
141874 for(i=0, pCol=pTab->aCol; i<pTab->nCol; i++, pCol++){
141877 if( pCol->colFlags & COLFLAG_NOINSERT ){
141882 if( pCol->colFlags & COLFLAG_VIRTUAL ){
141884 }else if( pCol->colFlags & COLFLAG_STORED ){
141886 }else{ assert( pCol->colFlags & COLFLAG_HIDDEN );
141890 if( (pCol->colFlags & COLFLAG_PRIMKEY)==0 ){
141897 pColExpr = sqlite3ColumnExpr(pTab,pCol);
141903 pCol->zCnName,
141904 sqlite3ColumnType(pCol,""),
141905 pCol->notNull ? 1 : 0,
142566 Column *pCol = pTab->aCol + j; /* The column to be checked */
142574 doTypeCheck = pCol->eCType>COLTYPE_ANY;
142576 doTypeCheck = pCol->affinity>SQLITE_AFF_BLOB;
142578 if( pCol->notNull==0 && !doTypeCheck ) continue;
142582 if( pCol->colFlags & COLFLAG_VIRTUAL ){
142587 if( pCol->iDflt ){
142589 sqlite3ValueFromExpr(db, sqlite3ColumnExpr(pTab,pCol), ENC(db),
142590 pCol->affinity, &pDfltValue);
142608 if( pCol->notNull ){
142628 pCol->zCnName);
142649 assert( pCol->eCType>=1 && pCol->eCType<=sizeof(aStdTypeMask) );
142650 sqlite3VdbeChangeP5(v, aStdTypeMask[pCol->eCType-1]);
142653 sqlite3StdType[pCol->eCType-1],
142656 }else if( !bStrict && pCol->affinity==SQLITE_AFF_TEXT ){
142665 }else if( !bStrict && pCol->affinity>=SQLITE_AFF_NUMERIC ){
147084 Column *aCol, *pCol; /* For looping over result columns */
147105 for(i=0, pCol=aCol; i<nCol && !pParse->nErr; i++, pCol++){
147147 pCol->colFlags |= COLFLAG_NOEXPAND;
147160 pCol->zCnName = zName;
147161 pCol->hName = sqlite3StrIHash(zName);
147163 pCol->colFlags |= COLFLAG_NOEXPAND;
147165 sqlite3ColumnPropertiesFromName(0, pCol);
147201 Column *pCol;
147217 for(i=0, pCol=pTab->aCol; i<pTab->nCol; i++, pCol++){
147222 pTab->tabFlags |= (pCol->colFlags & COLFLAG_NOINSERT);
147225 pCol->affinity = sqlite3ExprAffinity(p);
147226 while( pCol->affinity<=SQLITE_AFF_NONE && pS2->pNext!=0 ){
147229 pCol->affinity = sqlite3ExprAffinity(pS2->pEList->a[i].pExpr);
147231 if( pCol->affinity<=SQLITE_AFF_NONE ){
147232 pCol->affinity = aff;
147234 if( pCol->affinity>=SQLITE_AFF_TEXT && (pS2->pNext || pS2!=pSelect) ){
147238 if( pCol->affinity==SQLITE_AFF_TEXT && (m&0x01)!=0 ){
147239 pCol->affinity = SQLITE_AFF_BLOB;
147241 if( pCol->affinity>=SQLITE_AFF_NUMERIC && (m&0x02)!=0 ){
147242 pCol->affinity = SQLITE_AFF_BLOB;
147244 if( pCol->affinity>=SQLITE_AFF_NUMERIC && p->op==TK_CAST ){
147245 pCol->affinity = SQLITE_AFF_FLEXNUM;
147249 if( zType==0 || pCol->affinity!=sqlite3AffinityType(zType, 0) ){
147250 if( pCol->affinity==SQLITE_AFF_NUMERIC
147251 || pCol->affinity==SQLITE_AFF_FLEXNUM
147257 if( sqlite3StdTypeAffinity[j]==pCol->affinity ){
147266 n = sqlite3Strlen30(pCol->zCnName);
147267 pCol->zCnName = sqlite3DbReallocOrFree(db, pCol->zCnName, n+k+2);
147268 pCol->colFlags &= ~(COLFLAG_HASTYPE|COLFLAG_HASCOLL);
147269 if( pCol->zCnName ){
147270 memcpy(&pCol->zCnName[n+1], zType, k+1);
147271 pCol->colFlags |= COLFLAG_HASTYPE;
147277 sqlite3ColumnSetColl(db, pCol, pColl->zName);
151410 struct AggInfo_col *pCol = &pAggInfo->aCol[ii];
151414 ii, pCol->pTab ? pCol->pTab->zName : "NULL",
151415 pCol->iTable, pCol->iColumn, pAggInfo->iFirstReg+ii,
151416 pCol->iSorterColumn,
151524 struct AggInfo_col *pCol;
151533 pCol = &pAggInfo->aCol[pExpr->iAgg];
151535 pExpr->iTable = pCol->iTable;
151536 pExpr->iColumn = pCol->iColumn;
153268 struct AggInfo_col *pCol = &pAggInfo->aCol[i];
153269 if( pCol->iSorterColumn>=j ){
153270 sqlite3ExprCode(pParse, pCol->pCExpr, j + regBase);
154959 Expr *pCol = pNew->a[i].pExpr;
154960 assert( pCol!=0 ); /* Due to !db->mallocFailed ~9 lines above */
154961 sqlite3ExprCodeFactorable(pParse, pCol, reg+i);
154962 if( sqlite3ExprAffinity(pCol)==SQLITE_AFF_REAL ){
155497 Column *pCol;
155500 pCol = &pTab->aCol[i];
155501 if( pCol->iDflt ){
155505 VdbeComment((v, "%s.%s", pTab->zName, pCol->zCnName));
155508 sqlite3ColumnExpr(pTab,pCol), enc,
155509 pCol->affinity, &pValue);
155515 if( pCol->affinity==SQLITE_AFF_REAL && !IsVirtual(pTab) ){
162934 Expr *pCol; /* Column reference */
162950 pCol = pList->a[1].pExpr;
162951 assert( pCol->op!=TK_COLUMN || (ExprUseYTab(pCol) && pCol->y.pTab!=0) );
162952 if( ExprIsVtab(pCol) ){
162958 *ppLeft = pCol;
162974 pCol = pList->a[0].pExpr;
162975 assert( pCol->op!=TK_COLUMN || ExprUseYTab(pCol) );
162976 assert( pCol->op!=TK_COLUMN || (ExprUseYTab(pCol) && pCol->y.pTab!=0) );
162977 if( ExprIsVtab(pCol) ){
162982 pVtab = sqlite3GetVTable(db, pCol->y.pTab)->pVtab;
162992 *ppLeft = pCol;
186608 Column *pCol = 0;
186644 pCol = &pTab->aCol[iCol];
186648 pCol = iCol>=0 ? &pTab->aCol[iCol] : 0;
186666 if( pCol ){
186667 zDataType = sqlite3ColumnType(pCol,0);
186668 zCollSeq = sqlite3ColumnColl(pCol);
186669 notnull = pCol->notNull!=0;
186670 primarykey = (pCol->colFlags & COLFLAG_PRIMKEY)!=0;