blob: 1fc833c5416ab0b99d5da28a03cc45b615049e25 [file] [log] [blame]
--! qt:dataset:src
SET hive.metastore.disallow.incompatible.col.type.changes=false;
SELECT * FROM src LIMIT 1;
CREATE TABLE test_table123 (a INT, b MAP<STRING, STRING>) PARTITIONED BY (ds STRING) STORED AS SEQUENCEFILE;
INSERT OVERWRITE TABLE test_table123 PARTITION(ds="foo1") SELECT 1, MAP("a1", "b1") FROM src LIMIT 1;
SELECT * from test_table123 WHERE ds="foo1";
ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b MAP<STRING, STRING>);
ALTER TABLE test_table123 REPLACE COLUMNS (a BIGINT, b MAP<STRING, STRING>);
ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b MAP<STRING, STRING>);
ALTER TABLE test_table123 REPLACE COLUMNS (a DOUBLE, b MAP<STRING, STRING>);
ALTER TABLE test_table123 REPLACE COLUMNS (a TINYINT, b MAP<STRING, STRING>);
ALTER TABLE test_table123 REPLACE COLUMNS (a BOOLEAN, b MAP<STRING, STRING>);
ALTER TABLE test_table123 REPLACE COLUMNS (a TINYINT, b MAP<STRING, STRING>);
ALTER TABLE test_table123 CHANGE COLUMN a a_new BOOLEAN;
SET hive.metastore.disallow.incompatible.col.type.changes=true;
-- All the above ALTERs will succeed since they are between compatible types.
-- The following ALTER will fail as MAP<STRING, STRING> and STRING are not
-- compatible.
ALTER TABLE test_table123 REPLACE COLUMNS (a INT, b STRING);
reset hive.metastore.disallow.incompatible.col.type.changes;