Skip to content

Commit 080411a

Browse files
committed
Switch back to string parameters for database constructor
Also got rid of some redundant code
1 parent b08f6b6 commit 080411a

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

hdr/sqlite_modern_cpp.h

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ namespace sqlite {
362362
std::shared_ptr<sqlite3> _db;
363363

364364
public:
365-
database(const STR_REF &db_name, const sqlite_config &config = {}): _db(nullptr) {
365+
database(const std::string &db_name, const sqlite_config &config = {}): _db(nullptr) {
366366
sqlite3* tmp = nullptr;
367367
auto ret = sqlite3_open_v2(db_name.data(), &tmp, static_cast<int>(config.flags), config.zVfs);
368368
_db = std::shared_ptr<sqlite3>(tmp, [=](sqlite3* ptr) { sqlite3_close_v2(ptr); }); // this will close the connection eventually when no longer needed.
@@ -372,14 +372,8 @@ namespace sqlite {
372372
*this << R"(PRAGMA encoding = "UTF-16";)";
373373
}
374374

375-
database(const U16STR_REF &db_name, const sqlite_config &config = {}): _db(nullptr) {
376-
auto db_name_utf8 = utility::utf16_to_utf8(db_name.data());
377-
sqlite3* tmp = nullptr;
378-
auto ret = sqlite3_open_v2(db_name_utf8.data(), &tmp, static_cast<int>(config.flags), config.zVfs);
379-
_db = std::shared_ptr<sqlite3>(tmp, [=](sqlite3* ptr) { sqlite3_close_v2(ptr); }); // this will close the connection eventually when no longer needed.
380-
if(ret != SQLITE_OK) errors::throw_sqlite_error(_db ? sqlite3_extended_errcode(_db.get()) : ret);
381-
sqlite3_extended_result_codes(_db.get(), true);
382-
if(config.encoding != Encoding::UTF8)
375+
database(const std::u16string &db_name, const sqlite_config &config = {}): database(utility::utf16_to_utf8(db_name.data()), config) {
376+
if (config.encoding == Encoding::ANY)
383377
*this << R"(PRAGMA encoding = "UTF-16";)";
384378
}
385379

0 commit comments

Comments
 (0)