Lines Matching refs:pVector
456 Expr *sqlite3VectorFieldSubexpr(Expr *pVector, int i){ in sqlite3VectorFieldSubexpr() argument
457 assert( i<sqlite3ExprVectorSize(pVector) || pVector->op==TK_ERROR ); in sqlite3VectorFieldSubexpr()
458 if( sqlite3ExprIsVector(pVector) ){ in sqlite3VectorFieldSubexpr()
459 assert( pVector->op2==0 || pVector->op==TK_REGISTER ); in sqlite3VectorFieldSubexpr()
460 if( pVector->op==TK_SELECT || pVector->op2==TK_SELECT ){ in sqlite3VectorFieldSubexpr()
461 assert( ExprUseXSelect(pVector) ); in sqlite3VectorFieldSubexpr()
462 return pVector->x.pSelect->pEList->a[i].pExpr; in sqlite3VectorFieldSubexpr()
464 assert( ExprUseXList(pVector) ); in sqlite3VectorFieldSubexpr()
465 return pVector->x.pList->a[i].pExpr; in sqlite3VectorFieldSubexpr()
468 return pVector; in sqlite3VectorFieldSubexpr()
494 Expr *pVector, /* The vector. List of expressions or a sub-SELECT */ in sqlite3ExprForVectorField() argument
499 if( pVector->op==TK_SELECT ){ in sqlite3ExprForVectorField()
500 assert( ExprUseXSelect(pVector) ); in sqlite3ExprForVectorField()
521 pRet->pLeft = pVector; in sqlite3ExprForVectorField()
524 if( pVector->op==TK_VECTOR ){ in sqlite3ExprForVectorField()
526 assert( ExprUseXList(pVector) ); in sqlite3ExprForVectorField()
527 ppVector = &pVector->x.pList->a[iField].pExpr; in sqlite3ExprForVectorField()
528 pVector = *ppVector; in sqlite3ExprForVectorField()
532 return pVector; in sqlite3ExprForVectorField()
535 pRet = sqlite3ExprDup(pParse->db, pVector, 0); in sqlite3ExprForVectorField()
578 Expr *pVector, /* Vector to extract element from */ in exprVectorRegister() argument
584 u8 op = pVector->op; in exprVectorRegister()
587 *ppExpr = sqlite3VectorFieldSubexpr(pVector, iField); in exprVectorRegister()
588 return pVector->iTable+iField; in exprVectorRegister()
591 assert( ExprUseXSelect(pVector) ); in exprVectorRegister()
592 *ppExpr = pVector->x.pSelect->pEList->a[iField].pExpr; in exprVectorRegister()
596 assert( ExprUseXList(pVector) ); in exprVectorRegister()
597 *ppExpr = pVector->x.pList->a[iField].pExpr; in exprVectorRegister()