ClickHouse/dbms/Functions/GatherUtils/push.cpp
Ivan 97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00

27 lines
739 B
C++

#include "GatherUtils.h"
#include "Selectors.h"
#include "Algorithms.h"
namespace DB::GatherUtils
{
struct ArrayPush : public ArrayAndValueSourceSelectorBySink<ArrayPush>
{
template <typename ArraySource, typename ValueSource, typename Sink>
static void selectArrayAndValueSourceBySink(
ArraySource && array_source, ValueSource && value_source, Sink && sink, bool push_front)
{
if (push_front)
concat(value_source, array_source, sink);
else
concat(array_source, value_source, sink);
}
};
void push(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, bool push_front)
{
ArrayPush::select(sink, array_source, value_source, push_front);
}
}