+1 Thanks for your reply. It looks good to me now. Jingsong Li <[email protected]> 于2025年6月17日周二 09:35写道:
> Thanks Lining for your feedback. > > > 1. For columns which has default value, could the user alter its type? > > User can alter its type, the subsequent writing will be automatically > completed schema evolution. > > > 2. Will there be a procedure to help users update the default values for > historical data? > > No, because the default value affects writing, users need to manually > INSERT OVERWRITE for historical data. > > Best, > Jingsong > > On Tue, Jun 17, 2025 at 9:25 AM lining jing <[email protected]> wrote: > > > > Hi Jingsong, > > > > Thank you for initiating this discussion about default values in Paimon. > > > > The ability to specify default values for columns during table creation > > offers a streamlined approach to handling situations where certain data > may > > not be provided by users. This feature reduces the risk of errors and > > maintains data consistency without additional overhead. > > Supporting the alteration of default values (as shown with the ALTER > TABLE > > T ALTER COLUMN b SET DEFAULT 3 example) increases the adaptability of > > schema management. This feature ensures that evolving data requirements > can > > be accommodated without the need for complex migrations or modifications > to > > existing data. > > > > I hava a question: > > 1. For columns which has default value, could the user alter its type? > > 2. Will there be a procedure to help users update the default values for > > historical data? > > > > Jingsong Li <[email protected]> 于2025年6月16日周一 23:08写道: > > > > > Hi everyone, > > > > > > I want to start a discussion about default values in Paimon. > > > > > > Paimon can allow specifying default values for columns. When users > > > write to these tables without explicitly providing values for certain > > > columns, Paimon automatically generates default values for these > > > columns. > > > > > > ## Create Table > > > > > > User can create a table with columns with default values using the > > > following SQL: > > > > > > CREATE TABLE my_table ( > > > a BIGINT, > > > b STRING DEFAULT 'my_value', > > > c INT DEFAULT 5 > > > ); > > > > > > ## Insert Table > > > > > > For SQL commands that execute table writes, such as the INSERT, > > > UPDATE, and MERGE commands, the DEFAULT keyword or NULL value is > > > parsed into the default value specified for the corresponding column. > > > > > > ## Alter Default Value > > > > > > Paimon supports alter column default values. > > > > > > For example: > > > > > > CREATE TABLE T (a INT, b INT DEFAULT 2); > > > > > > INSERT INTO T (a) VALUES (1); > > > -- result: [[1, 2]] > > > > > > ALTER TABLE T ALTER COLUMN b SET DEFAULT 3; > > > > > > INSERT INTO T (a) VALUES (2); > > > -- result: [[1, 2], [2, 3]] > > > > > > The default value of 'b' column has been changed to 3 from 2. > > > > > > ## Limitation > > > > > > Not support alter table add column with default value, for example: > > > ALTER TABLE T ADD COLUMN d INT DEFAULT 5;. > > > > > > What do you think? > > > > > > Best, > > > Jingsong > > > >
