polymorphic parts (development) fix alter

This commit is contained in:
CurtizJ 2019-12-18 17:23:27 +03:00
parent 59faa4927b
commit ae74d28f87
4 changed files with 3 additions and 2 deletions

View File

@ -8,7 +8,6 @@ namespace DB
ExpressionBlockInputStream::ExpressionBlockInputStream(const BlockInputStreamPtr & input, const ExpressionActionsPtr & expression_) ExpressionBlockInputStream::ExpressionBlockInputStream(const BlockInputStreamPtr & input, const ExpressionActionsPtr & expression_)
: expression(expression_) : expression(expression_)
{ {
std::cerr << "expression: " << expression->dumpActions();
children.push_back(input); children.push_back(input);
cached_header = children.back()->getHeader(); cached_header = children.back()->getHeader();
expression->execute(cached_header, true); expression->execute(cached_header, true);

View File

@ -224,6 +224,7 @@ time_t IMergeTreeDataPart::getMaxTime() const
void IMergeTreeDataPart::setColumns(const NamesAndTypesList & columns_) void IMergeTreeDataPart::setColumns(const NamesAndTypesList & columns_)
{ {
columns = columns_; columns = columns_;
sample_block.clear();
for (const auto & column : columns) for (const auto & column : columns)
sample_block.insert({column.type, column.name}); sample_block.insert({column.type, column.name});
index_granularity_info.initialize(storage, getType(), columns.size()); index_granularity_info.initialize(storage, getType(), columns.size());

View File

@ -21,7 +21,7 @@ const MarkInCompressedFile & MergeTreeMarksLoader::getMark(size_t row_index, siz
loadMarks(); loadMarks();
if (column_index >= columns_num) if (column_index >= columns_num)
throw Exception("Column index: " + toString(column_index) throw Exception("Column index: " + toString(column_index)
+ " is out of range (" + toString(columns_num) + ")", ErrorCodes::LOGICAL_ERROR); + " is out of range [0, " + toString(columns_num) + ")", ErrorCodes::LOGICAL_ERROR);
return (*marks)[row_index * columns_num + column_index]; return (*marks)[row_index * columns_num + column_index];
} }

View File

@ -48,6 +48,7 @@ public:
void writeText(WriteBuffer & out) const; void writeText(WriteBuffer & out) const;
void readText(ReadBuffer & in); void readText(ReadBuffer & in);
/// Columns that we need to read except ones needed for expressions.
Names additional_columns; Names additional_columns;
}; };