Current documentation http://www.sqlite.org/rescode.html suggests you return 
(267) SQLITE_CORRUPT_VTAB in this case. Other candidates would be SQLITE_IOERR 
or SQLITE_NOTFOUND.

You may also call one or more of the sqlite_result_error() functions to set an 
error string and/or an error code; current documentation 
http://www.sqlite.org/vtab.html#the_xcolumn_method suggests you set the error 
text by calling one of the sqlite_result_text() functions and returning the 
error code.

If your intention is to silently skip the row, you should refrain from calling 
any of the sqlite_result() functions (or explicitly call sqlite_result_null()) 
to set a NULL column value and return SQLITE_OK. You just have to hope that a 
row containing one or more (or even all) "fake" NULL values does not wreck your 
statement.


-----Ursprüngliche Nachricht-----
Von: sqlite-users [mailto:[email protected]] Im 
Auftrag von Bob Friesenhahn
Gesendet: Montag, 12. Dezember 2016 19:48
An: SQLite mailing list <[email protected]>
Betreff: [sqlite] Error code for VT xColumn()/xRowid() if row does not exist?

I am reworking code for a virtual table module and need to provide proper error 
codes from the xColumn() and xRowid() callbacks for the case where the row id 
does not exist, or the current row goes away.
This problem occurs because the current virtual table module implementation 
does not lock for its entire access (a matter for subsequent investigation).

The documentation just says to "return an appropriate error code".

Perhaps SQLITE_NOTFOUND is a correct return code, but the documentation does 
not address return codes from virtual table modules.

What is the correct code to return?  If a cursor is being navigated, then I 
would prefer that the cursor continue to the next result row.

Thanks,

Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


___________________________________________
 Gunter Hick
Software Engineer
Scientific Games International GmbH
FN 157284 a, HG Wien
Klitschgasse 2-4, A-1130 Vienna, Austria
Tel: +43 1 80100 0
E-Mail: [email protected]

This communication (including any attachments) is intended for the use of the 
intended recipient(s) only and may contain information that is confidential, 
privileged or legally protected. Any unauthorized use or dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please immediately notify the sender by return e-mail message and 
delete all copies of the original communication. Thank you for your cooperation.


_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to