[ 
https://issues.apache.org/jira/browse/HIVE-18453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16590987#comment-16590987
 ] 

Eugene Koifman commented on HIVE-18453:
---------------------------------------

I think you have a problem with insert-only tables.

create transactional table studentparttab30k (name string) row format delimited 
fields terminated by '\\t' stored as textfile;

should create an equivalent of 
create transactional table studentparttab30k (name string) row format delimited 
fields terminated by '\\t' stored as textfile tblproperties 
("transactional"="true", "transactional_properties"="insert_only")

but I think it will just fail because you are just adding {{      
tblProps.put("transactional", "true");}} w/o looking at what the storage format 
is.

I would suggest adding "isTransactional" parameter to 
validateAndAddDefaultProperties(), just like "isTemporary" to mean that the 
user requested an transactional table.  If you look in this method, it examines 
the table storage, etc to see if can be made full acid or insert only.

That's what I meant when I suggested looking at 
ConfVars.HIVE_CREATE_TABLES_AS_INSERT_ONLY and CREATE_TABLES_AS_ACID.

i think this way you'll have these 2 properties and "create transactional 
table..." work consistently.

> ACID: Add "CREATE TRANSACTIONAL TABLE" syntax to unify ACID ORC & Parquet 
> support
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-18453
>                 URL: https://issues.apache.org/jira/browse/HIVE-18453
>             Project: Hive
>          Issue Type: Improvement
>          Components: Transactions
>            Reporter: Gopal V
>            Assignee: Igor Kryvenko
>            Priority: Major
>         Attachments: HIVE-18453.01.patch, HIVE-18453.02.patch, 
> HIVE-18453.03.patch, HIVE-18453.04.patch, HIVE-18453.05.patch, 
> HIVE-18453.06.patch, HIVE-18453.07.patch
>
>
> The ACID table markers are currently done with TBLPROPERTIES which is 
> inherently fragile.
> The "create transactional table" offers a way to standardize the syntax and 
> allows for future compatibility changes to support Parquet ACIDv2 tables 
> along with ORC tables.
> The ACIDv2 design is format independent, with the ability to add new 
> vectorized input formats with no changes to the design.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to