0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-15 20:31:16 +08:00

Fix compiler warnings.

This commit is contained in:
Roland Bock 2021-12-11 19:53:35 +01:00
parent 91b7b34557
commit 181cc5fb04
10 changed files with 26 additions and 24 deletions

View File

@ -303,14 +303,14 @@ namespace sqlpp
template <typename R> template <typename R>
auto operator<<(const R& r) const -> return_type_shift_left_t<Expr, R> auto operator<<(const R& r) const -> return_type_shift_left_t<Expr, R>
{ {
typename return_type_shift_left<Expr, R>::check{}; return_type_shift_left<Expr, R>::check::verify();
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}}; return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
} }
template <typename R> template <typename R>
auto operator>>(const R& r) const -> return_type_shift_right_t<Expr, R> auto operator>>(const R& r) const -> return_type_shift_right_t<Expr, R>
{ {
typename return_type_shift_right<Expr, R>::check{}; return_type_shift_right<Expr, R>::check::verify();
return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}}; return {*static_cast<const Expr*>(this), wrap_operand_t<R>{r}};
} }
}; };

View File

@ -33,7 +33,7 @@ namespace sqlpp
{ {
namespace chrono namespace chrono
{ {
using days = std::chrono::duration<int, std::ratio_multiply<std::ratio<24>, std::chrono::hours::period>>; using days = std::chrono::duration<int, std::ratio<86400, 1>>;
using day_point = std::chrono::time_point<std::chrono::system_clock, days>; using day_point = std::chrono::time_point<std::chrono::system_clock, days>;
using microsecond_point = std::chrono::time_point<std::chrono::system_clock, std::chrono::microseconds>; using microsecond_point = std::chrono::time_point<std::chrono::system_clock, std::chrono::microseconds>;

View File

@ -372,8 +372,10 @@ namespace sqlpp
{ {
const auto& dt = const auto& dt =
*reinterpret_cast<const MYSQL_TIME*>(_handle->result_param_meta_data[index].bound_text_buffer.data()); *reinterpret_cast<const MYSQL_TIME*>(_handle->result_param_meta_data[index].bound_text_buffer.data());
if (dt.year > std::numeric_limits<int>::max())
throw sqlpp::exception("cannot read year from db: " + std::to_string(dt.year));
*is_null = false; *is_null = false;
*value = ::date::year(dt.year) / ::date::month(dt.month) / ::date::day(dt.day); *value = ::date::year(static_cast<int>(dt.year)) / ::date::month(dt.month) / ::date::day(dt.day);
} }
} }
@ -387,8 +389,10 @@ namespace sqlpp
{ {
const auto& dt = const auto& dt =
*reinterpret_cast<const MYSQL_TIME*>(_handle->result_param_meta_data[index].bound_text_buffer.data()); *reinterpret_cast<const MYSQL_TIME*>(_handle->result_param_meta_data[index].bound_text_buffer.data());
if (dt.year > std::numeric_limits<int>::max())
throw sqlpp::exception("cannot read year from db: " + std::to_string(dt.year));
*is_null = false; *is_null = false;
*value = ::sqlpp::chrono::day_point(::date::year(dt.year) / ::date::month(dt.month) / ::date::day(dt.day)) + *value = ::sqlpp::chrono::day_point(::date::year(static_cast<int>(dt.year)) / ::date::month(dt.month) / ::date::day(dt.day)) +
std::chrono::hours(dt.hour) + std::chrono::minutes(dt.minute) + std::chrono::seconds(dt.second) + std::chrono::hours(dt.hour) + std::chrono::minutes(dt.minute) + std::chrono::seconds(dt.second) +
std::chrono::microseconds(dt.second_part); std::chrono::microseconds(dt.second_part);
} }
@ -442,7 +446,8 @@ namespace sqlpp
param.buffer = r.bound_text_buffer.data(); param.buffer = r.bound_text_buffer.data();
param.buffer_length = r.bound_text_buffer.size(); param.buffer_length = r.bound_text_buffer.size();
auto err = mysql_stmt_fetch_column(_handle->mysql_stmt, &param, r.index, 0); auto err =
mysql_stmt_fetch_column(_handle->mysql_stmt, &param, static_cast<unsigned int>(r.index), 0);
if (err) if (err)
throw sqlpp::exception(std::string("MySQL: Fetch column after reallocate failed: ") + throw sqlpp::exception(std::string("MySQL: Fetch column after reallocate failed: ") +
"error-code: " + std::to_string(err) + "error-code: " + std::to_string(err) +

View File

@ -159,9 +159,13 @@ namespace sqlpp
if (not is_null) if (not is_null)
{ {
const auto ymd = ::date::year_month_day{*value}; const auto ymd = ::date::year_month_day{*value};
bound_time.year = static_cast<int>(ymd.year()); bound_time.year = static_cast<unsigned>(std::abs(static_cast<int>(ymd.year())));
bound_time.month = static_cast<unsigned>(ymd.month()); bound_time.month = static_cast<unsigned>(ymd.month());
bound_time.day = static_cast<unsigned>(ymd.day()); bound_time.day = static_cast<unsigned>(ymd.day());
bound_time.hour = 0u;
bound_time.minute = 0u;
bound_time.second = 0u;
bound_time.second_part = 0u;
if (_handle->debug) if (_handle->debug)
std::cerr << "bound values: " << bound_time.year << '-' << bound_time.month << '-' << bound_time.day << 'T' std::cerr << "bound values: " << bound_time.year << '-' << bound_time.month << '-' << bound_time.day << 'T'
<< bound_time.hour << ':' << bound_time.minute << ':' << bound_time.second << std::endl; << bound_time.hour << ':' << bound_time.minute << ':' << bound_time.second << std::endl;
@ -190,13 +194,13 @@ namespace sqlpp
const auto dp = ::sqlpp::chrono::floor<::date::days>(*value); const auto dp = ::sqlpp::chrono::floor<::date::days>(*value);
const auto time = ::date::make_time(*value - dp); const auto time = ::date::make_time(*value - dp);
const auto ymd = ::date::year_month_day{dp}; const auto ymd = ::date::year_month_day{dp};
bound_time.year = static_cast<int>(ymd.year()); bound_time.year = static_cast<unsigned>(std::abs(static_cast<int>(ymd.year())));
bound_time.month = static_cast<unsigned>(ymd.month()); bound_time.month = static_cast<unsigned>(ymd.month());
bound_time.day = static_cast<unsigned>(ymd.day()); bound_time.day = static_cast<unsigned>(ymd.day());
bound_time.hour = time.hours().count(); bound_time.hour = static_cast<unsigned>(time.hours().count());
bound_time.minute = time.minutes().count(); bound_time.minute = static_cast<unsigned>(time.minutes().count());
bound_time.second = time.seconds().count(); bound_time.second = static_cast<unsigned>(time.seconds().count());
bound_time.second_part = time.subseconds().count(); bound_time.second_part = static_cast<unsigned long>(time.subseconds().count());
if (_handle->debug) if (_handle->debug)
std::cerr << "bound values: " << bound_time.year << '-' << bound_time.month << '-' << bound_time.day << 'T' std::cerr << "bound values: " << bound_time.year << '-' << bound_time.month << '-' << bound_time.day << 'T'
<< bound_time.hour << ':' << bound_time.minute << ':' << bound_time.second << std::endl; << bound_time.hour << ':' << bound_time.minute << ':' << bound_time.second << std::endl;

View File

@ -362,7 +362,7 @@ namespace sqlpp
using _database_t = typename Policies::_database_t; using _database_t = typename Policies::_database_t;
template <typename... T> template <typename... T>
static constexpr auto _check_args(std::tuple<T...> args) -> check_selected_columns_t<T...> static constexpr auto _check_args(std::tuple<T...> /*args*/) -> check_selected_columns_t<T...>
{ {
return {}; return {};
} }

View File

@ -29,8 +29,6 @@
#include <iostream> #include <iostream>
SQLPP_ALIAS_PROVIDER(sample)
int Operator(int, char* []) int Operator(int, char* [])
{ {
const auto foo = test::TabFoo{}; const auto foo = test::TabFoo{};

View File

@ -63,11 +63,10 @@ int With(int, char*[])
select(t.alpha, t.delta).from(t.join(initialCte).on(t.alpha == initialCte.delta)).unconditionally()); select(t.alpha, t.delta).from(t.join(initialCte).on(t.alpha == initialCte.delta)).unconditionally());
const auto query = with(recursiveCte)(select(recursiveCte.alpha).from(recursiveCte).unconditionally()); const auto query = with(recursiveCte)(select(recursiveCte.alpha).from(recursiveCte).unconditionally());
::MockDb::_serializer_context_t printer = {}; printer.reset();
const auto serializedQuery = serialize(query, printer).str(); const auto serializedQuery = serialize(query, printer).str();
std::cout << serializedQuery << '\n'; std::cout << serializedQuery << '\n';
auto db = MockDb{};
for (const auto& row : db(query)) for (const auto& row : db(query))
{ {
std::cout << row.alpha; std::cout << row.alpha;

View File

@ -29,8 +29,6 @@
#include <sqlpp11/custom_query.h> #include <sqlpp11/custom_query.h>
#include <sqlpp11/mysql/mysql.h> #include <sqlpp11/mysql/mysql.h>
SQLPP_ALIAS_PROVIDER(left)
SQLPP_ALIAS_PROVIDER(right)
namespace namespace
{ {
struct on_duplicate_key_update struct on_duplicate_key_update

View File

@ -136,7 +136,7 @@ int DateTime(int, char*[])
require_equal(__LINE__, row.colTimePoint.value(), today); require_equal(__LINE__, row.colTimePoint.value(), today);
} }
auto x = update(tab) update(tab)
.set(tab.colDayPoint = parameter(tab.colDayPoint), tab.colTimePoint = parameter(tab.colTimePoint)) .set(tab.colDayPoint = parameter(tab.colDayPoint), tab.colTimePoint = parameter(tab.colTimePoint))
.unconditionally(); .unconditionally();

View File

@ -39,8 +39,6 @@
const auto library_raii = sqlpp::mysql::scoped_library_initializer_t{0, nullptr, nullptr}; const auto library_raii = sqlpp::mysql::scoped_library_initializer_t{0, nullptr, nullptr};
SQLPP_ALIAS_PROVIDER(left)
namespace sql = sqlpp::mysql; namespace sql = sqlpp::mysql;
const auto tab = TabSample{}; const auto tab = TabSample{};