You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Alex Behm (Code Review)" <ge...@cloudera.org> on 2017/09/12 00:34:05 UTC

[Impala-ASF-CR] IMPALA-2636: HS2 GetTables() returns TABLE TYPE as TABLE for VIEW

Alex Behm has posted comments on this change.

Change subject: IMPALA-2636: HS2 GetTables() returns TABLE_TYPE as TABLE for VIEW
......................................................................


Patch Set 1:

(10 comments)

Nice, thanks for working on this one

http://gerrit.cloudera.org:8080/#/c/7353/1/fe/src/main/java/org/apache/impala/service/MetadataOp.java
File fe/src/main/java/org/apache/impala/service/MetadataOp.java:

Line 62:   private static final String TABLE_TYPE_VIEW = "VIEW";
Please check if this is consistent with what Hive returns. Does Hive return "VIRTUAL_VIEW"?


Line 63:   private static final String TABLE_TYPE_INDEX_TABLE = "INDEX_TABLE";
Why not just "INDEX"?
(Not that it really matters too much since Impala cannot load these anyway)


Line 298:             if (table.getMetaStoreTable() != null) {
Why this null check? Loaded tables should really have this set.


Line 321:     if(typeStr == null) {
single line and space after "if"


Line 324:     typeStr = typeStr.toUpperCase();
Is this really needed? If so, please Inline into L326.


Line 328:       case EXTERNAL_TABLE:
indent case by 2


Line 338:     } catch (Exception e) {
move this up so it's clear the switch block cannot throw


Line 495:     // Impala catalog only contains TABLE. Returns an empty set if the search does not
This should be fixed as well.


http://gerrit.cloudera.org:8080/#/c/7353/1/fe/src/test/java/org/apache/impala/service/FrontendTest.java
File fe/src/test/java/org/apache/impala/service/FrontendTest.java:

Line 221:   public void TestGetView() throws ImpalaException {
We should test two cases:
1. View that is not loaded is shown as a table
2. View that is loaded is shown as a view

For testing the first case you should be able to use addTestDb() and addTestView()

For testing the second case, add a dummy AnalyzesOk("select * from functional.alltypes_view") to make sure the view is really loaded at this point - otherwise the test relies on the view already being loaded and might be flaky


Line 226:     req.get_tables_req.setSchemaName("functional");
No need to test tables here


-- 
To view, visit http://gerrit.cloudera.org:8080/7353
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I90616388e6181cf342b3de389af940214ed46428
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: sandeep akinapelli <sa...@cloudera.com>
Gerrit-Reviewer: Alex Behm <al...@cloudera.com>
Gerrit-Reviewer: Matthew Jacobs <mj...@cloudera.com>
Gerrit-HasComments: Yes