tdf#125957: FIREBIRD Datatype Binary(fix)[CHAR] couldn't be filled with content

Really use sCharsetName which is xRow->getString(13) trimmed

See commit bf662904c4
Author: Tamas Bunth <tamas.bunth@collabora.co.uk>
Date:   Sat Dec 16 12:57:43 2017 +0100

    tdf#104734 Firebird: Add Binary (fix) type

    There is no explicit binary type in Firebird. It can be accomplished
    using the CHAR type with a special character set, which tells the
    database that it is binary data and there is no collation. (called
    OCTETS).

    Because of that, we also need the character set to decide the exact
    column type.

    And also refactor some parts of the driver:
    - Create class to determine internal type from firebird type, subtype,
    scale and character set.
    - Use internal type (DataType::XXX) in XDatabaseMetaData::getTypeInfo()
    indirectly. (We want to return a Firebird type for each internal type,
    not in the opposite direction.

Change-Id: I3c9c764d353eeead5e8c00f1142846725eecce15
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107280
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Lionel Mamane <lionel@mamane.lu>
Tested-by: Jenkins
This commit is contained in:
Julien Nabet
2020-12-06 11:02:31 +01:00
parent 2e6a67f3dd
commit f26949e23d

View File

@@ -1194,7 +1194,7 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getColumns(
// result field may be filled with spaces
sCharsetName = sCharsetName.trim();
ColumnTypeInfo aInfo(aType, xRow->getShort(7), aScale,
xRow->getString(13));
sCharsetName);
aCurrentRow[5] = new ORowSetValueDecorator(aInfo.getSdbcType());
// 6. Typename (SQL_*)