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

Reply via email to