From f1d21189a4c3403a343245b944837f20828d2d0b Mon Sep 17 00:00:00 2001 From: luc1ph3r Date: Sat, 22 Sep 2018 19:28:21 +0300 Subject: [PATCH] Parquet data format: refactoring --- .../DataStreams/ParquetBlockInputStream.cpp | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/dbms/src/DataStreams/ParquetBlockInputStream.cpp b/dbms/src/DataStreams/ParquetBlockInputStream.cpp index 8df1708c47e..58aa9d5957e 100644 --- a/dbms/src/DataStreams/ParquetBlockInputStream.cpp +++ b/dbms/src/DataStreams/ParquetBlockInputStream.cpp @@ -248,7 +248,11 @@ Block ParquetBlockInputStream::readImpl() if (arrow_type_to_internal_type.find(arrow_type) == arrow_type_to_internal_type.end()) { - throw Exception("Unsupported type " + arrow_column->type()->name() + " of a column " + arrow_column->name()/*, ErrorCodes::TODO*/); + throw Exception( + "The type \"" + arrow_column->type()->name() + "\" of an input column \"" + arrow_column->name() + "\"" + " is not supported for conversion from a Parquet data format" + /*, ErrorCodes::TODO*/ + ); } // TODO: check if a column is const? @@ -263,9 +267,12 @@ Block ParquetBlockInputStream::readImpl() const DataTypePtr internal_type = target_column_is_nullable ? makeNullable(internal_nested_type) : internal_nested_type; const std::string internal_nested_type_name = internal_nested_type->getName(); - const DataTypePtr column_nested_type = header_column.type->isNullable() - ? static_cast(header_column.type.get())->getNestedType() - : header_column.type; + const DataTypePtr column_nested_type = + header_column.type->isNullable() + ? static_cast(header_column.type.get())->getNestedType() + : header_column.type; + + const DataTypePtr column_type = header_column.type; const std::string column_nested_type_name = column_nested_type->getName(); @@ -273,8 +280,8 @@ Block ParquetBlockInputStream::readImpl() if (internal_nested_type_name != column_nested_type_name) { throw Exception( - "Input data type " + internal_nested_type_name + " for column \"" + header_column.name + "\" " - "is not compatible with a column type " + column_nested_type_name/*, ErrorCodes::TODO*/ + "Input data type \"" + internal_nested_type_name + "\" for a column \"" + header_column.name + "\"" + " is not compatible with a column type \"" + column_nested_type_name + "\""/*, ErrorCodes::TODO*/ ); } @@ -307,7 +314,7 @@ Block ParquetBlockInputStream::readImpl() // TODO: read JSON as a string? // TODO: read UUID as a string? default: - throw Exception("Unsupported parquet type " + arrow_column->type()->name()/*, ErrorCodes::TODO*/); + throw Exception("Unsupported parquet type \"" + arrow_column->type()->name() + "\""/*, ErrorCodes::TODO*/); } if (column.type->isNullable())