Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into TAJO-1730
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/5ca1a4ab Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/5ca1a4ab Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/5ca1a4ab Branch: refs/heads/TAJO-1730 Commit: 5ca1a4abcc85b0a5742ff98c282b62e5d39f3436 Parents: 4547994 f868c0e Author: Hyunsik Choi <[email protected]> Authored: Sun Aug 9 15:31:29 2015 +0900 Committer: Hyunsik Choi <[email protected]> Committed: Sun Aug 9 15:31:29 2015 +0900 ---------------------------------------------------------------------- CHANGES | 19 + .../org/apache/tajo/algebra/AlterTable.java | 29 +- .../java/org/apache/tajo/algebra/Insert.java | 6 +- .../tajo/catalog/AbstractCatalogClient.java | 47 +- .../src/main/proto/CatalogProtocol.proto | 1 + .../org/apache/tajo/catalog/CatalogService.java | 8 +- .../apache/tajo/catalog/MetadataProvider.java | 39 ++ .../org/apache/tajo/catalog/NestedPathUtil.java | 25 +- .../java/org/apache/tajo/catalog/Schema.java | 4 +- .../org/apache/tajo/catalog/SchemaUtil.java | 40 +- ...xistsAssumedPartitionDirectoryException.java | 28 - .../exception/AmbiguousFunctionException.java | 6 + ...biguousPartitionDirectoryExistException.java | 30 + .../exception/AmbiguousTableException.java | 9 +- .../catalog/exception/CatalogException.java | 9 +- .../exception/DuplicateColumnException.java | 5 + .../exception/DuplicateDatabaseException.java | 6 + .../exception/DuplicateIndexException.java | 5 + .../exception/DuplicatePartitionException.java | 5 + .../exception/DuplicateTableException.java | 5 + .../InsufficientPrivilegeException.java | 29 + .../exception/NoPartitionedTableException.java | 26 - .../exception/NoSuchPartitionException.java | 37 -- .../exception/NoSuchPartitionKeyException.java | 29 - .../exception/UndefinedColumnException.java | 5 + .../exception/UndefinedDatabaseException.java | 5 + .../exception/UndefinedFunctionException.java | 8 +- .../exception/UndefinedPartitionException.java | 5 + .../UndefinedPartitionKeyException.java | 30 + .../UndefinedPartitionMethodException.java | 30 + .../exception/UndefinedTableException.java | 5 + .../exception/UndefinedTablespaceException.java | 5 + .../src/main/proto/CatalogProtos.proto | 12 +- .../org/apache/tajo/catalog/TestSchema.java | 3 +- .../tajo/catalog/store/HiveCatalogStore.java | 125 +++- .../tajo/catalog/store/HiveCatalogUtil.java | 2 +- .../org/apache/tajo/catalog/CatalogServer.java | 420 ++++++++++---- .../tajo/catalog/LinkedMetadataManager.java | 241 ++++++++ .../InfoSchemaMetadataDictionary.java | 16 +- .../tajo/catalog/store/AbstractDBStore.java | 308 ++++++---- .../apache/tajo/catalog/store/CatalogStore.java | 3 + .../org/apache/tajo/catalog/store/MemStore.java | 98 ++-- .../catalog/store/XMLCatalogSchemaManager.java | 8 +- .../src/main/resources/schemas/derby/derby.xml | 9 +- .../main/resources/schemas/mariadb/mariadb.xml | 10 +- .../src/main/resources/schemas/mysql/mysql.xml | 10 +- .../main/resources/schemas/oracle/oracle.xml | 11 +- .../resources/schemas/postgresql/postgresql.xml | 16 +- .../org/apache/tajo/catalog/TestCatalog.java | 17 +- .../tajo/catalog/TestLinkedMetadataManager.java | 271 +++++++++ .../org/apache/tajo/cli/tools/TajoAdmin.java | 4 +- .../java/org/apache/tajo/cli/tsql/TajoCli.java | 7 +- .../tsql/commands/ConnectDatabaseCommand.java | 3 +- .../tajo/cli/tsql/commands/SetCommand.java | 5 +- tajo-client/pom.xml | 4 +- .../apache/tajo/client/CatalogAdminClient.java | 26 +- .../tajo/client/CatalogAdminClientImpl.java | 91 ++- .../apache/tajo/client/ClientExceptionUtil.java | 106 ++++ .../client/InvalidClientSessionException.java | 9 +- .../org/apache/tajo/client/QueryClient.java | 41 +- .../org/apache/tajo/client/QueryClientImpl.java | 83 ++- .../apache/tajo/client/SessionConnection.java | 103 ++-- .../org/apache/tajo/client/TajoClientImpl.java | 46 +- .../org/apache/tajo/client/TajoClientUtil.java | 2 +- .../apache/tajo/client/v2/ClientDelegate.java | 41 ++ .../tajo/client/v2/ClientDelegateFactory.java | 42 ++ .../org/apache/tajo/client/v2/ClientUtil.java | 30 + .../apache/tajo/client/v2/FutureListener.java | 25 + .../tajo/client/v2/LegacyClientDelegate.java | 485 ++++++++++++++++ .../org/apache/tajo/client/v2/QueryFuture.java | 133 +++++ .../org/apache/tajo/client/v2/QueryState.java | 36 ++ .../apache/tajo/client/v2/ServiceDiscovery.java | 28 + .../org/apache/tajo/client/v2/TajoClient.java | 154 +++++ .../v2/exception/ClientConnectionException.java | 28 + .../ClientUnableToConnectException.java | 28 + .../org/apache/tajo/jdbc/FetchResultSet.java | 2 +- .../java/org/apache/tajo/conf/TajoConf.java | 4 + .../org/apache/tajo/datum/DatumFactory.java | 80 +-- .../exception/AmbiguousColumnException.java | 9 +- .../apache/tajo/exception/ErrorMessages.java | 11 +- .../NoSuchSessionVariableException.java | 33 ++ .../apache/tajo/exception/ReturnStateUtil.java | 3 +- .../apache/tajo/exception/SQLExceptionUtil.java | 22 +- .../org/apache/tajo/exception/TajoError.java | 7 + .../apache/tajo/exception/TajoException.java | 11 + .../tajo/exception/TajoInternalError.java | 6 + .../exception/UndefinedOperatorException.java | 5 + .../tajo/exception/UnsupportedException.java | 5 + .../java/org/apache/tajo/util/BytesUtils.java | 19 +- .../java/org/apache/tajo/util/NumberUtil.java | 565 +++++++++++++++++++ tajo-common/src/main/proto/errors.proto | 2 + tajo-core/pom.xml | 4 +- .../org/apache/tajo/engine/parser/SQLParser.g4 | 6 +- .../org/apache/tajo/benchmark/BenchmarkSet.java | 3 +- .../java/org/apache/tajo/benchmark/TPCH.java | 5 +- .../apache/tajo/engine/parser/SQLAnalyzer.java | 10 +- .../engine/planner/global/GlobalPlanner.java | 107 ++-- .../planner/physical/ColPartitionStoreExec.java | 44 +- .../org/apache/tajo/master/QueryManager.java | 52 +- .../java/org/apache/tajo/master/TajoMaster.java | 46 +- .../tajo/master/TajoMasterClientService.java | 5 +- .../tajo/master/exec/CreateTableExecutor.java | 162 ++++++ .../apache/tajo/master/exec/DDLExecutor.java | 329 +++++------ .../apache/tajo/master/exec/QueryExecutor.java | 3 +- .../tajo/querymaster/DefaultTaskScheduler.java | 9 +- .../java/org/apache/tajo/querymaster/Query.java | 42 +- .../java/org/apache/tajo/querymaster/Stage.java | 15 + .../apache/tajo/querymaster/TaskAttempt.java | 18 + .../tajo/session/InvalidSessionException.java | 7 +- .../apache/tajo/util/history/HistoryReader.java | 87 +-- .../tajo/webapp/QueryExecutorServlet.java | 2 +- .../java/org/apache/tajo/worker/TajoWorker.java | 54 +- .../apache/tajo/worker/TaskAttemptContext.java | 19 + .../java/org/apache/tajo/worker/TaskImpl.java | 4 + .../org/apache/tajo/worker/TaskManager.java | 1 - tajo-core/src/main/proto/ResourceProtos.proto | 1 + .../src/main/resources/webapps/admin/query.jsp | 6 +- .../apache/tajo/LocalTajoTestingUtility.java | 6 +- .../java/org/apache/tajo/QueryTestCaseBase.java | 10 +- .../org/apache/tajo/client/TestTajoClient.java | 62 +- .../tajo/client/TestTajoClientFailures.java | 16 +- .../apache/tajo/client/v2/TestTajoClientV2.java | 236 ++++++++ .../engine/codegen/TestEvalCodeGenerator.java | 23 +- .../apache/tajo/engine/eval/ExprTestBase.java | 31 +- .../tajo/engine/eval/TestIntervalType.java | 5 +- .../apache/tajo/engine/eval/TestPredicates.java | 39 +- .../tajo/engine/eval/TestSQLDateTimeTypes.java | 11 +- .../tajo/engine/eval/TestSQLExpression.java | 32 +- .../function/TestConditionalExpressions.java | 11 +- .../engine/function/TestDateTimeFunctions.java | 21 +- .../tajo/engine/function/TestJsonFunctions.java | 5 +- .../tajo/engine/function/TestMathFunctions.java | 49 +- .../function/TestPatternMatchingPredicates.java | 15 +- .../engine/function/TestPythonFunctions.java | 5 +- .../TestStringOperatorsAndFunctions.java | 77 ++- .../tajo/engine/parser/TestSQLAnalyzer.java | 38 ++ .../tajo/engine/query/TestAlterTable.java | 3 +- .../apache/tajo/engine/query/TestIndexScan.java | 3 +- .../apache/tajo/engine/query/TestJoinQuery.java | 6 +- .../engine/query/TestSelectNestedRecord.java | 40 +- .../tajo/engine/query/TestTablePartitions.java | 130 ++++- .../java/org/apache/tajo/jdbc/TestTajoJdbc.java | 90 --- .../util/history/TestHistoryWriterReader.java | 64 +++ .../alter_table_add_partition2.sql | 1 + .../alter_table_drop_partition2.sql | 1 + .../TestSelectNestedRecord/sample0_ddl.sql | 1 + .../TestSelectNestedRecord/testSelect0.sql | 1 + .../default/alter_table_add_partition_5.sql | 1 + .../default/alter_table_drop_partition_4.sql | 1 + .../testInsertType1.result | 5 + .../testInsertType2.result | 5 + .../TestSelectNestedRecord/testSelect0.result | 5 + .../testAlterTableAddDropPartition.result | 2 +- .../testExecuteQueryAsync.result | 7 + .../testExecuteQueryAsyncWithListener.result | 2 + .../testExecuteQueryType1.result | 7 + .../testExecuteQueryType2.result | 4 + .../testExecuteQueryType3.result | 4 + .../src/main/conf/catalog-site.xml.template | 4 +- .../main/sphinx/sql_language/alter_table.rst | 7 +- .../org/apache/tajo/jdbc/JdbcConnection.java | 28 +- .../org/apache/tajo/jdbc/MetaDataTuple.java | 17 +- .../org/apache/tajo/jdbc/TajoStatement.java | 55 -- .../org/apache/tajo/plan/LogicalPlanner.java | 18 +- .../tajo/plan/expr/BasicEvalNodeVisitor.java | 1 + .../tajo/plan/expr/SimpleEvalNodeVisitor.java | 3 +- .../plan/function/stream/CSVLineSerializer.java | 1 - .../tajo/plan/logical/AlterTableNode.java | 22 +- .../tajo/plan/nameresolver/NameResolver.java | 6 +- .../plan/nameresolver/ResolverByLegacy.java | 3 +- .../tajo/plan/nameresolver/ResolverByRels.java | 4 +- .../nameresolver/ResolverByRelsAndSubExprs.java | 4 +- .../nameresolver/ResolverBySubExprsAndRels.java | 4 +- .../rewrite/rules/ProjectionPushDownRule.java | 11 +- .../tajo/plan/serder/EvalNodeDeserializer.java | 5 +- .../plan/serder/LogicalNodeDeserializer.java | 3 + .../tajo/plan/verifier/VerificationState.java | 6 + tajo-plan/src/main/proto/Plan.proto | 2 + .../org/apache/tajo/storage/NullScanner.java | 4 +- .../org/apache/tajo/storage/RowStoreUtil.java | 2 +- .../org/apache/tajo/storage/Tablespace.java | 3 +- .../apache/tajo/tuple/offheap/HeapTuple.java | 2 - .../apache/tajo/tuple/offheap/UnSafeTuple.java | 2 - .../tajo/storage/json/JsonLineDeserializer.java | 39 +- .../tajo/storage/json/JsonLineSerializer.java | 148 ++--- 185 files changed, 5343 insertions(+), 1641 deletions(-) ----------------------------------------------------------------------
