示例#1
0
        // Create one function for each expression as a closure, capturing the serial and type for that function

        // Create an open or predicate function
        public bool CreateFunction(string name, FuncTypes functype, int serial, SqlCommonType[] args, SqlCommonType retn)
        {
            UserFunctionCallback func = (c, nv, v) => EvalFunctionOpen(c, nv, v, functype, serial, args, retn);

            _userfuncs.Add(func);
            return(CreateFunction(name, func));
        }
示例#2
0
 private static extern int sqlite3_create_function(IntPtr dbHandle, byte[] functionName, int numArgs, int textEncoding,
                                                   IntPtr pApp, UserFunctionCallback xFunc, IntPtr xStep, IntPtr xFinal);
示例#3
0
 public static extern int sqlite3_create_function_scalar(IntPtr db, string zFunctionName, int nArg, int eTextRep, IntPtr pApp,
                                                         UserFunctionCallback xFunc, IntPtr xStep, IntPtr xFinal);
示例#4
0
 // Wrapper
 public bool CreateFunction(string name, UserFunctionCallback callback)
 {
     _lastresult = (Result)sqlite3_create_function_scalar(_dbhandle, name, -1,
                                                          (int)Encoding.UTF8, IntPtr.Zero, callback, IntPtr.Zero, IntPtr.Zero);
     return(CheckOk());
 }