-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19685/
-----------------------------------------------------------
(Updated March 31, 2014, 3:44 a.m.)
Review request for Tajo and Hyunsik Choi.
Changes
-------
1) HCatalogStore Implemented.
2) Renaming managed tables.Not implemented.Reasoning provided below.
As per my understanding the physical directory is created in
'${warehouse_dir}/${table_name}' when we create table.
When I do alter table name I was planning to call catalog.getTable before
updating the new tableName in the database and this getTable call will return
me the path as you have mentioned
'${warehouse_dir}/{database_name}/${table_name}' as per the current code,
but the physical directory is created at this location
'${warehouse_dir}/${table_name}' when creating table.
The rename (or move) will fail.The existing path returned is not the actual
physical directory on HDFS.
move/rename '${warehouse_dir}/{database_name}/${table_name}' to
'${warehouse_dir}/{database_name}/newTableName' ==> WILL FAIL
move/rename '${warehouse_dir}/${table_name}' to
'${warehouse_dir}/{database_name}/newTableName' will work ==> WILL WORK
Till now it has worked because we have been I believe only inserting / deleting
record in the table.
Is Drop Table with Purge option working for managed Tables ?
I don't think so it is working properly although I could be wrong...It is
working against MemStore because Path in MemStore is
'${warehouse_dir}/${table_name}' i.e. (The same object is returned which was
created and set in memory when invoked create table.) but when you run the test
against MySQL or Derby it will fail because a new Path object is created based
on the Meta Data and that will return at
'${warehouse_dir}/{database_name}/${table_name}.
I Apologize for any inconvenience and I may be wrong but just trying to get to
the bottom of the issue to implement the rename / move command correctly.
I have created drop table test case for managed table.Please test it against
the AbstractDBStore.
TestCatalog skips the portion of executing GlobalEngine so not able to verify
by myself. Appreciate your help.
Thanks!
Warm Regards,
Alvin.
Bugs: TAJO-480
https://issues.apache.org/jira/browse/TAJO-480
Repository: tajo
Description
-------
1) Implemented Alter Table.
2) Made changes to various component like algebra,parser,catalog,planner and
engine etc.
3) Only implemented MemStore for review.Before I proceed any further felt like
it needs to be reviewed.
4) Need to implement AbstractDBStore.WIP
5) Need to improve exception handling and logging.WIP.
Please feel free to advice comment. Appreciate your help in reviewing the code.
Thanks!
Warm Regards,
Alvin.
HOLD ON GUYS!!!! I SEE THE DATABASE concept was introduced and it is causing
issues when patch is applied.I will soon publish the new PATCH.
I APOLOGIZE for inconvenience.
Diffs (updated)
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/AlterTable.java
PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/AlterTableOpType.java
PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnDefinition.java
PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 42dcc68
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java c4a007a
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java
6fb385e
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java
d69ed7e
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 06b69c1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/AlterTableDesc.java
PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/AlterTableType.java
PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
9078e60
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/ColumnNameAlreadyExistException.java
PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 06ffcfd
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java
6ef255f
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
a171fb4
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
d10f545
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java
3f8686d
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
ef98ee2
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
36c6b6b
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4
6eccd12
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4
c0edf09
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java
afd0ce9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java
30d4c2e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java
84cdc08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java
62cee57
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java
772e5fb
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java
1ac416f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java
76454b9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java
15fe6c0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java
fbd65a9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/SimpleAlgebraVisitor.java
dc7b7a2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/AlterTableNode.java
PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java
2b453fb
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java
fe3caeb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java
65a0d47
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestAlterTable.java
PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestDropTable.java
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestAlterTable/table1.tbl
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestDropTable/table1.tbl
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_add_new_column_ddl.sql
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_rename_column_ddl.sql
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/alter_table_rename_table_ddl.sql
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestAlterTable/table1_ddl.sql
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestDropTable/drop_table_ddl.sql
PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestDropTable/table1_ddl.sql
PRE-CREATION
tajo-docs/src/main/sphinx/functions/datetime_func_and_operators.rst 51156fa
Diff: https://reviews.apache.org/r/19685/diff/
Testing
-------
Thanks,
Alvin Henrick