sqlite3_str *sqlite3_str_new(sqlite3*);
The sqlite3_str_new(D) 接口分配并初始化一个新的 sqlite3_str 对象。为了避免内存泄漏,由 sqlite3_str_new() 返回的对象必须通过后续调用 sqlite3_str_finish(X) 来释放。
The sqlite3_str_new(D) 接口始终返回指向有效 sqlite3_str 对象的指针,尽管在发生内存不足错误的情况下,返回的对象可能是一个特殊的单例,它会静默地拒绝新文本,始终从 sqlite3_str_errcode() 返回 SQLITE_NOMEM,始终为 sqlite3_str_length() 返回 0,并且始终从 sqlite3_str_finish(X) 返回 NULL。始终可以使用 sqlite3_str_new(D) 返回的值作为任何其他 sqlite3_str 方法的 sqlite3_str 参数。
传递给 sqlite3_str_new(D) 的 D 参数可以为 NULL。如果 sqlite3_str_new(D) 中的 D 参数不为 NULL,则 sqlite3_str 对象中包含的字符串的最大长度将是为 sqlite3_limit(D,SQLITE_LIMIT_LENGTH) 设置的值,而不是 SQLITE_MAX_LENGTH。