diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2020-03-09 18:59:29 +0100 |
---|---|---|
committer | Xisco Faulí <xiscofauli@libreoffice.org> | 2020-03-25 16:31:01 +0100 |
commit | ee2f51cd43ef4e5fbda33918daee26e06ab38580 (patch) | |
tree | 30f5daa4369153142ef458f0f83b70cc3760d83f | |
parent | 730369b8670590cb9625691fa2c0008e904fb4e1 (diff) |
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>
-rw-r--r-- | connectivity/source/drivers/firebird/Util.cxx | 12 |
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; |