summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorTamas Bunth <tamas.bunth@collabora.co.uk>2019-05-30 18:34:03 +0200
committerTamás Bunth <btomi96@gmail.com>2019-08-02 16:50:37 +0200
commit52a396d4a676021d595bde0af3bd7f3254193ea8 (patch)
tree72df73b168456b4634bbb3329f5e0a0a16f565b8 /connectivity
parent62bd8daf20b66cea5b84b05fb04b9ed5240b1ab9 (diff)
mysqlc: Add support for mysql type INT24
Which is mapped to sal_Int32. Change-Id: Ibf12e92a20034440fa990ed0c6f1196f4ca3f40f Reviewed-on: https://gerrit.libreoffice.org/73218 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/76733 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tamás Bunth <btomi96@gmail.com>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
index 2eaeceb66b90..ead866968ead 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
@@ -31,6 +31,7 @@
#include <com/sun/star/sdbcx/CompareBookmark.hpp>
#include <cppuhelper/supportsservice.hxx>
#include <cppuhelper/typeprovider.hxx>
+#include <sal/log.hxx>
using namespace rtl;
#include <comphelper/string.hxx>
@@ -66,6 +67,7 @@ const std::type_index getTypeFromMysqlType(enum_field_types type)
case MYSQL_TYPE_SHORT:
return std::type_index(typeid(sal_Int16));
case MYSQL_TYPE_LONG:
+ case MYSQL_TYPE_INT24:
return std::type_index(typeid(sal_Int32));
case MYSQL_TYPE_LONGLONG:
return std::type_index(typeid(sal_Int64));
@@ -88,7 +90,6 @@ const std::type_index getTypeFromMysqlType(enum_field_types type)
case MYSQL_TYPE_BLOB:
case MYSQL_TYPE_YEAR:
case MYSQL_TYPE_BIT:
- case MYSQL_TYPE_INT24:
case MYSQL_TYPE_SET:
case MYSQL_TYPE_ENUM:
case MYSQL_TYPE_GEOMETRY:
@@ -268,6 +269,7 @@ ORowSetValue OPreparedResultSet::getRowSetValue(sal_Int32 nColumnIndex)
case MYSQL_TYPE_SHORT:
return getShort(nColumnIndex);
case MYSQL_TYPE_LONG:
+ case MYSQL_TYPE_INT24:
return getInt(nColumnIndex);
case MYSQL_TYPE_LONGLONG:
return getLong(nColumnIndex);
@@ -287,9 +289,10 @@ ORowSetValue OPreparedResultSet::getRowSetValue(sal_Int32 nColumnIndex)
case MYSQL_TYPE_NEWDECIMAL:
return getString(nColumnIndex);
default:
- mysqlc_sdbc_driver::throwFeatureNotImplementedException(
- "OPreparedResultSet::getRowSetValue", *this);
- return ORowSetValue();
+ SAL_WARN("connectivity.mysqlc", "OPreparedResultSet::getRowSetValue: unknown type: "
+ << m_aFields[nColumnIndex - 1].type);
+ throw SQLException("Unknown column type when fetching result", *this, OUString(), 1,
+ Any());
}
}