From dbf98a34e08558b91328cb414447e9961c222033 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Sat, 18 Sep 2021 14:25:22 +0100 Subject: Add JT recommended warnings --- libodbcpp/odbc-column.cpp | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) (limited to 'libodbcpp/odbc-column.cpp') diff --git a/libodbcpp/odbc-column.cpp b/libodbcpp/odbc-column.cpp index 3d968c2..df22cfb 100644 --- a/libodbcpp/odbc-column.cpp +++ b/libodbcpp/odbc-column.cpp @@ -21,7 +21,7 @@ bool ODBC::CharArrayColumn::resize() { if (bindLen >= SQLLEN(data.size())) { - data.resize(bindLen + 1); + data.resize(static_cast(bindLen + 1)); Column::bind(); if (paramCmd) { paramBound = false; @@ -41,23 +41,13 @@ ODBC::Column::isNull() const void ODBC::Column::bind() { - RETCODE rc = SQLBindCol(selectCmd->hStmt, colNo + 1, ctype(), rwDataAddress(), size(), &bindLen); + RETCODE rc = SQLBindCol(selectCmd->hStmt, static_cast(colNo + 1), ctype(), rwDataAddress(), + static_cast(size()), &bindLen); if (!SQL_SUCCEEDED(rc)) { throw Error(rc, SQL_HANDLE_STMT, selectCmd->hStmt); } } -ODBC::TimeStampColumn::operator boost::posix_time::ptime() const -{ - return boost::posix_time::ptime(boost::gregorian::date(data.year, data.month, data.day), - boost::posix_time::time_duration(data.hour, data.minute, data.second, data.fraction)); -} -ODBC::IntervalColumn::operator boost::posix_time::time_duration() const -{ - auto dur = boost::posix_time::time_duration((24 * data.intval.day_second.day) + data.intval.day_second.hour, - data.intval.day_second.minute, data.intval.day_second.second, data.intval.day_second.fraction); - return (data.interval_sign ? -dur : dur); -} void ODBC::SignedIntegerColumn::apply(DB::HandleField & h) const { @@ -80,7 +70,7 @@ ODBC::CharArrayColumn::apply(DB::HandleField & h) const if (isNull()) { return h.null(); } - h.string({data.data(), (std::size_t)bindLen}); + h.string({data.data(), static_cast(bindLen)}); } void ODBC::TimeStampColumn::apply(DB::HandleField & h) const @@ -88,7 +78,10 @@ ODBC::TimeStampColumn::apply(DB::HandleField & h) const if (isNull()) { return h.null(); } - h.timestamp(*this); + h.timestamp(boost::posix_time::ptime( + boost::gregorian::date(static_cast(data.year), + static_cast(data.month), static_cast(data.day)), + boost::posix_time::time_duration(data.hour, data.minute, data.second, data.fraction))); } void ODBC::IntervalColumn::apply(DB::HandleField & h) const @@ -96,5 +89,7 @@ ODBC::IntervalColumn::apply(DB::HandleField & h) const if (isNull()) { return h.null(); } - h.interval(*this); + auto dur = boost::posix_time::time_duration((24 * data.intval.day_second.day) + data.intval.day_second.hour, + data.intval.day_second.minute, data.intval.day_second.second, data.intval.day_second.fraction); + h.interval(data.interval_sign ? -dur : dur); } -- cgit v1.2.3