You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by Hyunsik Choi <hy...@apache.org> on 2014/03/16 14:22:09 UTC
Review Request 19262: TAJO-353: Add Database support to Tajo
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
> On March 17, 2014, 11:46 p.m., Jung JaeHwa wrote:
> > Thanks Hyunsik.
> > It looks good overall, and I tested it on my local cluster.
> > But when I applied it at HCatalogStore, TajoMaster failed to start up as follows:
> >
> > 2014-03-17 23:38:25,225 ERROR catalog.CatalogServer (CatalogServer.java:existTablespace(262)) - org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
> > 2014-03-17 23:38:25,226 ERROR catalog.AbstractCatalogClient (AbstractCatalogClient.java:existTablespace(105)) - com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
> > com.google.protobuf.ServiceException: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
> > at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:107)
> > at org.apache.tajo.catalog.AbstractCatalogClient.existTablespace(AbstractCatalogClient.java:98)
> > at org.apache.tajo.master.TajoMaster.checkBaseTBSpaceAndDatabase(TajoMaster.java:391)
> > at org.apache.tajo.master.TajoMaster.serviceStart(TajoMaster.java:351)
> > at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
> > at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:574)
> > Caused by: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
> > at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:263)
> > at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:101)
> > at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:98)
> > at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:97)
> > ... 5 more
> > Caused by: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
> > at org.apache.tajo.catalog.store.HCatalogStore.existTablespace(HCatalogStore.java:299)
> > at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:256)
> > ... 8 more
> >
> > If possible, could you check AbstractCatalogClient.existTablespace?
I tested it on TestHCatalogStore, and tested it on a real cluster using MySQL and Derby. But, I haven't tested it with a running Apache Hive. The error is caused by createTablespace/existsTablespace/dropTablespace() which are not implemented in HCatalogStore. I'll submit the updated patch which removes UnimplementedException in HCatalogStore.
- Hyunsik
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37377
-----------------------------------------------------------
On March 17, 2014, 4:50 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 17, 2014, 4:50 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37377
-----------------------------------------------------------
Thanks Hyunsik.
It looks good overall, and I tested it on my local cluster.
But when I applied it at HCatalogStore, TajoMaster failed to start up as follows:
2014-03-17 23:38:25,225 ERROR catalog.CatalogServer (CatalogServer.java:existTablespace(262)) - org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
2014-03-17 23:38:25,226 ERROR catalog.AbstractCatalogClient (AbstractCatalogClient.java:existTablespace(105)) - com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
com.google.protobuf.ServiceException: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:107)
at org.apache.tajo.catalog.AbstractCatalogClient.existTablespace(AbstractCatalogClient.java:98)
at org.apache.tajo.master.TajoMaster.checkBaseTBSpaceAndDatabase(TajoMaster.java:391)
at org.apache.tajo.master.TajoMaster.serviceStart(TajoMaster.java:351)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:574)
Caused by: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:263)
at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:101)
at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:98)
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:97)
... 5 more
Caused by: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.catalog.store.HCatalogStore.existTablespace(HCatalogStore.java:299)
at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:256)
... 8 more
If possible, could you check AbstractCatalogClient.existTablespace?
- Jung JaeHwa
On March 17, 2014, 7:50 a.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 17, 2014, 7:50 a.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37375
-----------------------------------------------------------
Thanks Hyunsik.
It looks good overall, and I tested it on my local cluster.
But when I applied it at HCatalogStore, TajoMaster failed to start up as follows:
2014-03-17 23:38:25,225 ERROR catalog.CatalogServer (CatalogServer.java:existTablespace(262)) - org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
2014-03-17 23:38:25,226 ERROR catalog.AbstractCatalogClient (AbstractCatalogClient.java:existTablespace(105)) - com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
com.google.protobuf.ServiceException: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:107)
at org.apache.tajo.catalog.AbstractCatalogClient.existTablespace(AbstractCatalogClient.java:98)
at org.apache.tajo.master.TajoMaster.checkBaseTBSpaceAndDatabase(TajoMaster.java:391)
at org.apache.tajo.master.TajoMaster.serviceStart(TajoMaster.java:351)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:574)
Caused by: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:263)
at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:101)
at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:98)
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:97)
... 5 more
Caused by: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.catalog.store.HCatalogStore.existTablespace(HCatalogStore.java:299)
at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:256)
... 8 more
If possible, could you check AbstractCatalogClient.existTablespace?
- Jung JaeHwa
On March 17, 2014, 7:50 a.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 17, 2014, 7:50 a.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37376
-----------------------------------------------------------
Thanks Hyunsik.
It looks good overall, and I tested it on my local cluster.
But when I applied it at HCatalogStore, TajoMaster failed to start up as follows:
2014-03-17 23:38:25,225 ERROR catalog.CatalogServer (CatalogServer.java:existTablespace(262)) - org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
2014-03-17 23:38:25,226 ERROR catalog.AbstractCatalogClient (AbstractCatalogClient.java:existTablespace(105)) - com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
com.google.protobuf.ServiceException: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:107)
at org.apache.tajo.catalog.AbstractCatalogClient.existTablespace(AbstractCatalogClient.java:98)
at org.apache.tajo.master.TajoMaster.checkBaseTBSpaceAndDatabase(TajoMaster.java:391)
at org.apache.tajo.master.TajoMaster.serviceStart(TajoMaster.java:351)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:574)
Caused by: com.google.protobuf.ServiceException: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:263)
at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:101)
at org.apache.tajo.catalog.AbstractCatalogClient$3.call(AbstractCatalogClient.java:98)
at org.apache.tajo.rpc.ServerCallable.withRetries(ServerCallable.java:97)
... 5 more
Caused by: org.apache.tajo.exception.UnimplementedException: existTablespace() is not implemented yet
at org.apache.tajo.catalog.store.HCatalogStore.existTablespace(HCatalogStore.java:299)
at org.apache.tajo.catalog.CatalogServer$CatalogProtocolHandler.existTablespace(CatalogServer.java:256)
... 8 more
If possible, could you check AbstractCatalogClient.existTablespace?
- Jung JaeHwa
On March 17, 2014, 7:50 a.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 17, 2014, 7:50 a.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38040
-----------------------------------------------------------
Ship it!
+1
Thank you for your contribution.
This patch looks good overall, and I've testes it on my cluster.
It operated successfully on MySQLStore and HCatalogStore.
Push it.
- Jung JaeHwa
On March 20, 2014, 12:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 12:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
> On March 21, 2014, 11:28 a.m., Jung JaeHwa wrote:
> > Thanks Hyunsik.
> >
> > If possible, could you update a documentation for cli?
> > Because users can't find easily how to change current database.
> > And it should explain also directory policy changes.
> >
As you can see, user documentation update is included in this patch.
I think that the documentation for internal is not trivial right now. I need more time for that.
I'll make additional documentation in another jira issue.
- Hyunsik
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38031
-----------------------------------------------------------
On March 20, 2014, 9:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 9:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38031
-----------------------------------------------------------
Thanks Hyunsik.
If possible, could you update a documentation for cli?
Because users can't find easily how to change current database.
And it should explain also directory policy changes.
- Jung JaeHwa
On March 20, 2014, 12:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 12:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
> On March 21, 2014, 11:47 a.m., Jung JaeHwa wrote:
> > tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java, line 34
> > <https://reviews.apache.org/r/19262/diff/7/?file=529622#file529622line34>
> >
> > I think that this may be a typo.
This is because DATABASES is a reserved keyword in MySQL :)
- Hyunsik
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38035
-----------------------------------------------------------
On March 20, 2014, 9:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 9:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38035
-----------------------------------------------------------
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java
<https://reviews.apache.org/r/19262/#comment69969>
I think that this may be a typo.
- Jung JaeHwa
On March 20, 2014, 12:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 12:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jihoon Son <ji...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38059
-----------------------------------------------------------
Ship it!
Ship It!
- Jihoon Son
On March 20, 2014, 9:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 9:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jinho Kim <jh...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review38062
-----------------------------------------------------------
Ship it!
+++1
This is really great work!
- Jinho Kim
On March 20, 2014, 12:24 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 20, 2014, 12:24 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> CHANGES.txt 0304190
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 20, 2014, 9:24 p.m.)
Review request for Tajo.
Changes
-------
Jinho and Jihoon,
Thank you for your detailed comments. I submit the updated patch which reflects Jihoon's comments.
I've verified 'mvn clean install' with various catalog stores, such as MySQLStore, HCatalog Store, and DerbyStore.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs (updated)
-----
CHANGES.txt 0304190
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/pom.xml d073736
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
tajo-project/pom.xml 59628a9
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
> On March 20, 2014, 2:29 p.m., Jihoon Son wrote:
> > Hyunsik, thanks for your contribution.
> > This issue is truly necessary and useful.
> > I left some comments for the latest patch.
> > In addition, I got the following error message in TajoMaster when I run Tajo.
> >
> > 2014-03-20 14:16:39,645 INFO master.TajoMaster (TajoMaster.java:checkAndInitializeSystemDirectories(260)) - Staging dir: hdfs://localhost:7020/tajo/warehouse
> > 2014-03-20 14:16:40,345 FATAL master.TajoMaster (TajoMaster.java:main(576)) - Error starting TajoMaster
> > java.lang.NoSuchFieldError: INTERNAL_RPC_CLIENT_WORKER_THREAD_NUM
> > at org.apache.tajo.rpc.RpcChannelFactory.getSharedClientChannelFactory(RpcChannelFactory.java:52)
> > at org.apache.tajo.rpc.RpcConnectionPool.getPool(RpcConnectionPool.java:52)
> > at org.apache.tajo.catalog.AbstractCatalogClient.<init>(AbstractCatalogClient.java:56)
> > at org.apache.tajo.catalog.LocalCatalogWrapper.<init>(LocalCatalogWrapper.java:50)
> > at org.apache.tajo.master.TajoMaster.init(TajoMaster.java:171)
> > at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:573)
> > 2014-03-20 14:16:40,358 INFO mortbay.log (Slf4jLog.java:info(67)) - Stopped SelectChannelConnector@0.0.0.0:26080
> > 2014-03-20 14:16:40,459 INFO catalog.CatalogServer (CatalogServer.java:stop(183)) - Catalog Server (null) shutdown
> > 2014-03-20 14:16:40,460 WARN service.AbstractService (ServiceOperations.java:stopQuietly(82)) - When stopping the service org.apache.tajo.master.TajoMaster : java.lang.NullPointerException
> > java.lang.NullPointerException
> > at org.apache.tajo.rpc.RpcChannelFactory.shutdown(RpcChannelFactory.java:99)
> > at org.apache.tajo.master.TajoMaster.stop(TajoMaster.java:420)
> > at org.apache.hadoop.service.ServiceOperations.stop(ServiceOperations.java:52)
> > at org.apache.hadoop.service.ServiceOperations.stopQuietly(ServiceOperations.java:80)
> > at org.apache.hadoop.service.ServiceOperations.stopQuietly(ServiceOperations.java:65)
> > at org.apache.hadoop.service.CompositeService$CompositeServiceShutdownHook.run(CompositeService.java:185)
> > at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
> > 2014-03-20 14:16:40,563 INFO master.TajoMaster (StringUtils.java:run(627)) - SHUTDOWN_MSG:
> >
It may be caused by obsolete Jar files or already running TajoMaster server and workers. Otherwise, it must have result in compilation error.
Could you check again?
> On March 20, 2014, 2:29 p.m., Jihoon Son wrote:
> > tajo-client/src/main/proto/ClientProtos.proto, line 46
> > <https://reviews.apache.org/r/19262/diff/6/?file=527806#file527806line46>
> >
> > PB looks to compile the 'message' variable successfully, but I worry about that it works well. I tried to search about reserved words of PB, but I couldn't. Do you have any knowledge about it?
I think that we don't need to mind this issue. If there is some problem, it must have caused some errors at code generation. We already have used the variable name 'message' for years. In addition, according to PB grammar, the variable name 'message' is theoretically not ambiguous against the keyword 'message'. :)
> On March 20, 2014, 2:29 p.m., Jihoon Son wrote:
> > tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java, line 183
> > <https://reviews.apache.org/r/19262/diff/6/?file=527849#file527849line183>
> >
> > Do we need to maintain this code?
It is out of scope of my change. In my opinion, other changes which are not related to the purpose of the issue should not be mandatory. Otherwise, we will see many unrelated changes, and it will make reviews hard to review patches.
> On March 20, 2014, 2:29 p.m., Jihoon Son wrote:
> > tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java, line 109
> > <https://reviews.apache.org/r/19262/diff/6/?file=527732#file527732line109>
> >
> > If you change the name of the variable 'name' to 'indexName', the readability would be increased.
Fixed.
- Hyunsik
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37708
-----------------------------------------------------------
On March 19, 2014, 7:25 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 19, 2014, 7:25 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jihoon Son <ji...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37708
-----------------------------------------------------------
Hyunsik, thanks for your contribution.
This issue is truly necessary and useful.
I left some comments for the latest patch.
In addition, I got the following error message in TajoMaster when I run Tajo.
2014-03-20 14:16:39,645 INFO master.TajoMaster (TajoMaster.java:checkAndInitializeSystemDirectories(260)) - Staging dir: hdfs://localhost:7020/tajo/warehouse
2014-03-20 14:16:40,345 FATAL master.TajoMaster (TajoMaster.java:main(576)) - Error starting TajoMaster
java.lang.NoSuchFieldError: INTERNAL_RPC_CLIENT_WORKER_THREAD_NUM
at org.apache.tajo.rpc.RpcChannelFactory.getSharedClientChannelFactory(RpcChannelFactory.java:52)
at org.apache.tajo.rpc.RpcConnectionPool.getPool(RpcConnectionPool.java:52)
at org.apache.tajo.catalog.AbstractCatalogClient.<init>(AbstractCatalogClient.java:56)
at org.apache.tajo.catalog.LocalCatalogWrapper.<init>(LocalCatalogWrapper.java:50)
at org.apache.tajo.master.TajoMaster.init(TajoMaster.java:171)
at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:573)
2014-03-20 14:16:40,358 INFO mortbay.log (Slf4jLog.java:info(67)) - Stopped SelectChannelConnector@0.0.0.0:26080
2014-03-20 14:16:40,459 INFO catalog.CatalogServer (CatalogServer.java:stop(183)) - Catalog Server (null) shutdown
2014-03-20 14:16:40,460 WARN service.AbstractService (ServiceOperations.java:stopQuietly(82)) - When stopping the service org.apache.tajo.master.TajoMaster : java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.tajo.rpc.RpcChannelFactory.shutdown(RpcChannelFactory.java:99)
at org.apache.tajo.master.TajoMaster.stop(TajoMaster.java:420)
at org.apache.hadoop.service.ServiceOperations.stop(ServiceOperations.java:52)
at org.apache.hadoop.service.ServiceOperations.stopQuietly(ServiceOperations.java:80)
at org.apache.hadoop.service.ServiceOperations.stopQuietly(ServiceOperations.java:65)
at org.apache.hadoop.service.CompositeService$CompositeServiceShutdownHook.run(CompositeService.java:185)
at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)
2014-03-20 14:16:40,563 INFO master.TajoMaster (StringUtils.java:run(627)) - SHUTDOWN_MSG:
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java
<https://reviews.apache.org/r/19262/#comment69352>
If you change the name of the variable 'name' to 'indexName', the readability would be increased.
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java
<https://reviews.apache.org/r/19262/#comment69354>
Would you please add some comments for explaining about the variables of TableDesc?
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java
<https://reviews.apache.org/r/19262/#comment69355>
Please remove unused imports.
tajo-catalog/tajo-catalog-server/pom.xml
<https://reviews.apache.org/r/19262/#comment69356>
Please remove a meaningless change
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java
<https://reviews.apache.org/r/19262/#comment69612>
You need to add some explanations of this class.
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java
<https://reviews.apache.org/r/19262/#comment69628>
Please remove unused variables.
tajo-client/src/main/proto/ClientProtos.proto
<https://reviews.apache.org/r/19262/#comment69629>
PB looks to compile the 'message' variable successfully, but I worry about that it works well. I tried to search about reserved words of PB, but I couldn't. Do you have any knowledge about it?
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java
<https://reviews.apache.org/r/19262/#comment69630>
Do we need to maintain this code?
- Jihoon Son
On March 19, 2014, 7:25 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 19, 2014, 7:25 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 19, 2014, 7:25 p.m.)
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/pom.xml d073736
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
tajo-project/pom.xml 59628a9
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 19, 2014, 7:22 p.m.)
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs (updated)
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/pom.xml d073736
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
tajo-project/pom.xml 59628a9
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
> On March 19, 2014, 6:23 p.m., Jinho Kim wrote:
> > Hyunsik,
> > We need to increase the MaxPermSize. 128m or more?
>
> Jinho Kim wrote:
> Only integration tests
I increased the MaxPermSize in pom.xml, and I fixed the leak of client connections in HCatalogClientPool.
- Hyunsik
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37698
-----------------------------------------------------------
On March 19, 2014, 7:25 p.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 19, 2014, 7:25 p.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStoreClientPool.java cc8ff08
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jinho Kim <jh...@apache.org>.
> On March 19, 2014, 9:23 a.m., Jinho Kim wrote:
> > Hyunsik,
> > We need to increase the MaxPermSize. 128m or more?
Only integration tests
- Jinho
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37698
-----------------------------------------------------------
On March 19, 2014, 7:25 a.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 19, 2014, 7:25 a.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Jinho Kim <jh...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/#review37698
-----------------------------------------------------------
Hyunsik,
We need to increase the MaxPermSize. 128m or more?
- Jinho Kim
On March 19, 2014, 7:25 a.m., Hyunsik Choi wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/19262/
> -----------------------------------------------------------
>
> (Updated March 19, 2014, 7:25 a.m.)
>
>
> Review request for Tajo.
>
>
> Bugs: TAJO-353
> https://issues.apache.org/jira/browse/TAJO-353
>
>
> Repository: tajo
>
>
> Description
> -------
>
> I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
>
> This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
>
> The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
>
> I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
>
> This patch also includes the documentation updates. You can see the updated pages:
> http://people.apache.org/~hyunsik/TAJO-353/cli.html
> http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
> http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
>
>
> Diffs
> -----
>
> tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
> tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
> tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
> tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
> tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
> tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
> tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
> tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
> tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
> tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
> tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
> tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
> tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
> tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
> tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
> tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
> tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
> tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
> tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
> tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
> tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
> tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
> tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
> tajo-client/src/main/proto/ClientProtos.proto c0c9462
> tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
> tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
> tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
> tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
> tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
> tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
> tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
> tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
> tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
> tajo-common/src/main/proto/PrimitiveProtos.proto e722190
> tajo-common/src/main/proto/TajoIdProtos.proto a87c825
> tajo-core/tajo-core-backend/pom.xml d073736
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
> tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
> tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
> tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
> tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
> tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
> tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
> tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
> tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
> tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
> tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
> tajo-docs/src/main/sphinx/cli.rst 6c91d2f
> tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
> tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
> tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
> tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
> tajo-project/pom.xml 59628a9
>
> Diff: https://reviews.apache.org/r/19262/diff/
>
>
> Testing
> -------
>
> mvn clean install -Phcatalog-0.12.0
>
>
> Thanks,
>
> Hyunsik Choi
>
>
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 19, 2014, 4:25 p.m.)
Review request for Tajo.
Changes
-------
I missed the random port configuration for CatalogServer with HCatalogStore.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs (updated)
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/pom.xml d073736
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java 9fcfca9
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
tajo-project/pom.xml 59628a9
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 19, 2014, 12:35 p.m.)
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs (updated)
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java fc2fdda
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/pom.xml 03e92ec
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/pom.xml d073736
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/TajoTestingCluster.java 323a7cf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1.tbl 8095c0b
tajo-core/tajo-core-backend/src/test/resources/dataset/TestCreateTable/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl 6405b31
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl 68340bf
tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1.tbl 63db89d
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2.tbl f33b22c
tajo-core/tajo-core-backend/src/test/resources/dataset/TestNetTypes/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1.tbl a1ebde3
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table1/table1.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2.tbl bc237af
tajo-core/tajo-core-backend/src/test/resources/dataset/TestSortQuery/table2/table2.tbl PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types.sql 92a4990
tajo-core/tajo-core-backend/src/test/resources/queries/TestCreateTable/create_table_various_types_for_hcatalog.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
tajo-project/pom.xml 59628a9
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 17, 2014, 4:50 p.m.)
Review request for Tajo.
Changes
-------
I fixed some missing methods in HCatalogStore, and I recovered multiple lines history and fix the bug of history lost.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs (updated)
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoFileHistory.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJdbc/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 16, 2014, 10:26 p.m.)
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 16, 2014, 10:25 p.m.)
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi
Re: Review Request 19262: TAJO-353: Add Database support to Tajo
Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/19262/
-----------------------------------------------------------
(Updated March 16, 2014, 10:22 p.m.)
Review request for Tajo.
Bugs: TAJO-353
https://issues.apache.org/jira/browse/TAJO-353
Repository: tajo
Description
-------
I've just submitted the patch. This work took longer time than I expected. It has required a bunch of changes. I'm very sorry for submitting a big patch.
This patch adds database namespace to Tajo catalog and all query processing related things. So, we can use join statements on multiple tables across different databases. Also, this patch adds CREATE DATABASE [IF NOT EXISTS] and DROP DATABASE [IF EXISTS] statements to parser, and planner.
The database namespace requires user session system because each connected user has to keep current database. This patch also includes session system, and session commands to TajoCli. Besides, I've filled some methods and changed Tajo JDBC to support database namespace and its related things.
I've tested the patch on Derby, MySQL, and HCatalog catalog stores. For that, I've improved TestCatalog to directly work on MySQL instance. You can see how you run TestCatalog test with MySQLStore at http://wiki.apache.org/tajo/UnitTests. And, I've added lots of unit tests for database namespaces and almost things I've changed.
This patch also includes the documentation updates. You can see the updated pages:
http://people.apache.org/~hyunsik/TAJO-353/cli.html
http://people.apache.org/~hyunsik/TAJO-353/sql_language/ddl.html
http://people.apache.org/~hyunsik/TAJO-353/configuration/catalog_configuration.html
Diffs (updated)
-----
tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java 97a6a3a
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java 7ad802c
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropDatabase.java PRE-CREATION
tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java 83e1707
tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java 7122af8
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/AbstractCatalogClient.java 1932db5
tajo-catalog/tajo-catalog-client/src/main/java/org/apache/tajo/catalog/CatalogService.java 494ac0b
tajo-catalog/tajo-catalog-client/src/main/proto/CatalogProtocol.proto 6a96b4e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogConstants.java fa23da1
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java 2a6727e
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/DDLBuilder.java 1e51cc2
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/FunctionDesc.java 0ef8497
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/IndexDesc.java 6199259
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/TableDesc.java 153d5f0
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsIndexException.java a254514
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTableException.java a2e3a6a
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/AlreadyExistsTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/InvalidTableException.java c19888f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoPartitionedTableException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchDatabaseException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchFunctionException.java 7765c31
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchIndexException.java e22e8bc
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTableException.java 80b3b9f
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/exception/NoSuchTablespaceException.java PRE-CREATION
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java e89ee72
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionMethodDesc.java 4a8123a
tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto 35171cc
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestCatalogUtil.java 065ec9d
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestIndexDesc.java 6a9adc7
tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestTableDesc.java d6f75ba
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogStore.java 5387673
tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/test/java/org/apache/tajo/catalog/store/TestHCatalogStore.java cb3973a
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java 621b475
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java ef485ef
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/CatalogStore.java db15c02
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/DerbyStore.java e384194
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java 1fef286
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MySQLStore.java bbcdb72
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/common/meta.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/databases_idx.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/derby/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partition_methods.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/stats.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql PRE-CREATION
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java 08905dd
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalogConstants.java f7b5c19
tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestDBStore.java a6b5b9a
tajo-client/src/main/java/org/apache/tajo/cli/ConnectDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/CopyrightCommand.java 809cd37
tajo-client/src/main/java/org/apache/tajo/cli/DescFunctionCommand.java e9f4964
tajo-client/src/main/java/org/apache/tajo/cli/DescTableCommand.java bdeb173
tajo-client/src/main/java/org/apache/tajo/cli/ExitCommand.java dcf8893
tajo-client/src/main/java/org/apache/tajo/cli/HelpCommand.java 85ba808
tajo-client/src/main/java/org/apache/tajo/cli/InvalidClientSessionException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/InvalidStatementException.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ListDatabaseCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/ParsedResult.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/SimpleParser.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 3026d9c
tajo-client/src/main/java/org/apache/tajo/cli/TajoShellCommand.java 2b61068
tajo-client/src/main/java/org/apache/tajo/cli/UnsetCommand.java PRE-CREATION
tajo-client/src/main/java/org/apache/tajo/cli/VersionCommand.java 744c786
tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java 7fc6780
tajo-client/src/main/java/org/apache/tajo/client/TajoDump.java 486ff9f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetBase.java f4d685f
tajo-client/src/main/java/org/apache/tajo/jdbc/TajoResultSetMetaData.java 4f2e586
tajo-client/src/main/proto/ClientProtos.proto c0c9462
tajo-client/src/main/proto/TajoMasterClientProtocol.proto 93e5af9
tajo-common/src/main/java/org/apache/tajo/TajoConstants.java d4ce48f
tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java 3ca17a0
tajo-common/src/main/java/org/apache/tajo/util/CommonTestingUtil.java cae7129
tajo-common/src/main/java/org/apache/tajo/util/FileUtil.java 778bcbb
tajo-common/src/main/java/org/apache/tajo/util/Pair.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/ProtoBufUtil.java 0dc7f24
tajo-common/src/main/java/org/apache/tajo/util/ProtoUtil.java PRE-CREATION
tajo-common/src/main/java/org/apache/tajo/util/StringUtils.java b5aa61c
tajo-common/src/main/java/org/apache/tajo/util/TUtil.java 1eb55bc
tajo-common/src/main/proto/PrimitiveProtos.proto e722190
tajo-common/src/main/proto/TajoIdProtos.proto a87c825
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4 1ceaca8
tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 71c16f2
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java 6d95fe1
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java a8407fd
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java acb9008
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java cf36539
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java 94e2482
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java e2f65ad
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java 0dc8f82
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 8280d3e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java b08109d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java 305548c
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java bf41996
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 01bacc0
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java a928fb5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PreLogicalPlanVerifier.java 508740f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/VerificationState.java e1b136d
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java 461c5d5
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java b8e7143
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropDatabaseNode.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java 0c6675f
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java acaf85b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java 80a0d7a
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/query/QueryContext.java 1db4c4b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/ProtoUtil.java 93eca22
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java d7ded93
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java c42b0f3
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMasterClientService.java dc70f23
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/YarnTaskRunnerLauncherImpl.java 28b5f08
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/event/QueryStartEvent.java 2c8b822
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/metrics/CatalogMetricsGaugeSet.java 08fff53
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/Query.java 02ed34e
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryInProgress.java efb9c06
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryJobManager.java 6cfb600
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMaster.java 9dddbf7
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterManagerService.java e3e0260
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java 7719a85
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/rm/TajoResourceTracker.java 1bcf38b
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/InvalidSessionException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/NoSuchSessionVariableException.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/Session.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionConstants.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEvent.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionEventType.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionLivelinessMonitor.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/session/SessionManager.java PRE-CREATION
tajo-core/tajo-core-backend/src/main/proto/TajoWorkerProtocol.proto 10e8ec2
tajo-core/tajo-core-backend/src/main/resources/webapps/admin/catalogview.jsp 397146a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/LocalTajoTestingUtility.java 144ca1b
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java ddb9952
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/benchmark/TestTPCH.java f0a0812
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/cli/TestSimpleParser.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestDDLBuilder.java 23b0877
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/client/TestTajoClient.java 3dac2f1
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 2982f83
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java f9c50ac
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/function/TestBuiltinFunctions.java 3e64016
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalOptimizer.java 6107ca7
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java bfd1f81
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java 228d42d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java c113559
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java 572a60a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java 4839451
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestExternalSortExec.java 61d56fc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterHashJoinExec.java e6ffac2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestFullOuterMergeJoinExec.java 3519d1c
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java 60d90d9
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashJoinExec.java 6f0b4e2
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java ebc35d3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterHashJoinExec.java bee7547
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestLeftOuterNLJoinExec.java 1ac202e
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestMergeJoinExec.java 5977c95
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java 601621d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java 1975a57
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestProgressExternalSortExec.java cb9c419
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterHashJoinExec.java d2c29a3
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestRightOuterMergeJoinExec.java b4b588d
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestSortExec.java 00fb386
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 902a73a
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java 203d113
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateDatabase.java PRE-CREATION
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCreateTable.java f39ceb8
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java 8ecf8ed
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestInsertQuery.java 8b2db9f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinOnPartitionedTables.java 4bda517
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java 0c68fa6
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestNetTypes.java bba47cc
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java fece424
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java 23d7bdb
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java 60c8497
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTableSubQuery.java bbd533f
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java 22830bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java 3610382
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java 445cd69
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java d862e87
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestGlobalPlanner.java 4c7c9c5
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/querymaster/TestQueryUnitStatusUpdate.java 5d3f7bf
tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java 65b7d1e
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk1.sql 910138f
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk2.sql a68e40a
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk3.sql f75c8dc
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithAsterisk4.sql 100be80
tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinOnMultipleDatabases.sql PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table1_ddl.sql 45df638
tajo-core/tajo-core-backend/src/test/resources/queries/TestNetTypes/table2_ddl.sql 73fe19e
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk3.result f4e8c88
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithAsterisk4.result 95b5bc3
tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinOnMultipleDatabases.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables1.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/TestTajoJDBC/getTables2.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDL.result a16119f
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForBaseTable.result PRE-CREATION
tajo-core/tajo-core-backend/src/test/resources/results/testBuildDDLForExternalTable.result PRE-CREATION
tajo-docs/src/main/sphinx/cli.rst 6c91d2f
tajo-docs/src/main/sphinx/configuration/catalog_configuration.rst 86899ba
tajo-docs/src/main/sphinx/configuration/cluster_setup.rst e9715f3
tajo-docs/src/main/sphinx/sql_language/ddl.rst 2f0e9d4
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoConnection.java b751d5d
tajo-jdbc/src/main/java/org/apache/tajo/jdbc/TajoDatabaseMetaData.java b3e67bc
Diff: https://reviews.apache.org/r/19262/diff/
Testing
-------
mvn clean install -Phcatalog-0.12.0
Thanks,
Hyunsik Choi