8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 22:43:03 +01:00

Fix #7176 - Incorrect error "Invalid token. Malformed string." with union + blob + non utf8 varchar.

This commit is contained in:
Adriano dos Santos Fernandes 2022-05-04 22:09:02 -03:00
parent 120201ed5a
commit a8f26b3e3d

View File

@ -2803,16 +2803,11 @@ static void pass1_union_auto_cast(DsqlCompilerScratch* dsqlScratch, ExprNode* in
field->length = desc.dsc_length;
field->flags = (desc.dsc_flags & DSC_nullable) ? FLD_nullable : 0;
if (desc.dsc_dtype <= dtype_any_text)
if (desc.isText() | desc.isBlob())
{
field->textType = desc.dsc_sub_type;
field->charSetId = INTL_GET_CHARSET(&desc);
field->collationId = INTL_GET_COLLATE(&desc);
}
else if (desc.dsc_dtype == dtype_blob)
{
field->charSetId = desc.dsc_scale;
field->collationId = desc.dsc_flags >> 8;
field->textType = desc.getTextType();
field->charSetId = desc.getCharSet();
field->collationId = desc.getCollation();
}
// Finally copy the descriptors to the root nodes and swap