blob: b93f1d9e5bdad8dc66885a335a3979100e53a3ab [file] [log] [blame]
-- Mask random uuid
--! qt:replace:/(\s+'uuid'=')\S+('\s*)/$1#Masked#$2/
-- Mask the file size values as it can have slight variability, causing test flakiness
--! qt:replace:/("added-files-size":")\d+/$1#FileSize#/
--! qt:replace:/("total-files-size":")\d+/$1#FileSize#/
--! qt:replace:/("removed-files-size":")\d+/$1#FileSize#/
-- create an unpartitioned table with skip delete data set to false
create table ice01 (id int, name string) Stored by Iceberg stored as ORC
TBLPROPERTIES('format-version'='2');
-- insert some values
insert into ice01 values (1, 'ABC'),(2, 'CBS'),(3, null),(4, 'POPI'),(5, 'AQWR'),(6, 'POIU'),(9, null),(8,
'POIKL'),(10, 'YUIO');
-- delete using MOR
delete from ice01 where id>9 OR id=8;
select * from ice01;
-- should be 2 files, one data file and one positional delete file.
select summary from default.ice01.snapshots;
ALTER TABLE ice01 SET TBLPROPERTIES ('write.delete.mode'='copy-on-write');
-- delete some values
explain delete from ice01 where id>4 OR id=2;
delete from ice01 where id>4 OR id=2;
select * from ice01;
-- should be only one data file.
select summary from default.ice01.snapshots;
-- Null cases.
delete from ice01 where null;
select * from ice01;
delete from ice01 where not null;
select * from ice01;
delete from ice01 where name=null;
select * from ice01;
delete from ice01 where name!=null;
select * from ice01;
--disable cbo due to HIVE-27070
set hive.cbo.enable=false;
delete from ice01 where name is null;
select * from ice01;
-- clean up
drop table if exists ice01;