// Create an aggregating function public bool CreateAggFunction(string name, int serial, int accnum, SqlCommonType[] args, SqlCommonType retn) { UserFunctionStepCallback sfunc = (c, nv, v) => EvalFunctionStep(c, nv, v, accnum, serial, args, retn); UserFunctionFinalCallback ffunc = (c) => EvalFunctionFinal(c, serial, args, retn); _stepfuncs.Add(sfunc); _finalfuncs.Add(ffunc); return(CreateAggFunction(name, sfunc, ffunc)); }
public static extern int sqlite3_create_function_aggregate(IntPtr db, string zFunctionName, int nArg, int eTextRep, IntPtr pApp, IntPtr xFunc, UserFunctionStepCallback xStep, UserFunctionFinalCallback xFinal);
// Wrapper public bool CreateAggFunction(string name, UserFunctionStepCallback scallback, UserFunctionFinalCallback fcallback) { _lastresult = (Result)sqlite3_create_function_aggregate(_dbhandle, name, -1, (int)Encoding.UTF8, IntPtr.Zero, IntPtr.Zero, scallback, fcallback); return(CheckOk()); }