This is an automated email from the ASF dual-hosted git repository.
xuyangzhong pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
from c0bc1e53851 [FLINK-39186][table] Add the built-in function BITMAP_AND,
BITMAP_ANDNOT, BITMAP_OR, BITMAP_XOR
new 58d7acc1f11 [FLINK-39286][table] Introduce immutable columns
constraint in schema
new 370a8870450 [FLINK-39287][table-planner] Introduce
FlinkRelMdImmutableColumns to implement the derivation logic of some simple
nodes and update the logic to infer upsert key with immutable columns
new 2e49048680e [FLINK-39314][table-planner] Allow input to drop update
before if filter is applied on any of upsert keys
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:
.../flink/table/sql/CreateTableAsITCase.java | 5 +-
.../flink/table/sql/PlannerScalaFreeITCase.java | 5 +-
.../flink/table/sql/UsingRemoteJarITCase.java | 5 +-
.../table/tests/test_catalog_completeness.py | 3 +-
.../apache/flink/table/catalog/CatalogManager.java | 3 +-
.../flink/table/catalog/DefaultSchemaResolver.java | 76 ++-
.../table/api/internal/ShowCreateUtilTest.java | 51 +-
.../catalog/CatalogBaseTableResolutionTest.java | 17 +-
.../flink/table/catalog/SchemaResolutionTest.java | 95 +++-
.../java/org/apache/flink/table/api/Schema.java | 175 ++++++-
.../flink/table/catalog/CatalogPropertiesUtil.java | 27 ++
.../org/apache/flink/table/catalog/Constraint.java | 20 +-
...traint.java => ImmutableColumnsConstraint.java} | 58 +--
.../apache/flink/table/catalog/ResolvedSchema.java | 57 ++-
.../apache/flink/table/utils/TableSchemaUtils.java | 3 +-
.../table/catalog/CatalogPropertiesUtilTest.java | 7 +-
.../apache/flink/table/catalog/CatalogTest.java | 6 +-
.../flink/table/catalog/TestSchemaResolver.java | 16 +-
.../flink/table/utils/TableSchemaUtilsTest.java | 9 +-
.../planner/connectors/DynamicSourceUtils.java | 7 +
.../table/planner/plan/metadata/FlinkMetadata.java | 15 +
.../plan/metadata/FlinkRelMdImmutableColumns.java | 311 ++++++++++++
.../plan/metadata/FlinkRelMetadataQuery.java | 21 +
...ndexMixin.java => AbstractConstraintMixin.java} | 22 +-
.../nodes/exec/serde/CompiledPlanSerdeUtil.java | 3 +
...n.java => ImmutableColumnsConstraintMixin.java} | 24 +-
.../exec/serde/ResolvedSchemaJsonDeserializer.java | 7 +-
.../exec/serde/ResolvedSchemaJsonSerializer.java | 6 +
.../nodes/exec/serde/UniqueConstraintMixin.java | 12 +-
.../metadata/FlinkDefaultRelMetadataProvider.scala | 3 +-
.../plan/metadata/FlinkRelMdUpsertKeys.scala | 107 +++--
.../FlinkChangelogModeInferenceProgram.scala | 10 +-
.../planner/catalog/CatalogConstraintTest.java | 134 ++++--
.../planner/lineage/TableLineageUtilsTest.java | 3 +-
...erializedTableNodeToOperationConverterTest.java | 13 +-
.../plan/FlinkCalciteCatalogReaderTest.java | 3 +-
.../metadata/FlinkRelMdImmutableColumnsTest.java | 527 +++++++++++++++++++++
.../exec/serde/ContextResolvedTableSerdeTest.java | 6 +-
.../exec/serde/DynamicTableSinkSpecSerdeTest.java | 12 +-
.../serde/DynamicTableSourceSpecSerdeTest.java | 9 +-
.../exec/serde/ResolvedCatalogTableSerdeTest.java | 8 +-
.../serde/TemporalTableSourceSpecSerdeTest.java | 3 +-
.../VectorSearchTableSourceSpecSerdeTest.java | 3 +-
.../runtime/stream/sql/DataStreamJavaITCase.java | 6 +-
.../utils/ImmutableColConstraintTestUtils.java | 66 +++
.../physical/stream/ChangelogModeInferenceTest.xml | 124 +++++
.../planner/plan/stream/sql/join/JoinTest.xml | 66 +++
.../plan/metadata/FlinkRelMdHandlerTestBase.scala | 28 ++
.../plan/metadata/FlinkRelMdUpsertKeysTest.scala | 192 +++++++-
.../planner/plan/metadata/MetadataTestUtil.scala | 67 ++-
.../stream/ChangelogModeInferenceTest.scala | 162 +++++++
.../planner/plan/stream/sql/join/JoinTest.scala | 127 +++++
.../catalog/TestFileSystemCatalogTest.java | 12 +-
53 files changed, 2527 insertions(+), 230 deletions(-)
copy
flink-table/flink-table-common/src/main/java/org/apache/flink/table/catalog/{UniqueConstraint.java
=> ImmutableColumnsConstraint.java} (57%)
create mode 100644
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/metadata/FlinkRelMdImmutableColumns.java
copy
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/serde/{DefaultIndexMixin.java
=> AbstractConstraintMixin.java} (71%)
copy
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/serde/{UniqueConstraintMixin.java
=> ImmutableColumnsConstraintMixin.java} (68%)
create mode 100644
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/metadata/FlinkRelMdImmutableColumnsTest.java
create mode 100644
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/utils/ImmutableColConstraintTestUtils.java