sqlite3_str *sqlite3_str_new(sqlite3*);
sqlite3_str_new(D) ассигнует и инициализирует новый объект sqlite3_str. Чтобы избежать утечек памяти, объект, возвращенный sqlite3_str_new(), должен быть освобожден последующим запросом к sqlite3_str_finish(X).
sqlite3_str_new(D) всегда возвращает указатель на действительный объект sqlite3_str, хотя в случае ошибки памяти возвращенный объект мог бы быть специальным единичным предметом, который тихо отклонит новый текст, всегда возвратит SQLITE_NOMEM из sqlite3_str_errcode(), всегда возвратит 0 для sqlite3_str_length() и всегда возвратит NULL из sqlite3_str_finish(X). Всегда безопасно использовать значение, возвращенное sqlite3_str_new(D) как параметр sqlite3_str к любому из других методов sqlite3_str.
Параметр D для sqlite3_str_new(D) может быть NULL. Если параметром D в sqlite3_str_new(D) не NULL, то максимальная длина последовательности, содержавшейся в объекте sqlite3_str, будет установлена значением для sqlite3_limit(D, SQLITE_LIMIT_LENGTH) вместо SQLITE_MAX_LENGTH.