1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-4530: common conjuction top rewrite (#2673)

Added logical transformation of the execplan::ParseTrees with the taking out the common factor in expression of the form "(A and B) or (A and C)" for the purposes of passing a TPCH 19 query.

Co-authored-by: Leonid Fedorov <leonid.fedorov@mariadb.com>
This commit is contained in:
Andrey Piskunov
2023-02-27 18:23:19 +02:00
committed by GitHub
parent 8671f55784
commit b6808c97f1
18 changed files with 6097 additions and 23 deletions

View File

@ -141,6 +141,12 @@ SimpleColumn::SimpleColumn() : ReturnedColumn(), fOid(0), fisColumnStore(true)
fDistinct = false;
}
SimpleColumn::SimpleColumn(const std::string& token, ForTestPurposeWithoutOID)
: ReturnedColumn(0), fOid(0), fData(token), fisColumnStore(true)
{
parse(token);
fDistinct = false;
}
SimpleColumn::SimpleColumn(const string& token, const uint32_t sessionID)
: ReturnedColumn(sessionID), fOid(0), fData(token), fisColumnStore(true)
{
@ -373,6 +379,7 @@ void SimpleColumn::unserialize(messageqcpp::ByteStream& b)
b >> reinterpret_cast<ByteStream::doublebyte&>(fisColumnStore);
}
bool SimpleColumn::operator==(const SimpleColumn& t) const
{
const ReturnedColumn *rc1, *rc2;