-
Notifications
You must be signed in to change notification settings - Fork 638
YDB-2568 Enable match_recognize in ydb #6807
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
Conversation
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🔴
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🔴
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
ydb/core/kqp/host/kqp_host.h
Outdated
@@ -123,7 +123,8 @@ TIntrusivePtr<IKqpHost> CreateKqpHost(TIntrusivePtr<IKqpGateway> gateway, | |||
const TMaybe<TString>& applicationName = Nothing(), const NKikimr::NMiniKQL::IFunctionRegistry* funcRegistry = nullptr, | |||
bool keepConfigChanges = false, bool isInternalCall = false, TKqpTempTablesState::TConstPtr tempTablesState = nullptr, | |||
NActors::TActorSystem* actorSystem = nullptr /*take from TLS by default*/, | |||
NYql::TExprContext* ctx = nullptr); | |||
NYql::TExprContext* ctx = nullptr, | |||
const NKikimrConfig::TQueryServiceConfig& queryServiceConfig = NKikimrConfig::TQueryServiceConfig()); |
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.
Давай дефолт для конфига уберем. Иначе можно забыть его дотащить из конфига
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.
Сделал неопциональным
@@ -1033,7 +1033,7 @@ class TKqpHost : public IKqpHost { | |||
std::optional<TKqpFederatedQuerySetup> federatedQuerySetup, const TIntrusiveConstPtr<NACLib::TUserToken>& userToken, | |||
const NKikimr::NMiniKQL::IFunctionRegistry* funcRegistry, bool keepConfigChanges, bool isInternalCall, | |||
TKqpTempTablesState::TConstPtr tempTablesState = nullptr, NActors::TActorSystem* actorSystem = nullptr, | |||
NYql::TExprContext* ctx = nullptr) | |||
NYql::TExprContext* ctx = nullptr, const NKikimrConfig::TQueryServiceConfig& queryServiceConfig = NKikimrConfig::TQueryServiceConfig()) |
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.
Давай уберем дефолт для query service config
@@ -145,8 +145,8 @@ TExprNode::TPtr ExpandMatchRecognize(const TExprNode::TPtr& node, TExprContext& | |||
TExprNode::TPtr sortOrder; | |||
ExtractSortKeyAndOrder(pos, sortTraits, sortKey, sortOrder, ctx); | |||
TExprNode::TPtr result; | |||
YQL_ENSURE(sortOrder->ChildrenSize() == 1, "Expect ORDER BY timestamp for MATCH_RECOGNIZE"); |
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.
Зачем так? Потенциально могут быть сценарии использования без сортировки. И сортировка может быть не обязательно по столбцу timestamp. Как минимум текст ошибки нужно переписать
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.
давайте текст ошибки перепишем и даже уберем YQL_ENSURE в пользу if. сортировку сделали обязательной для дуализма аналитического и стримингового MR - код должен без проблем переноситься с аналитики на поток
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.
До этого изменения сортировка не была обязательной. Это валидный сценарий. Он работал, и на него написаны тесты. Непонятно, почему решили убрать поддержку MATCH_RECOGNIZE без ORDER BY.
сортировка была обязательной для стриминг режима. теперь она обязательна для всех режимов, что позволяет клиенту легко перекладывать M_R запрос с аналитики на поток. можно поддержать M_R без требования сортировки, но сразу для обоих режимов. но т.к. я ценности в такой обработке пока не вижу, то проще было отрезать ненужный функционал. чем писать его поддержку еще и для стриминга |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
⚪ ⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
Changelog entry
...
Changelog category
Additional information
...