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

MCOL-1205 Support queries with circular joins

This patch adds support for queries with circular joins.
Currently support added for inner joins only.
This commit is contained in:
Denis Khalikov
2021-04-22 10:03:44 +03:00
parent 6dc356ed60
commit 1d5f309b8f
6 changed files with 787 additions and 41 deletions

View File

@ -285,6 +285,10 @@ void StatisticsManager::unserialize(messageqcpp::ByteStream& bs)
}
}
bool StatisticsManager::hasKey(uint32_t oid) { return keyTypes.count(oid) > 0 ? true : false; }
KeyType StatisticsManager::getKeyType(uint32_t oid) { return keyTypes[oid]; }
StatisticsDistributor* StatisticsDistributor::instance()
{
static StatisticsDistributor* sd = new StatisticsDistributor();

View File

@ -88,6 +88,10 @@ class StatisticsManager
void unserialize(messageqcpp::ByteStream& bs);
// Computes hash from the current statistics data.
uint64_t computeHashFromStats();
// Checks whether statistics is available for the given `oid`.
bool hasKey(uint32_t oid);
// Returns a KeyType for the given `oid`.
KeyType getKeyType(uint32_t oid);
private:
std::map<uint32_t, KeyType> keyTypes;