From 1d0f3649ba271a439ab38d35ce02462561cc9caa Mon Sep 17 00:00:00 2001 From: Wastack Date: Sun, 27 Nov 2016 15:08:18 +0100 Subject: tdf#103074 Implement Boolean Type for FB driver Change-Id: Ibed5435e23730dc901155e79152e9becd3e70566 Reviewed-on: https://gerrit.libreoffice.org/31262 Tested-by: Jenkins Reviewed-by: Lionel Elie Mamane --- connectivity/source/drivers/firebird/Util.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'connectivity/source/drivers/firebird/Util.cxx') diff --git a/connectivity/source/drivers/firebird/Util.cxx b/connectivity/source/drivers/firebird/Util.cxx index 1502e60c5286..7d72900a4788 100644 --- a/connectivity/source/drivers/firebird/Util.cxx +++ b/connectivity/source/drivers/firebird/Util.cxx @@ -127,6 +127,8 @@ sal_Int32 firebird::getColumnTypeFromFBType(short aType, short aSubType) return DataType::SQLNULL; case SQL_QUAD: // Is a "Blob ID" according to the docs return 0; // TODO: verify + case SQL_BOOLEAN: + return DataType::BOOLEAN; default: assert(false); // Should never happen return 0; @@ -185,6 +187,8 @@ OUString firebird::getColumnTypeNameFromFBType(short aType, short aSubType) return OUString("SQL_NULL"); case SQL_QUAD: return OUString("SQL_QUAD"); + case SQL_BOOLEAN: + return OUString("SQL_BOOLEAN"); default: assert(false); // Should never happen return OUString(); @@ -231,6 +235,8 @@ short firebird::getFBTypeFromBlrType(short blrType) // return OUString("SQL_NULL"); case blr_quad: return SQL_QUAD; + case blr_bool: + return SQL_BOOLEAN; default: // If this happens we have hit one of the extra types in ibase.h // look up blr_* for a list, e.g. blr_domain_name, blr_not_nullable etc. @@ -286,6 +292,9 @@ void firebird::mallocSQLVAR(XSQLDA* pSqlda) case SQL_INT64: pVar->sqldata = static_cast(malloc(sizeof(sal_Int64))); break; + case SQL_BOOLEAN: + pVar->sqldata = static_cast(malloc(sizeof(sal_Bool))); + break; case SQL_NULL: assert(false); // TODO: implement break; @@ -321,6 +330,7 @@ void firebird::freeSQLVAR(XSQLDA* pSqlda) case SQL_INT64: case SQL_TYPE_TIME: case SQL_TYPE_DATE: + case SQL_BOOLEAN: if(pVar->sqldata) { free(pVar->sqldata); -- cgit