MCPcopy Create free account
hub / github.com/apache/impala / prepareUpdateStatement

Function prepareUpdateStatement

be/src/service/impala-http-handler-test.cc:579–596  ·  view source on GitHub ↗

Prepares query plan for an Iceberg update statement. Root sink will be a multi data sink, consisting of an HDFS table sink and an Iceberg delete table sink. F00:PLAN FRAGMENT | MULTI DATA SINK |->WRITE TO HDFS | |->BUFFERED DELETE FROM ICEBERG | 00:SCAN HDFS Expected JSON output for the plan will look like this: { "plan_nodes": [ { "label": "MULTI DATA SINK", "label_detail": "HDFS WRITER, ICEBER

Source from the content-addressed store, hash-verified

577// ]
578// }
579static void prepareUpdateStatement(const vector<string>& labels,
580 const vector<string>& label_details, vector<TPlanFragment>* fragments,
581 TExecSummary* summary) {
582 ASSERT_EQ(labels.size(), 1);
583 ASSERT_EQ(label_details.size(), 1);
584
585 // F00:PLAN FRAGMENT
586 TPlanFragment fragment00 = ImpalaHttpHandlerTest::createTPlanFragment(0);
587 TDataSink multi_data_sink = ImpalaHttpHandlerTest::createMultiDataSink(
588 {ImpalaHttpHandlerTest::createHdfsTableSink(),
589 ImpalaHttpHandlerTest::createIcebergDeleteTableSink()});
590 ImpalaHttpHandlerTest::addSinkToFragment(multi_data_sink, &fragment00, summary);
591
592 // 00:SCAN HDFS
593 ImpalaHttpHandlerTest::addNodeToFragment(
594 labels.at(0), label_details.at(0), 0, &fragment00, summary);
595 fragments->push_back(fragment00);
596}
597
598// Prepares query plan for an Iceberg merge statement. The root sink will be a
599// merge sink, consisting of an HDFS writer and an Iceberg buffered delete sink.

Callers 1

TEST_FFunction · 0.85

Calls 2

push_backMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected