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

Eugene Koifman edited comment on HIVE-18453 at 7/19/18 12:33 AM:
-----------------------------------------------------------------

[~ikryvenko],
I don't think this is going to work.  I don't think you are actually creating 
transactional tables in your tests.
for example {{update transactional_table_test set value='foo';}} in 
create_transactional.q would fail.

{noformat}
2018-07-18T17:25:35,181 ERROR [25cc35df-5e66-4d10-b31e-22a490cef829 main] 
parse.UpdateDeleteSemanticAnalyzer: org.apache.hadoop.hive.ql.parse.SemanticE\
xception: Attempt to do update or delete on table 
default.transactional_table_test that is not transactional
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2297)
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getMetaData(SemanticAnalyzer.java:2088)
{noformat}

Incidentally, in SemanticAnalyzer
      {{tblProps = addDefaultProperties(tblProps, isExt, storageFormat, 
dbDotTab, sortCols, isMaterialization, true);}}
why is the last param true?

I think you'd need to add another param to addDefaultProperties() to indicate 
that it's called because of "create transactional" so that this method acts as 
if CREATE_TABLES_AS_ACID and HIVE_CREATE_TABLES_AS_INSERT_ONLY are both true.


was (Author: ekoifman):
[~ikryvenko],
I don't think this is going to work.  I don't think you are actually creating 
transactional tables in your tests.
for example {{update transactional_table_test set value='foo';}} in 
create_transactional.q would fail.

Incidentally, in SemanticAnalyzer
      {{tblProps = addDefaultProperties(tblProps, isExt, storageFormat, 
dbDotTab, sortCols, isMaterialization, true);}}
why is the last param true?

I think you'd need to add another param to addDefaultProperties() to indicate 
that it's called because of "create transactional" so that this method acts as 
if CREATE_TABLES_AS_ACID and HIVE_CREATE_TABLES_AS_INSERT_ONLY are both true.

> 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
>
>
> 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