@@ -86,22 +86,14 @@ namespace sqlite {
8686 }
8787
8888 sqlite3_stmt* _prepare (const U16STR_REF& sql) {
89- // return _prepare(utility::utf16_to_utf8(sql));
90- int hresult;
91- sqlite3_stmt* tmp = nullptr ;
92- const void *remaining;
93- hresult = sqlite3_prepare16_v2 (_db.get (), sql.data (), -1 , &tmp, &remaining);
94- if (hresult != SQLITE_OK) errors::throw_sqlite_error (hresult, utility::utf16_to_utf8 (sql.data ()));
95- if (!std::all_of (static_cast <const char16_t *>(remaining), sql.data () + sql.size (), [](char16_t ch) {return std::isspace (ch); }))
96- throw errors::more_statements (" Multiple semicolon separated statements are unsupported" , utility::utf16_to_utf8 (sql.data ()));
97- return tmp;
89+ return _prepare (utility::utf16_to_utf8 (sql));
9890 }
9991
10092 sqlite3_stmt* _prepare (const STR_REF& sql) {
10193 int hresult;
10294 sqlite3_stmt* tmp = nullptr ;
10395 const char *remaining;
104- hresult = sqlite3_prepare_v2 (_db.get (), sql.data (), - 1 , &tmp, &remaining);
96+ hresult = sqlite3_prepare_v2 (_db.get (), sql.data (), sql. length () , &tmp, &remaining);
10597 if (hresult != SQLITE_OK) errors::throw_sqlite_error (hresult, sql);
10698 if (!std::all_of (remaining, sql.data () + sql.size (), [](char ch) {return std::isspace (ch);}))
10799 throw errors::more_statements (" Multiple semicolon separated statements are unsupported" , sql);
0 commit comments