-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FDVerifier for several rhs columns #236
Conversation
std::unordered_map<ClusterIndex, unsigned> frequencies = | ||
util::PLI::CreateFrequencies(cluster, pt); | ||
size_t num_distinct_rhs_values = CalculateNumDistinctRhsValues(frequencies, cluster.size()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
я сейчас перечитывал этот код и понял, что эта логика на самом деле выглядит довольно плохо. Мы вызываем функцию, которая считает частоты появления конкретных значений в кластере, но пропускает уникальные для всей таблицы значения. Но поскольку тут нам эта информация нужна, мы потом ее восстанавливаем в CalculateNumDistinctRgsValues
.. Лучше добавить в CreateFrequencies
третий параметр, который будет указывать, нужно игнорировать одиночные значения или нет и вызывать тут функцию, которая не игнорирует, станет лучше.
Можешь это поправить, если хочешь, лучше другим пулреквестом
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
И ClusterIndex
тут неправильно используется. Значение у frequencies
это именно значения в таблице (их хеш если быть точным), а ClusterIndex
обозначает индекс в таблице.
ff4412e
to
85a0f01
Compare
stats_calculator_->CalculateStatistics(lhs_pli.get(), rhs_pli.get()); | ||
} | ||
|
||
std::shared_ptr<util::PLI const> FDVerifier::CalculatePLI( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: имхо название чуть слишком общее, как будто CalculatePLIForColumns
или вроде того будет лучше
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Change the existing FD verification algorithm to cover the case when there are several columns on the right hand side