[
https://issues.apache.org/jira/browse/HIVE-16324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16004936#comment-16004936
]
Vihang Karajgaonkar commented on HIVE-16324:
--------------------------------------------
This is what I see in {{Objectstore.java}}. It uses case sensitive String
comparison instead of Boolean comparison.
{code:java}
if (tableType == null) {
// for backwards compatibility with old metastore persistence
if (mtbl.getViewOriginalText() != null) {
tableType = TableType.VIRTUAL_VIEW.toString();
} else if ("TRUE".equals(mtbl.getParameters().get("EXTERNAL"))) {
tableType = TableType.EXTERNAL_TABLE.toString();
} else {
tableType = TableType.MANAGED_TABLE.toString();
}
}
{code}
> Truncate table should not work when EXTERNAL property of table is true
> ----------------------------------------------------------------------
>
> Key: HIVE-16324
> URL: https://issues.apache.org/jira/browse/HIVE-16324
> Project: Hive
> Issue Type: Bug
> Reporter: Vihang Karajgaonkar
> Assignee: Vihang Karajgaonkar
>
> Currently if you create an external table using the command {{CREATE EXTERNAL
> TABLE table_name}} the {{TRUNCATE table table_name}} command fails as
> expected because only managed tables should be allowed to be truncated.
> But if you set the external property of a previously managed table using
> {{ALTER TABLE table_name SET TBLPROPERTIES('EXTERNAL'='true')}}, truncate
> table command does not object and deletes all the data from the external
> table.
> Eg: This works but it should not ..
> {noformat}
> 0: jdbc:hive2://localhost:10000/default> create table test_ext2 (col1 string);
> No rows affected (0.424 seconds)
> 0: jdbc:hive2://localhost:10000/default> alter table test_ext2 set
> tblproperties ('EXTERNAL'='true');
> No rows affected (0.149 seconds)
> 0: jdbc:hive2://localhost:10000/default> insert into table test_ext2 values
> ("test");
> WARNING: Hive-on-MR is deprecated in Hive 2 and may not be available in the
> future versions. Consider using a different execution engine (i.e. spark,
> tez) or using Hive 1.X releases.
> No rows affected (3.447 seconds)
> 0: jdbc:hive2://localhost:10000/default>
> 0: jdbc:hive2://localhost:10000/default>
> 0: jdbc:hive2://localhost:10000/default> select * from test_ext2;
> +-----------------+
> | test_ext2.col1 |
> +-----------------+
> | test |
> +-----------------+
> 1 row selected (0.147 seconds)
> 0: jdbc:hive2://localhost:10000/default> truncate table test_ext2;
> No rows affected (0.138 seconds)
> 0: jdbc:hive2://localhost:10000/default> select * from test_ext2;
> +-----------------+
> | test_ext2.col1 |
> +-----------------+
> +-----------------+
> No rows selected (0.134 seconds)
> 0: jdbc:hive2://localhost:10000/default>
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)