@@ -42,7 +42,7 @@ namespace sqlite {
4242
4343 void execute ();
4444
45- std::string_view sql () {
45+ STR_REF sql () {
4646#if SQLITE_VERSION_NUMBER >= 3014000
4747 auto sqlite_deleter = [](void *ptr) {sqlite3_free (ptr);};
4848 std::unique_ptr<char , decltype (sqlite_deleter)> str (sqlite3_expanded_sql (_stmt.get ()), sqlite_deleter);
@@ -52,7 +52,7 @@ namespace sqlite {
5252#endif
5353 }
5454
55- std::string_view original_sql () {
55+ STR_REF original_sql () {
5656 return sqlite3_sql (_stmt.get ());
5757 }
5858
@@ -85,7 +85,7 @@ namespace sqlite {
8585 return ++_inx;
8686 }
8787
88- sqlite3_stmt* _prepare (const std::u16string_view & sql) {
88+ sqlite3_stmt* _prepare (const U16STR_REF & sql) {
8989 // return _prepare(utility::utf16_to_utf8(sql));
9090 int hresult;
9191 sqlite3_stmt* tmp = nullptr ;
@@ -97,7 +97,7 @@ namespace sqlite {
9797 return tmp;
9898 }
9999
100- sqlite3_stmt* _prepare (const std::string_view & sql) {
100+ sqlite3_stmt* _prepare (const STR_REF & sql) {
101101 int hresult;
102102 sqlite3_stmt* tmp = nullptr ;
103103 const char *remaining;
@@ -113,13 +113,13 @@ namespace sqlite {
113113
114114 public:
115115
116- database_binder (std::shared_ptr<sqlite3> db, std::u16string_view const & sql):
116+ database_binder (std::shared_ptr<sqlite3> db, U16STR_REF const & sql):
117117 _db (db),
118118 _stmt (_prepare(sql), sqlite3_finalize),
119119 _inx (0 ) {
120120 }
121121
122- database_binder (std::shared_ptr<sqlite3> db, std::string_view const & sql):
122+ database_binder (std::shared_ptr<sqlite3> db, STR_REF const & sql):
123123 _db (db),
124124 _stmt (_prepare(sql), sqlite3_finalize),
125125 _inx (0 ) {
@@ -370,7 +370,7 @@ namespace sqlite {
370370 std::shared_ptr<sqlite3> _db;
371371
372372 public:
373- database (const std::string_view &db_name, const sqlite_config &config = {}): _db(nullptr ) {
373+ database (const STR_REF &db_name, const sqlite_config &config = {}): _db(nullptr ) {
374374 sqlite3* tmp = nullptr ;
375375 auto ret = sqlite3_open_v2 (db_name.data (), &tmp, static_cast <int >(config.flags ), config.zVfs );
376376 _db = std::shared_ptr<sqlite3>(tmp, [=](sqlite3* ptr) { sqlite3_close_v2 (ptr); }); // this will close the connection eventually when no longer needed.
@@ -380,7 +380,7 @@ namespace sqlite {
380380 *this << R"( PRAGMA encoding = "UTF-16";)" ;
381381 }
382382
383- database (const std::u16string_view &db_name, const sqlite_config &config = {}): _db(nullptr ) {
383+ database (const U16STR_REF &db_name, const sqlite_config &config = {}): _db(nullptr ) {
384384 auto db_name_utf8 = utility::utf16_to_utf8 (db_name.data ());
385385 sqlite3* tmp = nullptr ;
386386 auto ret = sqlite3_open_v2 (db_name_utf8.data (), &tmp, static_cast <int >(config.flags ), config.zVfs );
@@ -394,20 +394,20 @@ namespace sqlite {
394394 database (std::shared_ptr<sqlite3> db):
395395 _db (db) {}
396396
397- database_binder operator <<(const std::string_view & sql) {
397+ database_binder operator <<(const STR_REF & sql) {
398398 return database_binder (_db, sql);
399399 }
400400
401401 database_binder operator <<(const char * sql) {
402- return *this << std::string_view (sql);
402+ return *this << STR_REF (sql);
403403 }
404404
405- database_binder operator <<(const std::u16string_view & sql) {
405+ database_binder operator <<(const U16STR_REF & sql) {
406406 return database_binder (_db, sql);
407407 }
408408
409409 database_binder operator <<(const char16_t * sql) {
410- return *this << std::u16string_view (sql);
410+ return *this << U16STR_REF (sql);
411411 }
412412
413413 connection_type connection () const { return _db; }
@@ -421,7 +421,7 @@ namespace sqlite {
421421 }
422422
423423 template <typename Function>
424- void define (const std::string_view &name, Function&& func) {
424+ void define (const STR_REF &name, Function&& func) {
425425 typedef utility::function_traits<Function> traits;
426426
427427 auto funcPtr = new auto (std::forward<Function>(func));
@@ -435,7 +435,7 @@ namespace sqlite {
435435 }
436436
437437 template <typename StepFunction, typename FinalFunction>
438- void define (const std::string_view &name, StepFunction&& step, FinalFunction&& final ) {
438+ void define (const STR_REF &name, StepFunction&& step, FinalFunction&& final ) {
439439 typedef utility::function_traits<StepFunction> traits;
440440 using ContextType = typename std::remove_reference<typename traits::template argument<0 >>::type;
441441
@@ -660,3 +660,5 @@ namespace sqlite {
660660 }
661661 }
662662}
663+ #undef STR_REF
664+ #undef U16STR_REF
0 commit comments