This is an automated email from the ASF dual-hosted git repository.
dbecker pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
from 59bb9259e IMPALA-12131: Fix empty partition map in non-partitioned
table when file metadata loading fails
new a98c783d4 IMPALA-11949: Make backend AVRO C++ library available
new ce4202a70 IMPALA-11877: (part 2) Add support for DELETE statements for
PARTITIONED Iceberg tables
new 3247cc683 IMPALA-10173: Allow implicit casts between numeric and
string types when inserting into table
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
be/src/exec/file-metadata-utils.cc | 52 ++-
be/src/exec/file-metadata-utils.h | 9 +
be/src/exec/hdfs-scan-node-base.cc | 5 +
be/src/exec/hdfs-table-sink.cc | 155 +-------
be/src/exec/hdfs-table-sink.h | 60 +--
be/src/exec/hdfs-text-table-writer.cc | 2 +-
be/src/exec/hdfs-text-table-writer.h | 2 +-
be/src/exec/iceberg-delete-sink.cc | 266 +++++++++++---
be/src/exec/iceberg-delete-sink.h | 37 +-
be/src/exec/output-partition.h | 6 +
be/src/exec/table-sink-base.cc | 147 +++++++-
be/src/exec/table-sink-base.h | 73 +++-
be/src/runtime/descriptors.cc | 7 +-
be/src/runtime/descriptors.h | 9 +
be/src/runtime/dml-exec-state.cc | 1 +
be/src/service/query-options.cc | 3 +
be/src/service/query-options.h | 7 +-
bin/impala-config.sh | 10 +-
common/fbs/IcebergObjects.fbs | 4 +-
common/thrift/CatalogObjects.thrift | 4 +-
common/thrift/DataSinks.thrift | 5 +
common/thrift/ImpalaService.thrift | 4 +
common/thrift/Query.thrift | 4 +
.../org/apache/impala/analysis/AnalyticExpr.java | 6 +-
.../java/org/apache/impala/analysis/Analyzer.java | 115 +++++-
.../org/apache/impala/analysis/ArithmeticExpr.java | 5 +-
.../apache/impala/analysis/BinaryPredicate.java | 2 +-
.../java/org/apache/impala/analysis/CaseExpr.java | 2 +-
.../java/org/apache/impala/analysis/ColumnDef.java | 7 +-
.../apache/impala/analysis/CompoundPredicate.java | 2 +-
.../org/apache/impala/analysis/DeleteStmt.java | 12 +-
.../apache/impala/analysis/DmlStatementBase.java | 81 ++++
.../main/java/org/apache/impala/analysis/Expr.java | 76 +++-
.../apache/impala/analysis/FunctionCallExpr.java | 2 +-
.../impala/analysis/IcebergPartitionSpec.java | 2 +
.../org/apache/impala/analysis/InPredicate.java | 2 +-
.../org/apache/impala/analysis/InsertStmt.java | 41 +--
.../org/apache/impala/analysis/LikePredicate.java | 2 +-
.../org/apache/impala/analysis/ModifyStmt.java | 119 +++---
.../org/apache/impala/analysis/NumericLiteral.java | 5 +-
.../org/apache/impala/analysis/PartitionSpec.java | 4 +-
.../org/apache/impala/analysis/RangePartition.java | 4 +-
.../org/apache/impala/analysis/StatementBase.java | 36 +-
.../impala/analysis/TimestampArithmeticExpr.java | 2 +-
.../java/org/apache/impala/analysis/TypesUtil.java | 7 +-
.../org/apache/impala/analysis/UpdateStmt.java | 1 -
...adataLoadOpts.java => BinaryCompatibility.java} | 36 +-
.../{Role.java => CheckEmptyCompatibility.java} | 34 +-
...tFoundException.java => CompatibilityRule.java} | 15 +-
.../impala/catalog/DefaultCompatibility.java | 165 +++++++++
...ngException.java => DiagonalCompatibility.java} | 22 +-
.../org/apache/impala/catalog/FeIcebergTable.java | 7 +
.../{User.java => FixedUdaCompatibility.java} | 28 +-
.../java/org/apache/impala/catalog/Function.java | 10 +-
.../org/apache/impala/catalog/IcebergTable.java | 9 +
.../java/org/apache/impala/catalog/ScalarType.java | 91 ++---
.../catalog/StrictOverrideCompatibility.java | 50 +++
.../main/java/org/apache/impala/catalog/Type.java | 239 +++---------
.../apache/impala/catalog/TypeCompatibility.java | 73 ++++
.../apache/impala/catalog/UnsafeCompatibility.java | 85 +++++
.../org/apache/impala/catalog/VirtualColumn.java | 10 +
.../apache/impala/planner/DistributedPlanner.java | 33 +-
.../org/apache/impala/planner/HashJoinNode.java | 2 +-
.../apache/impala/planner/IcebergDeleteSink.java | 18 +-
.../java/org/apache/impala/planner/Planner.java | 15 +-
.../java/org/apache/impala/planner/TableSink.java | 3 +-
.../impala/service/IcebergCatalogOpExecutor.java | 17 +-
.../java/org/apache/impala/util/IcebergUtil.java | 1 +
.../apache/impala/analysis/AnalyzeExprsTest.java | 51 ++-
.../apache/impala/analysis/AnalyzeStmtsTest.java | 4 +-
.../org/apache/impala/analysis/TypesUtilTest.java | 119 +++---
.../queries/PlannerTest/iceberg-v2-delete.test | 267 ++++++++++++++
.../QueryTest/iceberg-delete-partitioned.test | 409 +++++++++++++++++++++
.../queries/QueryTest/iceberg-negative.test | 8 -
.../iceberg-virtual-partition-columns.test | 211 +++++++++++
.../queries/QueryTest/insert-unsafe.test | 213 +++++++++++
tests/query_test/test_iceberg.py | 29 ++
tests/query_test/test_insert.py | 23 ++
tests/query_test/test_scanners.py | 22 ++
79 files changed, 2876 insertions(+), 850 deletions(-)
create mode 100644
fe/src/main/java/org/apache/impala/analysis/DmlStatementBase.java
copy fe/src/main/java/org/apache/impala/catalog/{FileMetadataLoadOpts.java =>
BinaryCompatibility.java} (51%)
copy fe/src/main/java/org/apache/impala/catalog/{Role.java =>
CheckEmptyCompatibility.java} (53%)
copy fe/src/main/java/org/apache/impala/catalog/{ColumnNotFoundException.java
=> CompatibilityRule.java} (67%)
create mode 100644
fe/src/main/java/org/apache/impala/catalog/DefaultCompatibility.java
copy
fe/src/main/java/org/apache/impala/catalog/{IcebergTableLoadingException.java
=> DiagonalCompatibility.java} (69%)
copy fe/src/main/java/org/apache/impala/catalog/{User.java =>
FixedUdaCompatibility.java} (60%)
create mode 100644
fe/src/main/java/org/apache/impala/catalog/StrictOverrideCompatibility.java
create mode 100644
fe/src/main/java/org/apache/impala/catalog/TypeCompatibility.java
create mode 100644
fe/src/main/java/org/apache/impala/catalog/UnsafeCompatibility.java
create mode 100644
testdata/workloads/functional-query/queries/QueryTest/iceberg-delete-partitioned.test
create mode 100644
testdata/workloads/functional-query/queries/QueryTest/iceberg-virtual-partition-columns.test
create mode 100644
testdata/workloads/functional-query/queries/QueryTest/insert-unsafe.test