Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blob subtype and charset absent for COMPUTED-BY column when it is based on another computed-by blob field but declared with explicit specifying of its own datatype (i.e. 'BLOB' ) [CORE5095] #5380

Open
firebird-automations opened this issue Feb 1, 2016 · 0 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @pavel-zotov

Test:
#⁠#⁠#⁠#⁠

shell del C:\MIX\firebird\QA\fbt-repo\tmp\test.fdb 2>nul;
set names utf8;
create database '/:C:\MIX\firebird\QA\fbt-repo\tmp\test.fdb' default character set utf8;

recreate table t1 (
n0 int
,blob_fld_w1252
blob
character set win1252
,c_implicit_type_of_blob_field
computed by ( blob_fld_w1252 )
,c_explicit_blob_on_blob_field
blob ------------------------------------------------------------------------------------------------------ [ 1 ]
computed by ( blob_fld_w1252 )
,c_transitive_on_implicit_type
computed by ( c_implicit_type_of_blob_field )
,c_transitive_on_explicit_blob ----------------------------------------------------------------------- [ 2 ]
computed by ( c_explicit_blob_on_blob_field )
);

insert into t1 values(null,'ä');
commit;

set sqlda_display on;
set blob all;
set list on;
select * from t1;

Run:
#⁠#⁠#⁠#⁠
isql -q -i test.sql 1>test.log & isql -x /:C:\MIX\firebird\QA\fbt-repo\tmp\test.fdb >meta.log

Content of 'test.log':
#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠#⁠

INPUT message field count: 0

OUTPUT message field count: 6
01: sqltype: 496 LONG Nullable scale: 0 subtype: 0 len: 4
: name: N0 alias: N0
: table: T1 owner: SYSDBA
02: sqltype: 520 BLOB Nullable scale: 0 subtype: 1 len: 8 charset: 4 UTF8
: name: BLOB_FLD_W1252 alias: BLOB_FLD_W1252
: table: T1 owner: SYSDBA
03: sqltype: 520 BLOB Nullable scale: 0 subtype: 1 len: 8 charset: 4 UTF8
: name: C_IMPLICIT_TYPE_OF_BLOB_FIELD alias: C_IMPLICIT_TYPE_OF_BLOB_FIELD
: table: T1 owner: SYSDBA
04: sqltype: 520 BLOB Nullable scale: 0 subtype: 0 len: 8 ------------------------------------------------------------------------------------------------------ [ A ]
: name: C_EXPLICIT_BLOB_ON_BLOB_FIELD alias: C_EXPLICIT_BLOB_ON_BLOB_FIELD
: table: T1 owner: SYSDBA
05: sqltype: 520 BLOB Nullable scale: 0 subtype: 1 len: 8 charset: 4 UTF8
: name: C_TRANSITIVE_ON_IMPLICIT_TYPE alias: C_TRANSITIVE_ON_IMPLICIT_TYPE
: table: T1 owner: SYSDBA
06: sqltype: 520 BLOB Nullable scale: 0 subtype: 0 len: 8 ------------------------------------------------------------------------------------------------------ [ B ]
: name: C_TRANSITIVE_ON_EXPLICIT_BLOB alias: C_TRANSITIVE_ON_EXPLICIT_BLOB
: table: T1 owner: SYSDBA

N0 <null>
BLOB_FLD_W1252 0:9
ä
C_IMPLICIT_TYPE_OF_BLOB_FIELD 0:6
ä
C_EXPLICIT_BLOB_ON_BLOB_FIELD 80:0
ä
C_TRANSITIVE_ON_IMPLICIT_TYPE 0:3
ä
C_TRANSITIVE_ON_EXPLICIT_BLOB 80:0
ä

Lines marked in DDL by [1] and [2] corresponds to [A] and [B] in the output.
When definition of COMPUTED-BY field contains explicit specification of its type (keyword "BLOB") then such field charset and sub_type disappears from SQLDA_DISPLAY output. The same will be when computed-by field is based on computed-by which, in turn, is declared with explicit "BLOB" keyword in its own DDL.

Checked on: WI-V3.0.0.32306.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant