I modified row in function: sqlite3_result_text(ctx,(const char*)ret, 4, SQLITE_TRANSIENT);
I know that dimension is 4, but my shell don't return values for extension function also with half.c example copied from wiki: bash-3.1# gcc -shared half.c -o half.so bash-3.1# sqlite3 SQLite version 3.5.7 Enter ".help" for instructions sqlite> select load_extension('/root/half.so') ...> select half(7) ...> select half(7); SQL error: near "select": syntax error sqlite> select half(7) ...> half.c is below: #include <sqlite3ext.h> SQLITE_EXTENSION_INIT1 /* ** The half() SQL function returns half of its input value. */ static void halfFunc( sqlite3_context *context, int argc, sqlite3_value **argv ){ sqlite3_result_double(context, 0.5*sqlite3_value_double(argv[0])); } /* SQLite invokes this routine once when it loads the extension. ** Create new functions, collating sequences, and virtual table ** modules here. This is usually the only exported symbol in ** the shared library. */ int sqlite3_extension_init( sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi ){ SQLITE_EXTENSION_INIT2(pApi) sqlite3_create_function(db, "half", 1, SQLITE_ANY, 0, halfFunc, 0, 0); return 0; } --------------------------------- Inviato da Yahoo! Mail. La casella di posta intelligente. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users