Пример #1
0
        static int registerTestFunctions(sqlite3 db, ref string dummy1, sqlite3_api_routines dummy2)
        {
            _aFuncs[] aFuncs = new _aFuncs[]  {
                new _aFuncs("randstr", 2, SQLITE_UTF8, randStr),
                new _aFuncs("test_destructor", 1, SQLITE_UTF8, test_destructor),
#if !SQLITE_OMIT_UTF16
                { "test_destructor16", 1, SQLITE_UTF8, test_destructor16 },
#endif
                new _aFuncs("test_destructor_count", 0, SQLITE_UTF8, test_destructor_count),
                new _aFuncs("test_auxdata", -1, SQLITE_UTF8, test_auxdata),
                new _aFuncs("test_error", 1, SQLITE_UTF8, test_error),
                new _aFuncs("test_error", 2, SQLITE_UTF8, test_error),
                new _aFuncs("test_eval", 1, SQLITE_UTF8, test_eval),
                new _aFuncs("test_isolation", 2, SQLITE_UTF8, test_isolation),
//{ "test_counter",        2, SQLITE_UTF8, counterFunc},
            };
            int i;

            for (i = 0; i < aFuncs.Length; i++)
            {//sizeof(aFuncs)/sizeof(aFuncs[0]); i++){
                sqlite3_create_function(db, aFuncs[i].zName, aFuncs[i].nArg,
                                        aFuncs[i].eTextRep, 0, aFuncs[i].xFunc, null, null);
            }

            sqlite3_create_function(db, "test_agg_errmsg16", 0, SQLITE_ANY, 0, null,
                                    test_agg_errmsg16_step, test_agg_errmsg16_final);

            return(SQLITE_OK);
        }
    static int registerTestFunctions( sqlite3 db, ref string dummy1, sqlite3_api_routines dummy2 )
    {
      _aFuncs[] aFuncs = new _aFuncs[]  {
new _aFuncs( "randstr",               2, SQLITE_UTF8, randStr    ),
new _aFuncs( "test_destructor",       1, SQLITE_UTF8, test_destructor),
#if !SQLITE_OMIT_UTF16
    { "test_destructor16",     1, SQLITE_UTF8, test_destructor16},
    { "hex_to_utf16be",        1, SQLITE_UTF8, testHexToUtf16be},
    { "hex_to_utf16le",        1, SQLITE_UTF8, testHexToUtf16le},
#endif
    new _aFuncs(   "hex_to_utf8",           1, SQLITE_UTF8, testHexToUtf8),
new _aFuncs(  "test_destructor_count", 0, SQLITE_UTF8, test_destructor_count),
new _aFuncs(  "test_auxdata",         -1, SQLITE_UTF8, test_auxdata),
new _aFuncs( "test_error",            1, SQLITE_UTF8, test_error),
new _aFuncs( "test_error",            2, SQLITE_UTF8, test_error),
new _aFuncs(  "test_eval",             1, SQLITE_UTF8, test_eval),
new _aFuncs(  "test_isolation",        2, SQLITE_UTF8, test_isolation),
//{ "test_counter",        2, SQLITE_UTF8, counterFunc},
};
      int i;

      for ( i = 0; i < aFuncs.Length; i++ )
      {//sizeof(aFuncs)/sizeof(aFuncs[0]); i++){
        sqlite3_create_function( db, aFuncs[i].zName, aFuncs[i].nArg,
        aFuncs[i].eTextRep, 0, aFuncs[i].xFunc, null, null );
      }

      sqlite3_create_function( db, "test_agg_errmsg16", 0, SQLITE_ANY, 0, null,
      test_agg_errmsg16_step, test_agg_errmsg16_final );

      return SQLITE_OK;
    }