summaryrefslogtreecommitdiffstats
path: root/connectivity
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2020-03-09 18:59:29 +0100
committerXisco FaulĂ­ <xiscofauli@libreoffice.org>2020-03-25 16:31:01 +0100
commitee2f51cd43ef4e5fbda33918daee26e06ab38580 (patch)
tree30f5daa4369153142ef458f0f83b70cc3760d83f /connectivity
parenttdf#123268 fix lost chart if all legend entries are hidden (diff)
downloadcore-ee2f51cd43ef4e5fbda33918daee26e06ab38580.tar.gz
core-ee2f51cd43ef4e5fbda33918daee26e06ab38580.zip
tdf#130334: Firebird deal with array fields
See https://bugs.documentfoundation.org/show_bug.cgi?id=130334#c11 See https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-bnrytypes.html#fblangref25-datatypes-array Change-Id: I27c53b9c771fcdb3b89e66af325a8234c7de08bb Change-Id: I7b9d27f78e351eda611d13f5a07ef3c80ff00e3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90239 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr> (cherry picked from commit 2ede753a8b7adecbf6ca78745e43e23c7498e289) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90042 Reviewed-by: Xisco FaulĂ­ <xiscofauli@libreoffice.org>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/firebird/Util.cxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/connectivity/source/drivers/firebird/Util.cxx b/connectivity/source/drivers/firebird/Util.cxx
index c4d6eeece4d1..572767851770 100644
--- a/connectivity/source/drivers/firebird/Util.cxx
+++ b/connectivity/source/drivers/firebird/Util.cxx
@@ -304,12 +304,12 @@ void firebird::mallocSQLVAR(XSQLDA* pSqlda)
case SQL_TIMESTAMP:
pVar->sqldata = static_cast<char*>(malloc(sizeof(ISC_TIMESTAMP)));
break;
+ // an ARRAY is in fact a BLOB of a specialized type
+ // See https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-bnrytypes.html#fblangref25-datatypes-array
+ case SQL_ARRAY:
case SQL_BLOB:
pVar->sqldata = static_cast<char*>(malloc(sizeof(ISC_QUAD)));
break;
- case SQL_ARRAY:
- assert(false); // TODO: implement
- break;
case SQL_TYPE_TIME:
pVar->sqldata = static_cast<char*>(malloc(sizeof(ISC_TIME)));
break;
@@ -353,6 +353,9 @@ void firebird::freeSQLVAR(XSQLDA* pSqlda)
case SQL_DOUBLE:
case SQL_D_FLOAT:
case SQL_TIMESTAMP:
+ // an ARRAY is in fact a BLOB of a specialized type
+ // See https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-bnrytypes.html#fblangref25-datatypes-array
+ case SQL_ARRAY:
case SQL_BLOB:
case SQL_INT64:
case SQL_TYPE_TIME:
@@ -364,9 +367,6 @@ void firebird::freeSQLVAR(XSQLDA* pSqlda)
pVar->sqldata = nullptr;
}
break;
- case SQL_ARRAY:
- assert(false); // TODO: implement
- break;
case SQL_NULL:
assert(false); // TODO: implement
break;