mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:43:02 +01:00
Fix #7786 and SHOW output for text BLOBs domains
This commit is contained in:
parent
cbb1e9ff7c
commit
effb648813
@ -2681,7 +2681,10 @@ static void listRelationComputed(LegacyTables flag, SSHORT default_char_set_id)
|
||||
if (!FLD.RDB$CHARACTER_SET_ID.NULL)
|
||||
char_set_id = FLD.RDB$CHARACTER_SET_ID;
|
||||
if (char_set_id != default_char_set_id)
|
||||
ISQL_get_character_sets(char_set_id, collation, default_char_set_id, Get::BOTH, false, true, char_sets);
|
||||
{
|
||||
// Currently ALTER TABLE syntax doesn't allow collation here.
|
||||
ISQL_get_character_sets(char_set_id, collation, default_char_set_id, Get::CHARSET_ONLY, false, true, char_sets);
|
||||
}
|
||||
if (char_sets[0])
|
||||
isqlGlob.prints(char_sets);
|
||||
// CVC: Someone deleted the code that checks intchar when handling collations
|
||||
|
@ -1507,7 +1507,10 @@ void ISQL_get_character_sets(SSHORT char_set_id, SSHORT collation,
|
||||
// If they both are default - supress output completely
|
||||
if (!charsetIsDefault || !collationIsDefault)
|
||||
{
|
||||
sprintf(string, " CHARACTER SET %s%s COLLATE %s", charSetName, notNullStr, collateName);
|
||||
if (collationIsDefault) // Suppress collation only
|
||||
sprintf(string, " CHARACTER SET %s%s", charSetName, notNullStr);
|
||||
else
|
||||
sprintf(string, " CHARACTER SET %s%s COLLATE %s", charSetName, notNullStr, collateName);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
@ -4076,7 +4076,7 @@ static processing_state show_domains(const SCHAR* domain_name)
|
||||
|
||||
if (((FLD.RDB$FIELD_TYPE == blr_text ||
|
||||
FLD.RDB$FIELD_TYPE == blr_varying) && FLD.RDB$FIELD_SUB_TYPE != fb_text_subtype_binary) ||
|
||||
FLD.RDB$FIELD_TYPE == blr_blob && FLD.RDB$FIELD_SUB_TYPE != isc_blob_text)
|
||||
FLD.RDB$FIELD_TYPE == blr_blob && FLD.RDB$FIELD_SUB_TYPE == isc_blob_text)
|
||||
{
|
||||
show_charsets(char_set_id, collation);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user