Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.


This pull request introduces support for handling default values in ClickHouse columns, including
MATERIALIZED,ALIAS, andEPHEMERALtypes. It adds new functionality to skip these columns during data insertion and ensures proper parsing and testing of default expressions. The most important changes are grouped below:Enhancements to
ClickHouseColumnclass:DefaultValueenum to represent different default types (DEFAULT,MATERIALIZED,EPHEMERAL,ALIAS) and associated fieldsdefaultValueanddefaultExpressionto theClickHouseColumnclass.defaultValueanddefaultExpressionin theClickHouseColumnclass.Changes to data insertion logic:
insertmethod inClient.javato skip columns with default values other thanDEFAULTduring data insertion.commitRowmethod inRowBinaryFormatWriter.javato similarly skip columns withMATERIALIZED,ALIAS, or other non-default values.Schema parsing improvements:
TableSchemaParserto parsedefault_typeanddefault_expressionproperties from table schema and set them inClickHouseColumn.New test cases:
testWriterWithMaterializeto validate insertion behavior with columns having various default types (MATERIALIZED,ALIAS,EPHEMERAL).insertSimplePOJOsWithMaterializeColumntest to verify POJO insertion withMATERIALIZEDandALIAScolumns.Additional utility class:
SimplePOJOclass with a method to generate table creation SQL for testing columns with default values and default expressions.## SummaryCloses #2118 #2025
Checklist
Delete items not relevant to your PR: