1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-4899 MCS now applies a correct collation running IN for character data types

This commit is contained in:
Roman Nozdrin
2021-12-30 13:44:53 +00:00
committed by Roman Nozdrin
parent b3ab3fb514
commit 05897948e4
5 changed files with 136 additions and 35 deletions

View File

@ -78,6 +78,7 @@ void DictStep::createCommand(ByteStream& bs)
bs >> BOP;
bs >> tmp8;
compressionType = tmp8;
bs >> charsetNumber;
bs >> filterCount;
bs >> tmp8;
hasEqFilter = tmp8;
@ -85,34 +86,18 @@ void DictStep::createCommand(ByteStream& bs)
if (hasEqFilter)
{
string strTmp;
eqFilter.reset(new primitives::DictEqualityFilter(my_charset_latin1));
datatypes::Charset cs(charsetNumber);
eqFilter.reset(new primitives::DictEqualityFilter(cs));
bs >> eqOp;
//cout << "saw the eqfilter count=" << filterCount << endl;
for (uint32_t i = 0; i < filterCount; i++)
{
bs >> strTmp;
//cout << " " << strTmp << endl;
eqFilter->insert(strTmp);
}
}
else
bs >> filterString;
bs >> charsetNumber;
#if 0
cout << "see " << filterCount << " filters\n";
DictFilterElement* filters = (DictFilterElement*) filterString.buf();
for (uint32_t i = 0; i < filterCount; i++)
{
cout << " COP=" << (int) filters->COP << endl;
cout << " len=" << filters->len << endl;
cout << " string=" << filters->data << endl;
}
#endif
Command::createCommand(bs);
}