From fd9c7139386e773ee64fe970089d77fede75181f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 11 Feb 2018 23:39:42 +0100 Subject: Fix a few warnings --- src/database/query.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index d27dc59..9611c97 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -21,6 +21,15 @@ void actual_bind(Statement& statement, const OptionalBool& value, int index) statement.bind_int64(index, -1); } +void actual_bind(Statement& statement, const std::size_t value, int index) +{ + actual_bind(statement, static_cast(value), index); +} + +void actual_bind(Statement& statement, const int value, int index) +{ + actual_bind(statement, static_cast(value), index); +} void actual_add_param(Query& query, const std::string& val) { -- cgit v1.2.3 From dbb86bcc12921576c270009537b81b951d2ed84f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Thu, 15 Feb 2018 16:54:54 +0100 Subject: Fix the actual_bind versions for integrals --- src/database/query.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index 9611c97..d72066e 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -6,7 +6,7 @@ void actual_bind(Statement& statement, const std::string& value, int index) statement.bind_text(index, value); } -void actual_bind(Statement& statement, const std::int64_t value, int index) +void actual_bind(Statement& statement, const std::int64_t& value, int index) { statement.bind_int64(index, value); } @@ -21,16 +21,6 @@ void actual_bind(Statement& statement, const OptionalBool& value, int index) statement.bind_int64(index, -1); } -void actual_bind(Statement& statement, const std::size_t value, int index) -{ - actual_bind(statement, static_cast(value), index); -} - -void actual_bind(Statement& statement, const int value, int index) -{ - actual_bind(statement, static_cast(value), index); -} - void actual_add_param(Query& query, const std::string& val) { query.params.push_back(val); -- cgit v1.2.3 From ba879a882e031d7b8503f78fe41d1210000c96ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Fri, 16 Mar 2018 00:53:47 +0100 Subject: Use std::optional instead of OptionalBool --- src/database/query.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index d72066e..13c881b 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -11,11 +11,11 @@ void actual_bind(Statement& statement, const std::int64_t& value, int index) statement.bind_int64(index, value); } -void actual_bind(Statement& statement, const OptionalBool& value, int index) +void actual_bind(Statement& statement, const std::optional& value, int index) { - if (!value.is_set) + if (!value) statement.bind_int64(index, 0); - else if (value.value) + else if (*value) statement.bind_int64(index, 1); else statement.bind_int64(index, -1); @@ -26,11 +26,11 @@ void actual_add_param(Query& query, const std::string& val) query.params.push_back(val); } -void actual_add_param(Query& query, const OptionalBool& val) +void actual_add_param(Query& query, const std::optional& val) { - if (!val.is_set) + if (!val) query.params.push_back("0"); - else if (val.value) + else if (*val) query.params.push_back("1"); else query.params.push_back("-1"); -- cgit v1.2.3 From 03714c6cebf90dc7db8e3997a18cdd19e039c667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sat, 17 Mar 2018 17:28:47 +0100 Subject: Revert "Use std::optional instead of OptionalBool" This reverts commit ba879a882e031d7b8503f78fe41d1210000c96ca. --- src/database/query.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index 13c881b..d72066e 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -11,11 +11,11 @@ void actual_bind(Statement& statement, const std::int64_t& value, int index) statement.bind_int64(index, value); } -void actual_bind(Statement& statement, const std::optional& value, int index) +void actual_bind(Statement& statement, const OptionalBool& value, int index) { - if (!value) + if (!value.is_set) statement.bind_int64(index, 0); - else if (*value) + else if (value.value) statement.bind_int64(index, 1); else statement.bind_int64(index, -1); @@ -26,11 +26,11 @@ void actual_add_param(Query& query, const std::string& val) query.params.push_back(val); } -void actual_add_param(Query& query, const std::optional& val) +void actual_add_param(Query& query, const OptionalBool& val) { - if (!val) + if (!val.is_set) query.params.push_back("0"); - else if (*val) + else if (val.value) query.params.push_back("1"); else query.params.push_back("-1"); -- cgit v1.2.3 From 857c7d3972a03cbeebf730d99b924d3710dee6a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 10 Apr 2018 23:33:59 +0200 Subject: Use a different Date data type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PLEASE backup your database before testing this commit, and report any migration issue. In postgresql, we use timestamp with timezone. In sqlite3 we use REAL (the date is expressed as julianday) This requires a migration of the muclogline_ table: In postgresql it’s pretty simple, we convert all the integer into timestamps With sqlite3, we actually rename the table, create the new one with the correct type, then copy everything to the new table, with a conversion function for the Date_ column, and then we delete the old table. fix #3343 --- src/database/query.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index d72066e..6d20302 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -21,6 +21,13 @@ void actual_bind(Statement& statement, const OptionalBool& value, int index) statement.bind_int64(index, -1); } +void actual_bind(Statement& statement, const DateTime& value, int index) +{ + const auto epoch = value.epoch().count(); + const auto result = std::to_string(static_cast(epoch) / std::chrono::system_clock::period::den); + statement.bind_text(index, result); +} + void actual_add_param(Query& query, const std::string& val) { query.params.push_back(val); @@ -49,3 +56,12 @@ Query& operator<<(Query& query, const std::string& str) actual_add_param(query, str); return query; } + +Query& operator<<(Query& query, const DatetimeWriter& datetime_writer) +{ + query.body += datetime_writer.escape_param_number(query.current_param++); + actual_add_param(query, datetime_writer.get_value()); + return query; +} + + -- cgit v1.2.3 From 61de6b1dac4ef29627f3bdb9ce11b6c0d06f4a24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Tue, 24 Apr 2018 19:19:06 +0200 Subject: Revert "Use a different Date data type" This reverts commit 857c7d3972a03cbeebf730d99b924d3710dee6a0. --- src/database/query.cpp | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index 6d20302..d72066e 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -21,13 +21,6 @@ void actual_bind(Statement& statement, const OptionalBool& value, int index) statement.bind_int64(index, -1); } -void actual_bind(Statement& statement, const DateTime& value, int index) -{ - const auto epoch = value.epoch().count(); - const auto result = std::to_string(static_cast(epoch) / std::chrono::system_clock::period::den); - statement.bind_text(index, result); -} - void actual_add_param(Query& query, const std::string& val) { query.params.push_back(val); @@ -56,12 +49,3 @@ Query& operator<<(Query& query, const std::string& str) actual_add_param(query, str); return query; } - -Query& operator<<(Query& query, const DatetimeWriter& datetime_writer) -{ - query.body += datetime_writer.escape_param_number(query.current_param++); - actual_add_param(query, datetime_writer.get_value()); - return query; -} - - -- cgit v1.2.3 From 0b51e3828116f6847865fae93893eb97a10d1cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Thu, 23 Aug 2018 20:30:11 +0200 Subject: MaxHistoryLength now has some sensible default value if the user set a negative one --- src/database/query.cpp | 5 ----- 1 file changed, 5 deletions(-) (limited to 'src/database/query.cpp') diff --git a/src/database/query.cpp b/src/database/query.cpp index d72066e..5ec8599 100644 --- a/src/database/query.cpp +++ b/src/database/query.cpp @@ -6,11 +6,6 @@ void actual_bind(Statement& statement, const std::string& value, int index) statement.bind_text(index, value); } -void actual_bind(Statement& statement, const std::int64_t& value, int index) -{ - statement.bind_int64(index, value); -} - void actual_bind(Statement& statement, const OptionalBool& value, int index) { if (!value.is_set) -- cgit v1.2.3