From 769a6dfb0882bbfdd10447781a6a1f0f4c7c9319 Mon Sep 17 00:00:00 2001 From: "philip.han" Date: Fri, 17 Jul 2020 18:21:25 +0900 Subject: [PATCH] bayseAB returns an empty block if input_rows_count is 0 and isDeterministic returns false --- src/Functions/abtesting.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Functions/abtesting.cpp b/src/Functions/abtesting.cpp index 061a941a78f..52131908087 100644 --- a/src/Functions/abtesting.cpp +++ b/src/Functions/abtesting.cpp @@ -141,6 +141,9 @@ public: return name; } + bool isDeterministic() const override { return false; } + bool isDeterministicInScopeOfQuery() const override { return false; } + size_t getNumberOfArguments() const override { return 5; } DataTypePtr getReturnTypeImpl(const DataTypes &) const override @@ -148,8 +151,14 @@ public: return std::make_shared(); } - void executeImpl(Block & block, const ColumnNumbers & arguments, size_t result, size_t) override + void executeImpl(Block & block, const ColumnNumbers & arguments, size_t result, size_t input_rows_count) override { + if (input_rows_count == 0) + { + block.getByPosition(result).column = std::move(ColumnString::create()); + return; + } + std::vector xs, ys; std::vector variant_names; String dist;