Lines Matching refs:pFunc
16499 FuncDef *pFunc; /* Used when p4type is P4_FUNCDEF */
18865 FuncDef *pFunc; /* The aggregate function implementation */
20437 ** attached to Select.pWin. The Window.pFunc and Window.pExpr
23490 FuncDef *pFunc; /* Pointer to function information */
83275 SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem *pMem, FuncDef *pFunc){
83278 assert( pFunc!=0 );
83281 assert( pFunc->xFinalize!=0 );
83282 assert( (pMem->flags & MEM_Null)!=0 || pFunc==pMem->u.pDef );
83290 ctx.pFunc = pFunc;
83292 pFunc->xFinalize(&ctx); /* IMP: R-24505-23230 */
83308 SQLITE_PRIVATE int sqlite3VdbeMemAggValue(Mem *pAccum, Mem *pOut, FuncDef *pFunc){
83310 assert( pFunc!=0 );
83311 assert( pFunc->xValue!=0 );
83312 assert( (pAccum->flags & MEM_Null)!=0 || pFunc==pAccum->u.pDef );
83319 ctx.pFunc = pFunc;
83321 pFunc->xValue(&ctx);
84289 FuncDef *pFunc = 0; /* Function definition */
84301 pFunc = sqlite3FindFunction(db, p->u.zToken, nVal, enc, 0);
84303 if( pFunc==0 ) return SQLITE_OK;
84305 assert( pFunc );
84306 if( (pFunc->funcFlags & (SQLITE_FUNC_CONSTANT|SQLITE_FUNC_SLOCHNG))==0
84307 || (pFunc->funcFlags & (SQLITE_FUNC_NEEDCOLL|SQLITE_FUNC_RUNONLY))!=0
84332 ctx.pFunc = pFunc;
84334 pFunc->xSFunc(&ctx, nVal, apVal);
85281 const FuncDef *pFunc, /* The function to be invoked */
85293 freeEphemeralFunction(pParse->db, (FuncDef*)pFunc);
85297 pCtx->pFunc = (FuncDef*)pFunc;
86206 freeEphemeralFunction(db, p->pFunc);
86769 FuncDef *pDef = pOp->p4.pFunc;
86774 FuncDef *pDef = pOp->p4.pCtx->pFunc;
90232 pCtx->pFunc->zName, zContext);
90919 if( pCtx->pFunc!=0
90920 && (pCtx->pFunc->funcFlags & SQLITE_RESULT_SUBTYPE)==0
90925 pCtx->pFunc->zName);
91330 assert( p && p->pFunc );
91331 return p->pFunc->pUserData;
91494 pMem->u.pDef = p->pFunc;
91508 assert( p && p->pFunc && p->pFunc->xFinalize );
91617 assert( p && p->pMem && p->pFunc && p->pFunc->xFinalize );
100786 pCtx->pFunc = pOp->p4.pFunc;
100845 (pCtx->pFunc->xInverse)(pCtx,pCtx->argc,pCtx->argv);
100848 (pCtx->pFunc->xSFunc)(pCtx,pCtx->argc,pCtx->argv); /* IMP: R-24505-23230 */
100907 rc = sqlite3VdbeMemAggValue(pMem, &aMem[pOp->p3], pOp->p4.pFunc);
100912 rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc);
101492 sContext.pFunc = &nullFunc;
101791 (*pCtx->pFunc->xSFunc)(pCtx, pCtx->argc, pCtx->argv);/* IMP: R-24505-23230 */
115924 pItem->pFunc = sqlite3FindFunction(pParse->db,
115928 && (pItem->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL)==0
115951 (pItem->pFunc->funcFlags & SQLITE_SUBTYPE)!=0;
120821 FuncDef const *pFunc,/* FuncDef wrapper for detachFunc() or attachFunc() */
120872 sqlite3VdbeAddFunctionCall(pParse, 0, regArgs+3-pFunc->nArg, regArgs+3,
120873 pFunc->nArg, pFunc, 0);
148277 ** The pFunc is the only aggregate function in the query. Check to see
148283 ** whether pFunc is a min() or max() function.
148292 static u8 minMaxQuery(sqlite3 *db, Expr *pFunc, ExprList **ppMinMax){
148295 const char *zFunc; /* Name of aggregate function pFunc */
148300 assert( pFunc->op==TK_AGG_FUNCTION );
148301 assert( !IsWindowFunc(pFunc) );
148302 assert( ExprUseXList(pFunc) );
148303 pEList = pFunc->x.pList;
148306 || ExprHasProperty(pFunc, EP_WinFunc)
148311 assert( !ExprHasProperty(pFunc, EP_IntValue) );
148312 zFunc = pFunc->u.zToken;
148370 if( (pAggInfo->aFunc[0].pFunc->funcFlags&SQLITE_FUNC_COUNT)==0 ) return 0;
149560 struct AggInfo_func *pFunc;
149569 for(pFunc=pAggInfo->aFunc, i=0; i<pAggInfo->nFunc; i++, pFunc++){
149570 if( pFunc->iDistinct>=0 ){
149571 Expr *pE = pFunc->pFExpr;
149576 pFunc->iDistinct = -1;
149579 pFunc->iDistAddr = sqlite3VdbeAddOp4(v, OP_OpenEphemeral,
149580 pFunc->iDistinct, 0, 0, (char*)pKeyInfo, P4_KEYINFO);
149582 pFunc->pFunc->zName));
149585 if( pFunc->iOBTab>=0 ){
149589 assert( pFunc->pFExpr->pLeft!=0 );
149590 assert( pFunc->pFExpr->pLeft->op==TK_ORDER );
149591 assert( ExprUseXList(pFunc->pFExpr->pLeft) );
149592 assert( pFunc->pFunc!=0 );
149593 pOBList = pFunc->pFExpr->pLeft->x.pList;
149594 if( !pFunc->bOBUnique ){
149597 if( pFunc->bOBPayload ){
149599 assert( ExprUseXList(pFunc->pFExpr) );
149600 nExtra += pFunc->pFExpr->x.pList->nExpr;
149602 if( pFunc->bUseSubtype ){
149603 nExtra += pFunc->pFExpr->x.pList->nExpr;
149606 if( !pFunc->bOBUnique && pParse->nErr==0 ){
149610 pFunc->iOBTab, pOBList->nExpr+nExtra, 0,
149613 pFunc->pFunc->zName));
149641 assert( pF->pFunc!=0 );
149668 sqlite3VdbeAppendP4(v, pF->pFunc, P4_FUNCDEF);
149676 sqlite3VdbeAppendP4(v, pF->pFunc, P4_FUNCDEF);
149721 assert( pF->pFunc!=0 );
149726 && (pF->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL)
149815 if( pF->pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){
149819 assert( pList!=0 ); /* pList!=0 if pF->pFunc has NEEDCOLL */
149831 sqlite3VdbeAppendP4(v, pF->pFunc, P4_FUNCDEF);
151386 if( pAggInfo->aFunc[i].pFunc->funcFlags&SQLITE_FUNC_NEEDCOLL ){
169993 ** Argument pFunc is the function definition just resolved and pWin
170010 FuncDef *pFunc /* Window function definition */
170034 if( pFunc->funcFlags & SQLITE_FUNC_WINDOW ){
170058 if( pFunc->zName==aUp[i].zFunc ){
170074 pWin->pWFunc = pFunc;
171012 FuncDef *pFunc = pWin->pWFunc;
171024 if( i!=1 || pFunc->zName!=nth_valueName ){
171033 && (pFunc->funcFlags & SQLITE_FUNC_MINMAX)
171051 assert( pFunc->zName==nth_valueName
171052 || pFunc->zName==first_valueName
171056 }else if( pFunc->xSFunc!=noopStepFunc ){
171086 if( pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){
171095 sqlite3VdbeAppendP4(v, pFunc, P4_FUNCDEF);
171274 FuncDef *pFunc = pWin->pWFunc;
171276 if( pFunc->zName==nth_valueName
171277 || pFunc->zName==first_valueName
171284 if( pFunc->zName==nth_valueName ){
171299 else if( pFunc->zName==leadName || pFunc->zName==lagName ){
171313 int val = (pFunc->zName==leadName ? 1 : -1);
171316 int op = (pFunc->zName==leadName ? OP_Add : OP_Subtract);
171346 FuncDef *pFunc = pWin->pWFunc;
171351 if( pFunc->zName==nth_valueName || pFunc->zName==first_valueName ){
171356 if( (pFunc->funcFlags & SQLITE_FUNC_MINMAX) && pWin->csrApp ){
171376 FuncDef *pFunc = pWin->pWFunc;
171377 if( (pFunc->zName==nth_valueName)
171378 || (pFunc->zName==first_valueName)
171379 || (pFunc->zName==leadName)
171380 || (pFunc->zName==lagName)