Rather than  sqlite3_stmt_isexplain(S)  would it be possible to define a  
sqlite3_stmt_type(S)  function instead ?  This would return integers equivalent 
to

SQLITE_STMT_ERROR = -1
SQLITE_STMT_OTHER = 0
SQLITE_STMT_EXPLAIN = 1

and in future other values as they become useful ?  You could add easy ways to 
identify PRAGMAs, SELECT, INSERT, etc. as needed in future.  Until these are 
added, everything but EXPLAIN evaluates as SQLITE_STMT_OTHER, unless the 
function cannot identify the statement type in which case you get 
SQLITE_STMT_ERROR.

An alternative set of codes which might be preferred are those already in use 
as authorizer action codes:

<https://www.sqlite.org/capi3ref.html#SQLITE_ALTER_TABLE>

Extend these by adding SQLITE_EXPLAIN (or SQLITE_EXPLAIN and 
SQLITE_EXPLAIN_QUERY_PLAN), and use these codes instead of starting a new set 
of codes.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to