[ 
https://issues.apache.org/jira/browse/IMPALA-15364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nándor Kollár resolved IMPALA-15364.
------------------------------------
    Resolution: Fixed

> Should not allow adding "not null" column without default in Iceberg
> --------------------------------------------------------------------
>
>                 Key: IMPALA-15364
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15364
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>            Reporter: Csaba Ringhofer
>            Assignee: Nándor Kollár
>            Priority: Major
>              Labels: impala-iceberg
>
> create table ticenonnull (i int not null) stored as iceberg;
> insert into ticenonnull values (1);
> alter table ticenonnull add columns (j int not null);
> My expectation was that adding a non null column without default value is 
> rejected, because existing rows wouldn't have a valid value for that column
> What actually happens is that not null is silently omitted and a nullable 
> column is added:
> describe ticenonnull;
> +------+------+---------+----------+
> | name | type | comment | nullable |
> +------+------+---------+----------+
> | i  | int |     | false  |
> | j  | int |     | true   |
> +------+------+---------+----------+
> Kudu tables have a check to reject the alter table:
> https://github.com/apache/impala/blob/ac16a39210df9999f8dd1941e3fa513594f9aab2/fe/src/main/java/org/apache/impala/analysis/AlterTableAddColsStmt.java#L124
> One question is whether to allow this if the table is empty - at the moment 
> the behavior is still buggy (ignoring NOT NULL), but in theory it could be 
> done.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to