This may be a known thing, but I can't find anything on it on-line. I finally figured out a solution by examining the code to shell.c.
OK, I have a user-defined function in an extension that calls sqlite3_result_error() when an out-of-bounds argument is passed in. I called sqlite3_prepare16_v2() on the SQL, which worked, then sqlite3_step(), which failed. Then I called sqlite3_errmsg16(), and got instead of my message, this message: "SQL logic error or missing database". Only once I called sqlite3_finalize() before sqlite3_errmsg16 did I get the error message from my function (I was calling sqlite3_finalize() after calling sqlite3_errmsg() before that). Now the on-line doc notes that you need to call sqlite3_finalize() to get the proper error code when using the legacy interface. But I'm not using the legacy interface and it says nothing about the error message functions anyway. So, is this a software error, a documentation error, or did I simply miss something somewhere? Best regards, Peter _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users