summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorTamas Bunth <tamas.bunth@collabora.co.uk>2019-07-30 15:05:35 +0200
committerTamás Bunth <btomi96@gmail.com>2019-08-06 16:25:21 +0200
commite04322c3adcff323c06b043f19c5b300c5b75d1d (patch)
tree738ef52e522720e136705122e49f26462d2dadbf /connectivity
parentea97f1e39015e36958374157e98b120bec47cb69 (diff)
mysqlc: Support reading blob as string
Change-Id: I1ef0c3817bc255e7f0c38aca73c475b19d5d7d9b Reviewed-on: https://gerrit.libreoffice.org/76600 Tested-by: Jenkins Reviewed-by: Tamás Bunth <btomi96@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/76734 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/76871
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
index 3d69eb5d2248..ad240292de1c 100644
--- a/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
+++ b/connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx
@@ -313,7 +313,10 @@ template <> DateTime OPreparedResultSet::retrieveValue(sal_Int32 column)
template <> OUString OPreparedResultSet::retrieveValue(sal_Int32 column)
{
- if (getTypeFromMysqlType(m_aFields[column - 1].type) != std::type_index(typeid(OUString)))
+ // redirect call to the appropiate method if needed
+ // BLOB can be simply read out as string
+ if (getTypeFromMysqlType(m_aFields[column - 1].type) != std::type_index(typeid(OUString))
+ && m_aFields[column - 1].type != MYSQL_TYPE_BLOB)
return getRowSetValue(column);
const char* sStr = static_cast<const char*>(m_aData[column - 1].buffer);
@@ -351,6 +354,9 @@ ORowSetValue OPreparedResultSet::getRowSetValue(sal_Int32 nColumnIndex)
case MYSQL_TYPE_DECIMAL:
case MYSQL_TYPE_NEWDECIMAL:
return getString(nColumnIndex);
+ case MYSQL_TYPE_BLOB:
+ throw SQLException("Column with type BLOB cannot be converted", *this, OUString(), 1,
+ Any());
default:
SAL_WARN("connectivity.mysqlc", "OPreparedResultSet::getRowSetValue: unknown type: "
<< m_aFields[nColumnIndex - 1].type);