2010-03-04 19:21:31 +00:00
|
|
|
#include <iostream>
|
|
|
|
|
2017-04-01 09:19:00 +00:00
|
|
|
#include <IO/WriteBufferFromOStream.h>
|
|
|
|
#include <Storages/System/StorageSystemNumbers.h>
|
|
|
|
#include <DataStreams/LimitBlockInputStream.h>
|
2018-06-10 19:22:49 +00:00
|
|
|
#include <Formats/FormatFactory.h>
|
2017-04-01 09:19:00 +00:00
|
|
|
#include <DataStreams/copyData.h>
|
|
|
|
#include <DataTypes/DataTypesNumber.h>
|
|
|
|
#include <Interpreters/Context.h>
|
2020-02-19 16:02:37 +00:00
|
|
|
#include <Processors/Executors/TreeExecutorBlockInputStream.h>
|
2010-03-04 19:21:31 +00:00
|
|
|
|
|
|
|
|
2017-12-02 02:47:12 +00:00
|
|
|
int main(int, char **)
|
2016-05-28 08:11:52 +00:00
|
|
|
try
|
2010-03-04 19:21:31 +00:00
|
|
|
{
|
2017-04-01 07:20:54 +00:00
|
|
|
using namespace DB;
|
2016-05-28 08:11:52 +00:00
|
|
|
|
2020-03-10 19:36:17 +00:00
|
|
|
StoragePtr table = StorageSystemNumbers::create(StorageID("test", "numbers"), false);
|
2010-03-05 15:29:17 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
Names column_names;
|
|
|
|
column_names.push_back("number");
|
2010-03-05 15:29:17 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
Block sample;
|
|
|
|
ColumnWithTypeAndName col;
|
|
|
|
col.type = std::make_shared<DataTypeUInt64>();
|
|
|
|
sample.insert(std::move(col));
|
2010-06-04 18:25:25 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
WriteBufferFromOStream out_buf(std::cout);
|
2012-05-22 18:32:45 +00:00
|
|
|
|
2018-06-10 19:22:49 +00:00
|
|
|
auto context = Context::createGlobal();
|
2019-07-08 02:14:32 +00:00
|
|
|
context.makeGlobalContext();
|
|
|
|
QueryProcessingStage::Enum stage = table->getQueryProcessingStage(context);
|
|
|
|
|
2020-02-19 16:02:37 +00:00
|
|
|
auto stream = std::make_shared<TreeExecutorBlockInputStream>(std::move(table->read(column_names, {}, context, stage, 10, 1)[0]));
|
|
|
|
LimitBlockInputStream input(stream, 10, 96);
|
2018-06-10 19:22:49 +00:00
|
|
|
BlockOutputStreamPtr out = FormatFactory::instance().getOutput("TabSeparated", out_buf, sample, context);
|
2015-09-24 03:50:09 +00:00
|
|
|
|
2018-06-10 19:22:49 +00:00
|
|
|
copyData(input, *out);
|
2010-03-04 19:21:31 +00:00
|
|
|
|
2017-04-01 07:20:54 +00:00
|
|
|
return 0;
|
2010-03-04 19:21:31 +00:00
|
|
|
}
|
2016-05-28 08:11:52 +00:00
|
|
|
catch (const DB::Exception & e)
|
|
|
|
{
|
2017-04-01 07:20:54 +00:00
|
|
|
std::cerr << e.what() << ", " << e.displayText() << std::endl;
|
|
|
|
return 1;
|
2016-05-28 08:11:52 +00:00
|
|
|
}
|