Back to home page

OSCL-LXR

 
 

    


0001 -- Create the origin table
0002 CREATE TABLE test_change(a INT, b STRING, c INT) using parquet;
0003 DESC test_change;
0004 
0005 -- ALTER TABLE CHANGE COLUMN must change either type or comment
0006 ALTER TABLE test_change CHANGE a;
0007 DESC test_change;
0008 
0009 -- Change column name (not supported on v1 table)
0010 ALTER TABLE test_change RENAME COLUMN a TO a1;
0011 DESC test_change;
0012 
0013 -- Change column dataType (not supported yet)
0014 ALTER TABLE test_change CHANGE a TYPE STRING;
0015 DESC test_change;
0016 
0017 -- Change column position (not supported yet)
0018 ALTER TABLE test_change CHANGE a AFTER b;
0019 ALTER TABLE test_change CHANGE b FIRST;
0020 DESC test_change;
0021 
0022 -- Change column comment
0023 ALTER TABLE test_change CHANGE a COMMENT 'this is column a';
0024 ALTER TABLE test_change CHANGE b COMMENT '#*02?`';
0025 ALTER TABLE test_change CHANGE c COMMENT '';
0026 DESC test_change;
0027 
0028 -- Don't change anything.
0029 ALTER TABLE test_change CHANGE a TYPE INT;
0030 ALTER TABLE test_change CHANGE a COMMENT 'this is column a';
0031 DESC test_change;
0032 
0033 -- Change a invalid column
0034 ALTER TABLE test_change CHANGE invalid_col TYPE INT;
0035 DESC test_change;
0036 
0037 -- Check case insensitivity.
0038 ALTER TABLE test_change CHANGE A COMMENT 'case insensitivity';
0039 DESC test_change;
0040 
0041 -- Change column can't apply to a temporary/global_temporary view
0042 CREATE TEMPORARY VIEW temp_view(a, b) AS SELECT 1, "one";
0043 ALTER TABLE temp_view CHANGE a TYPE INT;
0044 CREATE GLOBAL TEMPORARY VIEW global_temp_view(a, b) AS SELECT 1, "one";
0045 ALTER TABLE global_temp.global_temp_view CHANGE a TYPE INT;
0046 
0047 -- DROP TEST TABLE
0048 DROP TABLE test_change;
0049 DROP VIEW global_temp.global_temp_view;