Panagiotis Garefalakis created HIVE-25398:
---------------------------------------------

             Summary: Converted external tables should be able to configure 
purge behaviour
                 Key: HIVE-25398
                 URL: https://issues.apache.org/jira/browse/HIVE-25398
             Project: Hive
          Issue Type: Bug
            Reporter: Panagiotis Garefalakis
            Assignee: Panagiotis Garefalakis


Creating non-ACID MANAGED tables is not allowed on Hive, which is instead 
converting these tables to External: 
https://issues.apache.org/jira/browse/HIVE-22158
During table translation  both TRANSLATED_TO_EXTERNAL and 
'external.table.purge' are set to True. However, there could be the case that 
the second parameter is already set in the table properties by the User. This 
is ticket is adding an extra check to maintain that property if set.

PS: A cleaner solution would be to create these Tables as External directly but 
there could be the case the User is taking advantage of the translation and is 
expecting the data NOT to be purged!

Example:
{code:java}
-- Non-ACID table will be translated to EXTERNAL
create table c(c int) LOCATION 'etp_1' 
TBLPROPERTIES('transactional'='false','external.table.purge'='false');
insert into c values(1);

-- Maintain the purge=false property set above
desc formatted c;
select count(*) from c;
drop table c;

-- Create table in same location, data should still be there
create table c(c int) LOCATION 'etp_1' 
TBLPROPERTIES('transactional'='false','external.table.purge'='false');
desc formatted c;
select count(*) from c;
{code}








--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to