Hi,

I am trying to implement a user-defined function (not aggregate
function) that takes two arguments.

SQLite version is 3.8.11.1

-

(1) According to the paragraph near the bottom of this help page
(https://www.sqlite.org/c3ref/value_blob.html)

>> Please pay particular attention to the fact that the pointer returned from 
>> sqlite3_value_blob(), sqlite3_value_text(), or sqlite3_value_text16() can be 
>> invalidated by a subsequent call to sqlite3_value_bytes(), 
>> sqlite3_value_bytes16(), sqlite3_value_text(), or sqlite3_value_text16().

If I get a pointer to the first argument via sqlite3_value_text16(),
and call it AGAIN to get a pointer to the second argument, does it
mean the first pointer will be invalidated?

(2) Is there a built-in cleanup functions that I have to call for
these pointers?

Thanks.

David Lee.

Reply via email to