On 6/30/17, petern <peter.nichvolo...@gmail.com> wrote:
> Is this the recommended way for any argument type?
>
>   zCol = (const char*)sqlite3_value_text(argv[i]);
>   if( 0==zCol ) return;

No.  What you have above detects out-of-memory errors when trying to
convert an argument in some non-TEXT type in to TEXT, or when
converting a UTF-16 text string into the requested UTF-8.

To get the argument type, use:

   sqlite3_value_type(argv[i])


>
> Docs say protected_sqlite3_value can represent NULL but how is not
> explained anywhere.
>
> https://www.sqlite.org/c3ref/value_blob.html
> https://www.sqlite.org/c3ref/value.html
>
> To detect NULL arguments is it normal to test with sqlite3_value_text on
> every type of argument including BLOB, double, int,..?   Or, are there some
> special sentinel values {MAX_INT,DBL_MAX,...} for those other types?
>
> I'd be happily corrected if wrong, but it seems C API NULL value
> representation is not explained anywhere in the SQLite docs. The short
> answer to this question would make a well needed addition to one of those
> doc pages.
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to