This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push:
new db793e256b7 [fix](Outfile) Fix exporting cast expression issue (#25750)
db793e256b7 is described below
commit db793e256b72e793b7c344be3dd1732b9250edf9
Author: Tiewei Fang <[email protected]>
AuthorDate: Tue Oct 24 00:19:46 2023 +0800
[fix](Outfile) Fix exporting cast expression issue (#25750)
---
be/src/vec/runtime/vfile_result_writer.cpp | 2 +-
be/src/vec/runtime/vorc_writer.cpp | 16 ++++++++++------
be/src/vec/runtime/vparquet_writer.cpp | 13 ++++++++-----
3 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/be/src/vec/runtime/vfile_result_writer.cpp
b/be/src/vec/runtime/vfile_result_writer.cpp
index 93b60bc1bf2..b239ad0d541 100644
--- a/be/src/vec/runtime/vfile_result_writer.cpp
+++ b/be/src/vec/runtime/vfile_result_writer.cpp
@@ -207,7 +207,7 @@ Status VFileResultWriter::append_block(Block& block) {
return status;
}
if (_vfile_writer) {
- _write_file(output_block);
+ RETURN_IF_ERROR(_write_file(output_block));
} else {
RETURN_IF_ERROR(_write_csv_file(output_block));
}
diff --git a/be/src/vec/runtime/vorc_writer.cpp
b/be/src/vec/runtime/vorc_writer.cpp
index 4129a868310..b98de180e40 100644
--- a/be/src/vec/runtime/vorc_writer.cpp
+++ b/be/src/vec/runtime/vorc_writer.cpp
@@ -267,11 +267,15 @@ Status VOrcWriterWrapper::write(const Block& block) {
for (size_t i = 0; i < block.columns(); i++) {
auto& raw_column = block.get_by_position(i).column;
auto nullable = raw_column->is_nullable();
- const auto col = nullable ? reinterpret_cast<const
ColumnNullable*>(
-
block.get_by_position(i).column.get())
- ->get_nested_column_ptr()
- .get()
- : block.get_by_position(i).column.get();
+ auto column_ptr =
block.get_by_position(i).column->convert_to_full_column_if_const();
+ doris::vectorized::ColumnPtr column;
+ if (nullable) {
+ column = assert_cast<const
ColumnNullable&>(*column_ptr).get_nested_column_ptr();
+ } else {
+ column = column_ptr;
+ }
+ auto col = column.get();
+
auto null_map = nullable && reinterpret_cast<const
ColumnNullable*>(
block.get_by_position(i).column.get())
->has_null()
@@ -500,7 +504,7 @@ Status VOrcWriterWrapper::write(const Block& block) {
}
}
} catch (const std::exception& e) {
- LOG(WARNING) << "Parquet write error: " << e.what();
+ LOG(WARNING) << "Orc write error: " << e.what();
return Status::InternalError(e.what());
}
root->numElements = sz;
diff --git a/be/src/vec/runtime/vparquet_writer.cpp
b/be/src/vec/runtime/vparquet_writer.cpp
index 4a80d65c7b0..76ce4e29658 100644
--- a/be/src/vec/runtime/vparquet_writer.cpp
+++ b/be/src/vec/runtime/vparquet_writer.cpp
@@ -174,11 +174,14 @@ Status VParquetWriterWrapper::write(const Block& block) {
for (size_t i = 0; i < block.columns(); i++) {
auto& raw_column = block.get_by_position(i).column;
auto nullable = raw_column->is_nullable();
- const auto col = nullable ? reinterpret_cast<const
ColumnNullable*>(
-
block.get_by_position(i).column.get())
- ->get_nested_column_ptr()
- .get()
- : block.get_by_position(i).column.get();
+ auto column_ptr =
block.get_by_position(i).column->convert_to_full_column_if_const();
+ doris::vectorized::ColumnPtr column;
+ if (nullable) {
+ column = assert_cast<const
ColumnNullable&>(*column_ptr).get_nested_column_ptr();
+ } else {
+ column = column_ptr;
+ }
+ auto col = column.get();
auto null_map = nullable && reinterpret_cast<const
ColumnNullable*>(
block.get_by_position(i).column.get())
->has_null()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]