1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +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

@ -57,8 +57,14 @@ class SimpleColumn : public ReturnedColumn
/**
* Constructors
*/
class ForTestPurposeWithoutOID{};
SimpleColumn();
SimpleColumn(const std::string& token, ForTestPurposeWithoutOID);
SimpleColumn(const std::string& token, const uint32_t sessionID = 0);
SimpleColumn(const std::string& schema, const std::string& table, const std::string& col,
const uint32_t sessionID = 0, const int lower_case_table_names = 0);
SimpleColumn(const std::string& schema, const std::string& table, const std::string& col,
@ -203,6 +209,8 @@ class SimpleColumn : public ReturnedColumn
*/
bool operator==(const SimpleColumn& t) const;
bool operator<(const SimpleColumn& t) const;
/** @brief Do a deep, strict (as opposed to semantic) equivalence test
*
* Do a deep, strict (as opposed to semantic) equivalence test.