| 408 | } |
| 409 | |
| 410 | Status TableSinkBase::WriteRowsToFile( |
| 411 | RuntimeState* state, RowBatch* batch, OutputPartition* output_partition, |
| 412 | const std::vector<int32_t>& indices, bool *new_file) { |
| 413 | Status status = |
| 414 | output_partition->writer->AppendRows(batch, indices, new_file); |
| 415 | if (!status.ok()) { |
| 416 | // IMPALA-10607: Deletes partition file if staging is skipped when appending rows |
| 417 | // fails. Otherwise, it leaves the file in un-finalized state. |
| 418 | if (ShouldSkipStaging(state, output_partition)) { |
| 419 | status.MergeStatus(ClosePartitionFile(state, output_partition)); |
| 420 | hdfsDelete(output_partition->hdfs_connection, |
| 421 | output_partition->current_file_name.c_str(), 0); |
| 422 | } |
| 423 | return status; |
| 424 | } |
| 425 | return Status::OK(); |
| 426 | } |
| 427 | |
| 428 | void TableSinkBase::GetHashTblKey(const TupleRow* row, |
| 429 | const vector<ScalarExprEvaluator*>& evals, string* key) { |
nothing calls this directly
no test coverage detected