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