Skip to content

Function with text blob return encoding issue with FB30 #8763

@EPluribusUnum

Description

@EPluribusUnum

Hi *!

database default charset WIN1250

CREATE DOMAIN XTXTBLOB AS BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET WIN1250 COLLATE WIN1250;
CREATE DOMAIN XVAR100N AS VARCHAR(100) CHARACTER SET WIN1250 NOT NULL COLLATE PXW_HUNDC;
CREATE TABLE kv (KULCS XVAR100N, ERTEK XTXTBLOB);

CREATE OR ALTER FUNCTION kv_list
RETURNS xtxtblob
AS
DECLARE VARIABLE valasz xtxtblob;
BEGIN
valasz = (
SELECT LIST(TRIM(x.ertek), '#')
FROM (SELECT v.ertek
FROM kv v
ORDER BY v.kulcs) x);
RETURN valasz;
END

CREATE OR ALTER PROCEDURE kv_list2
RETURNS (
valasz xtxtblob)
AS
BEGIN
valasz = (
SELECT LIST(TRIM(x.ertek), '#')
FROM (SELECT v.ertek
FROM kv v
ORDER BY v.kulcs) x);
SUSPEND;
END

Using UTF8 connection
INSERT INTO kv(kulcs, ertek) VALUES('1', 'Első sor');
INSERT INTO kv(kulcs, ertek) VALUES('2', 'Második sor');
SELECT LIST(TRIM(x.ertek), '#' ) FROM (SELECT v.ertek FROM kv v ORDER BY v.kulcs) x;--fine
SELECT * FROM kv_list2;--fine
SELECT kv_list() FROM rdb$database;--wrong: Els� sor#M�sodik sor

Wrong with FB30. FB40 and FB50 is fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions