diff options
author | Tamas Bunth <tamas.bunth@collabora.co.uk> | 2018-03-10 23:40:43 +0100 |
---|---|---|
committer | Tamás Bunth <btomi96@gmail.com> | 2018-03-11 11:34:16 +0100 |
commit | f9831de353742485b8241fb2bd8ca6b23e3c1c75 (patch) | |
tree | c82b3043cb8f1527d0f5e427ddd84d54984ab698 | |
parent | 0e73fd8218cfc009edfda02e7240b9d0907916d9 (diff) |
dbahsql: import TIME columns
Change-Id: I8863127a4de1bfc06b13d008e037db2a4e60f1e7
Reviewed-on: https://gerrit.libreoffice.org/51059
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tamás Bunth <btomi96@gmail.com>
-rw-r--r-- | dbaccess/source/filter/hsqldb/hsqlimport.cxx | 10 | ||||
-rw-r--r-- | dbaccess/source/filter/hsqldb/rowinputbinary.cxx | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/dbaccess/source/filter/hsqldb/hsqlimport.cxx b/dbaccess/source/filter/hsqldb/hsqlimport.cxx index cc806b313e9a..7f6426231b06 100644 --- a/dbaccess/source/filter/hsqldb/hsqlimport.cxx +++ b/dbaccess/source/filter/hsqldb/hsqlimport.cxx @@ -139,8 +139,8 @@ void lcl_setParams(const RowVector& row, Reference<XParameters>& xParam, { xParam->setDouble(i + 1, nVal); } - break; } + break; case DataType::NUMERIC: case DataType::DECIMAL: { @@ -157,8 +157,14 @@ void lcl_setParams(const RowVector& row, Reference<XParameters>& xParam, // TODO break; case DataType::TIME: - // TODO + { + css::util::Time time; + if (row.at(i) >>= time) + { + xParam->setTime(i + 1, time); + } break; + } case DataType::TIMESTAMP: // TODO break; diff --git a/dbaccess/source/filter/hsqldb/rowinputbinary.cxx b/dbaccess/source/filter/hsqldb/rowinputbinary.cxx index b657abd36d52..0bcd0109e304 100644 --- a/dbaccess/source/filter/hsqldb/rowinputbinary.cxx +++ b/dbaccess/source/filter/hsqldb/rowinputbinary.cxx @@ -21,6 +21,7 @@ #include <com/sun/star/sdbc/DataType.hpp> #include <com/sun/star/io/WrongFormatException.hpp> #include <com/sun/star/io/XConnectable.hpp> +#include <com/sun/star/util/Time.hpp> #include <unotools/ucbstreamhelper.hxx> #include <tools/stream.hxx> @@ -300,7 +301,13 @@ std::vector<Any> HsqlRowInputStream::readOneRow(const ColumnTypeVector& nColType case DataType::DATE: break; case DataType::TIME: - break; + { + sal_Int64 value = 0; + m_pStream->ReadInt64(value); + css::util::Time time((value % 1000) * 1000000, value / 1000, 0, 0, true); + aData.push_back(makeAny(time)); + } + break; case DataType::TIMESTAMP: break; case DataType::BOOLEAN: |