summaryrefslogtreecommitdiff
path: root/dbaccess
diff options
context:
space:
mode:
authorTamas Bunth <tamas.bunth@collabora.co.uk>2018-03-10 23:40:43 +0100
committerTamás Bunth <btomi96@gmail.com>2018-03-11 11:34:16 +0100
commitf9831de353742485b8241fb2bd8ca6b23e3c1c75 (patch)
treec82b3043cb8f1527d0f5e427ddd84d54984ab698 /dbaccess
parent0e73fd8218cfc009edfda02e7240b9d0907916d9 (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>
Diffstat (limited to 'dbaccess')
-rw-r--r--dbaccess/source/filter/hsqldb/hsqlimport.cxx10
-rw-r--r--dbaccess/source/filter/hsqldb/rowinputbinary.cxx9
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: