mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 07:23:03 +01:00
Fixed bug CORE-5695 : Position function does not consider the collation for blob
This commit is contained in:
parent
3dd5a234c1
commit
0d8ee0e1b3
@ -228,6 +228,14 @@ typedef struct dsc
|
|||||||
memset(this, 0, sizeof(*this));
|
memset(this, 0, sizeof(*this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void clearFlags()
|
||||||
|
{
|
||||||
|
if (isBlob() && dsc_sub_type == isc_blob_text)
|
||||||
|
dsc_flags &= 0xFF00;
|
||||||
|
else
|
||||||
|
dsc_flags = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void makeBlob(SSHORT subType, USHORT ttype, ISC_QUAD* address = NULL)
|
void makeBlob(SSHORT subType, USHORT ttype, ISC_QUAD* address = NULL)
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
|
@ -1996,7 +1996,7 @@ const StmtNode* DeclareVariableNode::execute(thread_db* tdbb, jrd_req* request,
|
|||||||
{
|
{
|
||||||
impure_value* variable = request->getImpure<impure_value>(impureOffset);
|
impure_value* variable = request->getImpure<impure_value>(impureOffset);
|
||||||
variable->vlu_desc = varDesc;
|
variable->vlu_desc = varDesc;
|
||||||
variable->vlu_desc.dsc_flags = 0;
|
variable->vlu_desc.clearFlags();
|
||||||
|
|
||||||
if (variable->vlu_desc.dsc_dtype <= dtype_varying)
|
if (variable->vlu_desc.dsc_dtype <= dtype_varying)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user