Wrong logic is used to resolve EXECUTE BLOCK parameters collations [CORE3047] #3428
Labels
affect-version: 2.1.0
affect-version: 2.1.1
affect-version: 2.1.2
affect-version: 2.1.3
affect-version: 2.5 Alpha 1
affect-version: 2.5 Beta 1
affect-version: 2.5 Beta 2
affect-version: 2.5 RC1
affect-version: 2.5 RC2
affect-version: 3.0 Initial
component: charsets/collation
fix-version: 3.0 Alpha 1
priority: major
qa: done successfully
type: bug
Submitted by: @asfernandes
isql -term ! -ch win1252
Use CONNECT or CREATE DATABASE to specify a database
SQL> create database 'u.fdb' default character set utf8!
SQL> ^Z
isql -term ! -ch win1252 U.FDB
Database: U.FDB
SQL> set sqlda_display on!
SQL> execute block returns (c varchar(10)) as begin end!
INPUT SQLDA version: 1 sqln: 10 sqld: 0
-- (53 is WIN1252: correct)
OUTPUT SQLDA version: 1 sqln: 20 sqld: 1
01: sqltype: 449 VARYING Nullable sqlscale: 0 sqlsubtype: 53 sqllen: 10
: name: (1)C alias: (1)C
: table: (0) owner: (0)
-- (WIN_PTBR is tried to be resolved agains database charset instead of client charset: incorrect)
SQL> execute block returns (c varchar(10) collate win_ptbr) as begin end!
Statement failed, SQLCODE = -204
Dynamic SQL Error
-SQL error code = -204
-Data type unknown
-COLLATION WIN_PTBR for CHARACTER SET UTF8 is not defined
Commits: 6249162 d7883e7
====== Test Details ======
subtype = collation_id << 8 | charset_id
The text was updated successfully, but these errors were encountered: