Revert "HIVE-12442: Refactor/repackage HiveServer2's Thrift code so that it can be used in the tasks (Rohit Dholakia reviewed by Vaibhav Gumashta)"
This reverts commit 2542f5cc2c1ba7c17502c57536a0e9ef586c64eb. Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/a28f6cd8 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/a28f6cd8 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/a28f6cd8 Branch: refs/heads/master Commit: a28f6cd8413217a1d3676f7554821d9cf3d98a98 Parents: 2542f5c Author: Vaibhav Gumashta <vgumas...@hortonworks.com> Authored: Thu Jan 7 18:03:15 2016 -0800 Committer: Vaibhav Gumashta <vgumas...@hortonworks.com> Committed: Thu Jan 7 18:03:15 2016 -0800 ---------------------------------------------------------------------- bin/ext/hiveserver2.sh | 2 +- bin/ext/metastore.sh | 2 +- .../cli/session/TestHiveSessionImpl.java | 2 +- .../cli/thrift/TestThriftHttpCLIService.java | 4 +- jdbc/pom.xml | 5 - .../org/apache/hive/jdbc/HiveConnection.java | 24 +- .../apache/hive/jdbc/HiveDatabaseMetaData.java | 39 +- .../apache/hive/jdbc/HivePreparedStatement.java | 4 +- .../apache/hive/jdbc/HiveQueryResultSet.java | 44 +- .../apache/hive/jdbc/HiveResultSetMetaData.java | 1 - .../org/apache/hive/jdbc/HiveStatement.java | 28 +- .../java/org/apache/hive/jdbc/JdbcColumn.java | 10 +- jdbc/src/java/org/apache/hive/jdbc/Utils.java | 4 +- .../org/apache/hive/jdbc/HiveStatementTest.java | 4 +- packaging/pom.xml | 5 - pom.xml | 1 - service-rpc/if/TCLIService.thrift | 1174 -- service-rpc/pom.xml | 111 - .../src/gen/thrift/gen-cpp/TCLIService.cpp | 5699 ------ .../src/gen/thrift/gen-cpp/TCLIService.h | 2765 --- .../thrift/gen-cpp/TCLIService_constants.cpp | 72 - .../gen/thrift/gen-cpp/TCLIService_constants.h | 31 - .../gen-cpp/TCLIService_server.skeleton.cpp | 134 - .../gen/thrift/gen-cpp/TCLIService_types.cpp | 9527 ---------- .../src/gen/thrift/gen-cpp/TCLIService_types.h | 3919 ---- .../service/rpc/thrift/TArrayTypeEntry.java | 387 - .../hive/service/rpc/thrift/TBinaryColumn.java | 548 - .../hive/service/rpc/thrift/TBoolColumn.java | 548 - .../hive/service/rpc/thrift/TBoolValue.java | 390 - .../hive/service/rpc/thrift/TByteColumn.java | 548 - .../hive/service/rpc/thrift/TByteValue.java | 390 - .../hive/service/rpc/thrift/TCLIService.java | 16422 ----------------- .../rpc/thrift/TCLIServiceConstants.java | 106 - .../rpc/thrift/TCancelDelegationTokenReq.java | 495 - .../rpc/thrift/TCancelDelegationTokenResp.java | 394 - .../service/rpc/thrift/TCancelOperationReq.java | 394 - .../rpc/thrift/TCancelOperationResp.java | 394 - .../service/rpc/thrift/TCloseOperationReq.java | 394 - .../service/rpc/thrift/TCloseOperationResp.java | 394 - .../service/rpc/thrift/TCloseSessionReq.java | 394 - .../service/rpc/thrift/TCloseSessionResp.java | 394 - .../apache/hive/service/rpc/thrift/TColumn.java | 736 - .../hive/service/rpc/thrift/TColumnDesc.java | 704 - .../hive/service/rpc/thrift/TColumnValue.java | 675 - .../hive/service/rpc/thrift/TDoubleColumn.java | 548 - .../hive/service/rpc/thrift/TDoubleValue.java | 390 - .../rpc/thrift/TExecuteStatementReq.java | 762 - .../rpc/thrift/TExecuteStatementResp.java | 509 - .../service/rpc/thrift/TFetchOrientation.java | 57 - .../service/rpc/thrift/TFetchResultsReq.java | 714 - .../service/rpc/thrift/TFetchResultsResp.java | 612 - .../service/rpc/thrift/TGetCatalogsReq.java | 394 - .../service/rpc/thrift/TGetCatalogsResp.java | 509 - .../hive/service/rpc/thrift/TGetColumnsReq.java | 822 - .../service/rpc/thrift/TGetColumnsResp.java | 509 - .../rpc/thrift/TGetDelegationTokenReq.java | 596 - .../rpc/thrift/TGetDelegationTokenResp.java | 504 - .../service/rpc/thrift/TGetFunctionsReq.java | 711 - .../service/rpc/thrift/TGetFunctionsResp.java | 509 - .../hive/service/rpc/thrift/TGetInfoReq.java | 507 - .../hive/service/rpc/thrift/TGetInfoResp.java | 497 - .../hive/service/rpc/thrift/TGetInfoType.java | 180 - .../hive/service/rpc/thrift/TGetInfoValue.java | 597 - .../rpc/thrift/TGetOperationStatusReq.java | 394 - .../rpc/thrift/TGetOperationStatusResp.java | 831 - .../rpc/thrift/TGetResultSetMetadataReq.java | 394 - .../rpc/thrift/TGetResultSetMetadataResp.java | 509 - .../hive/service/rpc/thrift/TGetSchemasReq.java | 610 - .../service/rpc/thrift/TGetSchemasResp.java | 509 - .../service/rpc/thrift/TGetTableTypesReq.java | 394 - .../service/rpc/thrift/TGetTableTypesResp.java | 509 - .../hive/service/rpc/thrift/TGetTablesReq.java | 871 - .../hive/service/rpc/thrift/TGetTablesResp.java | 509 - .../service/rpc/thrift/TGetTypeInfoReq.java | 394 - .../service/rpc/thrift/TGetTypeInfoResp.java | 509 - .../service/rpc/thrift/THandleIdentifier.java | 508 - .../hive/service/rpc/thrift/TI16Column.java | 548 - .../hive/service/rpc/thrift/TI16Value.java | 390 - .../hive/service/rpc/thrift/TI32Column.java | 548 - .../hive/service/rpc/thrift/TI32Value.java | 390 - .../hive/service/rpc/thrift/TI64Column.java | 548 - .../hive/service/rpc/thrift/TI64Value.java | 390 - .../hive/service/rpc/thrift/TMapTypeEntry.java | 482 - .../service/rpc/thrift/TOpenSessionReq.java | 778 - .../service/rpc/thrift/TOpenSessionResp.java | 783 - .../service/rpc/thrift/TOperationHandle.java | 709 - .../service/rpc/thrift/TOperationState.java | 63 - .../hive/service/rpc/thrift/TOperationType.java | 66 - .../service/rpc/thrift/TPrimitiveTypeEntry.java | 516 - .../service/rpc/thrift/TProtocolVersion.java | 63 - .../rpc/thrift/TRenewDelegationTokenReq.java | 495 - .../rpc/thrift/TRenewDelegationTokenResp.java | 394 - .../apache/hive/service/rpc/thrift/TRow.java | 443 - .../apache/hive/service/rpc/thrift/TRowSet.java | 706 - .../hive/service/rpc/thrift/TSessionHandle.java | 394 - .../apache/hive/service/rpc/thrift/TStatus.java | 875 - .../hive/service/rpc/thrift/TStatusCode.java | 54 - .../hive/service/rpc/thrift/TStringColumn.java | 548 - .../hive/service/rpc/thrift/TStringValue.java | 393 - .../service/rpc/thrift/TStructTypeEntry.java | 452 - .../hive/service/rpc/thrift/TTableSchema.java | 443 - .../hive/service/rpc/thrift/TTypeDesc.java | 443 - .../hive/service/rpc/thrift/TTypeEntry.java | 614 - .../apache/hive/service/rpc/thrift/TTypeId.java | 105 - .../service/rpc/thrift/TTypeQualifierValue.java | 365 - .../service/rpc/thrift/TTypeQualifiers.java | 454 - .../service/rpc/thrift/TUnionTypeEntry.java | 452 - .../rpc/thrift/TUserDefinedTypeEntry.java | 389 - .../src/gen/thrift/gen-php/TCLIService.php | 4141 ----- service-rpc/src/gen/thrift/gen-php/Types.php | 9040 --------- .../gen-py/TCLIService/TCLIService-remote | 220 - .../thrift/gen-py/TCLIService/TCLIService.py | 3490 ---- .../gen/thrift/gen-py/TCLIService/__init__.py | 1 - .../gen/thrift/gen-py/TCLIService/constants.py | 67 - .../src/gen/thrift/gen-py/TCLIService/ttypes.py | 6857 ------- .../src/gen/thrift/gen-rb/t_c_l_i_service.rb | 1050 -- .../thrift/gen-rb/t_c_l_i_service_constants.rb | 72 - .../gen/thrift/gen-rb/t_c_l_i_service_types.rb | 1763 -- service/if/TCLIService.thrift | 1174 ++ service/pom.xml | 39 +- service/src/gen/thrift/gen-cpp/TCLIService.cpp | 7315 ++++++++ service/src/gen/thrift/gen-cpp/TCLIService.h | 2564 +++ .../thrift/gen-cpp/TCLIService_constants.cpp | 72 + .../gen/thrift/gen-cpp/TCLIService_constants.h | 31 + .../gen-cpp/TCLIService_server.skeleton.cpp | 134 + .../gen/thrift/gen-cpp/TCLIService_types.cpp | 9231 +++++++++ .../src/gen/thrift/gen-cpp/TCLIService_types.h | 4141 +++++ service/src/gen/thrift/gen-cpp/ThriftHive.cpp | 3544 ++++ service/src/gen/thrift/gen-cpp/ThriftHive.h | 1224 ++ .../gen-cpp/ThriftHive_server.skeleton.cpp | 84 + .../thrift/gen-cpp/hive_service_constants.cpp | 17 + .../gen/thrift/gen-cpp/hive_service_constants.h | 24 + .../gen/thrift/gen-cpp/hive_service_types.cpp | 351 + .../src/gen/thrift/gen-cpp/hive_service_types.h | 176 + .../hadoop/hive/service/HiveClusterStatus.java | 901 + .../hive/service/HiveServerException.java | 601 + .../hadoop/hive/service/JobTrackerState.java | 45 + .../apache/hadoop/hive/service/ThriftHive.java | 7784 ++++++++ .../service/cli/thrift/TArrayTypeEntry.java | 387 + .../hive/service/cli/thrift/TBinaryColumn.java | 548 + .../hive/service/cli/thrift/TBoolColumn.java | 548 + .../hive/service/cli/thrift/TBoolValue.java | 390 + .../hive/service/cli/thrift/TByteColumn.java | 548 + .../hive/service/cli/thrift/TByteValue.java | 390 + .../hive/service/cli/thrift/TCLIService.java | 16422 +++++++++++++++++ .../cli/thrift/TCLIServiceConstants.java | 106 + .../cli/thrift/TCancelDelegationTokenReq.java | 495 + .../cli/thrift/TCancelDelegationTokenResp.java | 394 + .../service/cli/thrift/TCancelOperationReq.java | 394 + .../cli/thrift/TCancelOperationResp.java | 394 + .../service/cli/thrift/TCloseOperationReq.java | 394 + .../service/cli/thrift/TCloseOperationResp.java | 394 + .../service/cli/thrift/TCloseSessionReq.java | 394 + .../service/cli/thrift/TCloseSessionResp.java | 394 + .../apache/hive/service/cli/thrift/TColumn.java | 736 + .../hive/service/cli/thrift/TColumnDesc.java | 704 + .../hive/service/cli/thrift/TColumnValue.java | 675 + .../hive/service/cli/thrift/TDoubleColumn.java | 548 + .../hive/service/cli/thrift/TDoubleValue.java | 390 + .../cli/thrift/TExecuteStatementReq.java | 762 + .../cli/thrift/TExecuteStatementResp.java | 509 + .../service/cli/thrift/TFetchOrientation.java | 57 + .../service/cli/thrift/TFetchResultsReq.java | 714 + .../service/cli/thrift/TFetchResultsResp.java | 612 + .../service/cli/thrift/TGetCatalogsReq.java | 394 + .../service/cli/thrift/TGetCatalogsResp.java | 509 + .../hive/service/cli/thrift/TGetColumnsReq.java | 822 + .../service/cli/thrift/TGetColumnsResp.java | 509 + .../cli/thrift/TGetDelegationTokenReq.java | 596 + .../cli/thrift/TGetDelegationTokenResp.java | 504 + .../service/cli/thrift/TGetFunctionsReq.java | 711 + .../service/cli/thrift/TGetFunctionsResp.java | 509 + .../hive/service/cli/thrift/TGetInfoReq.java | 507 + .../hive/service/cli/thrift/TGetInfoResp.java | 497 + .../hive/service/cli/thrift/TGetInfoType.java | 180 + .../hive/service/cli/thrift/TGetInfoValue.java | 597 + .../cli/thrift/TGetOperationStatusReq.java | 394 + .../cli/thrift/TGetOperationStatusResp.java | 831 + .../cli/thrift/TGetResultSetMetadataReq.java | 394 + .../cli/thrift/TGetResultSetMetadataResp.java | 509 + .../hive/service/cli/thrift/TGetSchemasReq.java | 610 + .../service/cli/thrift/TGetSchemasResp.java | 509 + .../service/cli/thrift/TGetTableTypesReq.java | 394 + .../service/cli/thrift/TGetTableTypesResp.java | 509 + .../hive/service/cli/thrift/TGetTablesReq.java | 871 + .../hive/service/cli/thrift/TGetTablesResp.java | 509 + .../service/cli/thrift/TGetTypeInfoReq.java | 394 + .../service/cli/thrift/TGetTypeInfoResp.java | 509 + .../service/cli/thrift/THandleIdentifier.java | 508 + .../hive/service/cli/thrift/TI16Column.java | 548 + .../hive/service/cli/thrift/TI16Value.java | 390 + .../hive/service/cli/thrift/TI32Column.java | 548 + .../hive/service/cli/thrift/TI32Value.java | 390 + .../hive/service/cli/thrift/TI64Column.java | 548 + .../hive/service/cli/thrift/TI64Value.java | 390 + .../hive/service/cli/thrift/TMapTypeEntry.java | 482 + .../service/cli/thrift/TOpenSessionReq.java | 778 + .../service/cli/thrift/TOpenSessionResp.java | 783 + .../service/cli/thrift/TOperationHandle.java | 709 + .../service/cli/thrift/TOperationState.java | 63 + .../hive/service/cli/thrift/TOperationType.java | 66 + .../service/cli/thrift/TPrimitiveTypeEntry.java | 516 + .../service/cli/thrift/TProtocolVersion.java | 63 + .../cli/thrift/TRenewDelegationTokenReq.java | 495 + .../cli/thrift/TRenewDelegationTokenResp.java | 394 + .../apache/hive/service/cli/thrift/TRow.java | 443 + .../apache/hive/service/cli/thrift/TRowSet.java | 706 + .../hive/service/cli/thrift/TSessionHandle.java | 394 + .../apache/hive/service/cli/thrift/TStatus.java | 875 + .../hive/service/cli/thrift/TStatusCode.java | 54 + .../hive/service/cli/thrift/TStringColumn.java | 548 + .../hive/service/cli/thrift/TStringValue.java | 393 + .../service/cli/thrift/TStructTypeEntry.java | 452 + .../hive/service/cli/thrift/TTableSchema.java | 443 + .../hive/service/cli/thrift/TTypeDesc.java | 443 + .../hive/service/cli/thrift/TTypeEntry.java | 614 + .../apache/hive/service/cli/thrift/TTypeId.java | 105 + .../service/cli/thrift/TTypeQualifierValue.java | 365 + .../service/cli/thrift/TTypeQualifiers.java | 454 + .../service/cli/thrift/TUnionTypeEntry.java | 452 + .../cli/thrift/TUserDefinedTypeEntry.java | 389 + service/src/gen/thrift/gen-php/TCLIService.php | 4140 +++++ service/src/gen/thrift/gen-php/ThriftHive.php | 1943 ++ service/src/gen/thrift/gen-php/Types.php | 338 + .../gen-py/TCLIService/TCLIService-remote | 220 + .../thrift/gen-py/TCLIService/TCLIService.py | 3643 ++++ .../gen/thrift/gen-py/TCLIService/__init__.py | 1 + .../gen/thrift/gen-py/TCLIService/constants.py | 67 + .../src/gen/thrift/gen-py/TCLIService/ttypes.py | 6857 +++++++ service/src/gen/thrift/gen-py/__init__.py | 0 .../gen-py/hive_service/ThriftHive-remote | 1172 ++ .../thrift/gen-py/hive_service/ThriftHive.py | 1674 ++ .../gen/thrift/gen-py/hive_service/__init__.py | 1 + .../gen/thrift/gen-py/hive_service/constants.py | 11 + .../gen/thrift/gen-py/hive_service/ttypes.py | 260 + .../gen/thrift/gen-rb/hive_service_constants.rb | 9 + .../src/gen/thrift/gen-rb/hive_service_types.rb | 68 + .../src/gen/thrift/gen-rb/t_c_l_i_service.rb | 1050 ++ .../thrift/gen-rb/t_c_l_i_service_constants.rb | 72 + .../gen/thrift/gen-rb/t_c_l_i_service_types.rb | 1763 ++ service/src/gen/thrift/gen-rb/thrift_hive.rb | 555 + .../apache/hive/service/AbstractService.java | 2 +- .../apache/hive/service/BreakableService.java | 1 + .../apache/hive/service/CompositeService.java | 2 +- .../org/apache/hive/service/CookieSigner.java | 8 +- .../apache/hive/service/ServiceOperations.java | 2 +- .../apache/hive/service/auth/HttpAuthUtils.java | 4 +- .../hive/service/auth/KerberosSaslHelper.java | 5 +- .../auth/LdapAuthenticationProviderImpl.java | 12 +- .../auth/PamAuthenticationProviderImpl.java | 1 - .../hive/service/auth/PlainSaslHelper.java | 3 +- .../hive/service/auth/PlainSaslServer.java | 1 - .../service/auth/TSetIpAddressProcessor.java | 4 +- .../service/auth/TSubjectAssumingTransport.java | 1 - .../org/apache/hive/service/cli/CLIService.java | 6 +- .../org/apache/hive/service/cli/Column.java | 19 +- .../apache/hive/service/cli/ColumnBasedSet.java | 6 +- .../hive/service/cli/ColumnDescriptor.java | 2 +- .../apache/hive/service/cli/ColumnValue.java | 16 +- .../hive/service/cli/FetchOrientation.java | 2 +- .../apache/hive/service/cli/GetInfoType.java | 2 +- .../apache/hive/service/cli/GetInfoValue.java | 2 +- .../org/apache/hive/service/cli/Handle.java | 2 +- .../hive/service/cli/HandleIdentifier.java | 2 +- .../hive/service/cli/HiveSQLException.java | 8 +- .../apache/hive/service/cli/ICLIService.java | 3 + .../hive/service/cli/OperationHandle.java | 4 +- .../apache/hive/service/cli/OperationState.java | 2 +- .../apache/hive/service/cli/OperationType.java | 2 +- .../apache/hive/service/cli/RowBasedSet.java | 6 +- .../org/apache/hive/service/cli/RowSet.java | 2 +- .../apache/hive/service/cli/RowSetFactory.java | 6 +- .../apache/hive/service/cli/SessionHandle.java | 4 +- .../apache/hive/service/cli/TableSchema.java | 4 +- .../java/org/apache/hive/service/cli/Type.java | 2 +- .../apache/hive/service/cli/TypeDescriptor.java | 6 +- .../apache/hive/service/cli/TypeQualifiers.java | 6 +- .../cli/operation/ClassicTableTypeMapping.java | 12 +- .../cli/operation/GetColumnsOperation.java | 1 + .../cli/operation/GetFunctionsOperation.java | 1 + .../cli/operation/GetSchemasOperation.java | 8 + .../cli/operation/HiveCommandOperation.java | 2 +- .../cli/operation/HiveTableTypeMapping.java | 5 +- .../hive/service/cli/operation/Operation.java | 10 +- .../service/cli/session/HiveSessionBase.java | 6 +- .../service/cli/session/HiveSessionImpl.java | 6 +- .../cli/session/HiveSessionImplwithUGI.java | 6 +- .../service/cli/session/SessionManager.java | 2 +- .../thrift/RetryingThriftCLIServiceClient.java | 43 +- .../service/cli/thrift/ThriftCLIService.java | 47 +- .../cli/thrift/ThriftCLIServiceClient.java | 56 +- .../cli/thrift/ThriftHttpCLIService.java | 3 +- .../service/cli/thrift/ThriftHttpServlet.java | 7 +- .../server/ThreadWithGarbageCleanup.java | 4 +- .../hive/service/cli/TestHiveSQLException.java | 4 +- .../session/TestPluggableHiveSessionImpl.java | 2 +- spark-client/pom.xml | 5 - 297 files changed, 119375 insertions(+), 106359 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/bin/ext/hiveserver2.sh ---------------------------------------------------------------------- diff --git a/bin/ext/hiveserver2.sh b/bin/ext/hiveserver2.sh index 1f02bb4..42d3d79 100644 --- a/bin/ext/hiveserver2.sh +++ b/bin/ext/hiveserver2.sh @@ -21,7 +21,7 @@ hiveserver2() { if $cygwin; then HIVE_LIB=`cygpath -w "$HIVE_LIB"` fi - JAR=${HIVE_LIB}/hive-service-[0-9].*.jar + JAR=${HIVE_LIB}/hive-service-*.jar exec $HADOOP jar $JAR $CLASS $HIVE_OPTS "$@" } http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/bin/ext/metastore.sh ---------------------------------------------------------------------- diff --git a/bin/ext/metastore.sh b/bin/ext/metastore.sh index 095e6e2..22b2d5d 100644 --- a/bin/ext/metastore.sh +++ b/bin/ext/metastore.sh @@ -22,7 +22,7 @@ metastore() { if $cygwin; then HIVE_LIB=`cygpath -w "$HIVE_LIB"` fi - JAR=${HIVE_LIB}/hive-metastore-*.jar + JAR=${HIVE_LIB}/hive-service-*.jar # hadoop 20 or newer - skip the aux_jars option and hiveconf http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java ---------------------------------------------------------------------- diff --git a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java index 4b23385..8a32a07 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java @@ -23,7 +23,7 @@ import org.apache.hive.service.cli.HiveSQLException; import org.apache.hive.service.cli.OperationHandle; import org.apache.hive.service.cli.operation.ExecuteStatementOperation; import org.apache.hive.service.cli.operation.OperationManager; -import org.apache.hive.service.rpc.thrift.TProtocolVersion; +import org.apache.hive.service.cli.thrift.TProtocolVersion; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIService.java ---------------------------------------------------------------------- diff --git a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIService.java b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIService.java index 3ed6dd8..b1e53a6 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIService.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIService.java @@ -30,8 +30,6 @@ import org.apache.hadoop.hive.conf.HiveConf.ConfVars; import org.apache.hive.jdbc.HttpBasicAuthInterceptor; import org.apache.hive.service.auth.HiveAuthFactory; import org.apache.hive.service.auth.HiveAuthFactory.AuthTypes; -import org.apache.hive.service.rpc.thrift.TCLIService; -import org.apache.hive.service.rpc.thrift.TOpenSessionReq; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.client.CookieStore; @@ -238,4 +236,4 @@ public class TestThriftHttpCLIService extends ThriftCLIServiceTest { assertTrue(h.contains("key2:value2")); } } -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/pom.xml ---------------------------------------------------------------------- diff --git a/jdbc/pom.xml b/jdbc/pom.xml index f87ab59..da6c291 100644 --- a/jdbc/pom.xml +++ b/jdbc/pom.xml @@ -66,11 +66,6 @@ <artifactId>hive-shims</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.hive</groupId> - <artifactId>hive-service-rpc</artifactId> - <version>${project.version}</version> - </dependency> <!-- inter-project --> <dependency> <groupId>org.apache.httpcomponents</groupId> http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java b/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java index c3a17c1..31ad1f1 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java @@ -24,18 +24,18 @@ import org.apache.hive.service.auth.KerberosSaslHelper; import org.apache.hive.service.auth.PlainSaslHelper; import org.apache.hive.service.auth.SaslQOP; import org.apache.hive.service.cli.thrift.EmbeddedThriftBinaryCLIService; -import org.apache.hive.service.rpc.thrift.TCLIService; -import org.apache.hive.service.rpc.thrift.TCancelDelegationTokenReq; -import org.apache.hive.service.rpc.thrift.TCancelDelegationTokenResp; -import org.apache.hive.service.rpc.thrift.TCloseSessionReq; -import org.apache.hive.service.rpc.thrift.TGetDelegationTokenReq; -import org.apache.hive.service.rpc.thrift.TGetDelegationTokenResp; -import org.apache.hive.service.rpc.thrift.TOpenSessionReq; -import org.apache.hive.service.rpc.thrift.TOpenSessionResp; -import org.apache.hive.service.rpc.thrift.TProtocolVersion; -import org.apache.hive.service.rpc.thrift.TRenewDelegationTokenReq; -import org.apache.hive.service.rpc.thrift.TRenewDelegationTokenResp; -import org.apache.hive.service.rpc.thrift.TSessionHandle; +import org.apache.hive.service.cli.thrift.TCLIService; +import org.apache.hive.service.cli.thrift.TCancelDelegationTokenReq; +import org.apache.hive.service.cli.thrift.TCancelDelegationTokenResp; +import org.apache.hive.service.cli.thrift.TCloseSessionReq; +import org.apache.hive.service.cli.thrift.TGetDelegationTokenReq; +import org.apache.hive.service.cli.thrift.TGetDelegationTokenResp; +import org.apache.hive.service.cli.thrift.TOpenSessionReq; +import org.apache.hive.service.cli.thrift.TOpenSessionResp; +import org.apache.hive.service.cli.thrift.TProtocolVersion; +import org.apache.hive.service.cli.thrift.TRenewDelegationTokenReq; +import org.apache.hive.service.cli.thrift.TRenewDelegationTokenResp; +import org.apache.hive.service.cli.thrift.TSessionHandle; import org.apache.http.HttpRequestInterceptor; import org.apache.http.HttpResponse; import org.apache.http.client.CookieStore; http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java b/jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java index 7e54d1f..a73f443 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HiveDatabaseMetaData.java @@ -29,26 +29,25 @@ import java.util.jar.Attributes; import org.apache.hadoop.hive.metastore.TableType; import org.apache.hive.service.cli.GetInfoType; -import org.apache.hive.service.rpc.thrift.TCLIService; -import org.apache.hive.service.rpc.thrift.TCLIService.Iface; -import org.apache.hive.service.rpc.thrift.TGetCatalogsReq; -import org.apache.hive.service.rpc.thrift.TGetCatalogsResp; -import org.apache.hive.service.rpc.thrift.TGetColumnsReq; -import org.apache.hive.service.rpc.thrift.TGetColumnsResp; -import org.apache.hive.service.rpc.thrift.TGetFunctionsReq; -import org.apache.hive.service.rpc.thrift.TGetFunctionsResp; -import org.apache.hive.service.rpc.thrift.TGetInfoReq; -import org.apache.hive.service.rpc.thrift.TGetInfoResp; -import org.apache.hive.service.rpc.thrift.TGetInfoType; -import org.apache.hive.service.rpc.thrift.TGetSchemasReq; -import org.apache.hive.service.rpc.thrift.TGetSchemasResp; -import org.apache.hive.service.rpc.thrift.TGetTableTypesReq; -import org.apache.hive.service.rpc.thrift.TGetTableTypesResp; -import org.apache.hive.service.rpc.thrift.TGetTablesReq; -import org.apache.hive.service.rpc.thrift.TGetTablesResp; -import org.apache.hive.service.rpc.thrift.TGetTypeInfoReq; -import org.apache.hive.service.rpc.thrift.TGetTypeInfoResp; -import org.apache.hive.service.rpc.thrift.TSessionHandle; +import org.apache.hive.service.cli.thrift.TCLIService; +import org.apache.hive.service.cli.thrift.TGetCatalogsReq; +import org.apache.hive.service.cli.thrift.TGetCatalogsResp; +import org.apache.hive.service.cli.thrift.TGetColumnsReq; +import org.apache.hive.service.cli.thrift.TGetColumnsResp; +import org.apache.hive.service.cli.thrift.TGetFunctionsReq; +import org.apache.hive.service.cli.thrift.TGetFunctionsResp; +import org.apache.hive.service.cli.thrift.TGetInfoReq; +import org.apache.hive.service.cli.thrift.TGetInfoResp; +import org.apache.hive.service.cli.thrift.TGetInfoType; +import org.apache.hive.service.cli.thrift.TGetSchemasReq; +import org.apache.hive.service.cli.thrift.TGetSchemasResp; +import org.apache.hive.service.cli.thrift.TGetTableTypesReq; +import org.apache.hive.service.cli.thrift.TGetTableTypesResp; +import org.apache.hive.service.cli.thrift.TGetTablesReq; +import org.apache.hive.service.cli.thrift.TGetTablesResp; +import org.apache.hive.service.cli.thrift.TGetTypeInfoReq; +import org.apache.hive.service.cli.thrift.TGetTypeInfoResp; +import org.apache.hive.service.cli.thrift.TSessionHandle; import org.apache.thrift.TException; /** http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java b/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java index 705a32a..c28b7d6 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java @@ -43,8 +43,8 @@ import java.util.Calendar; import java.util.HashMap; import java.util.Scanner; -import org.apache.hive.service.rpc.thrift.TCLIService; -import org.apache.hive.service.rpc.thrift.TSessionHandle; +import org.apache.hive.service.cli.thrift.TCLIService; +import org.apache.hive.service.cli.thrift.TSessionHandle; /** * HivePreparedStatement. http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java b/jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java index 8f67209..245c6a3 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java @@ -18,42 +18,42 @@ package org.apache.hive.jdbc; -import static org.apache.hive.service.rpc.thrift.TCLIServiceConstants.TYPE_NAMES; +import static org.apache.hive.service.cli.thrift.TCLIServiceConstants.TYPE_NAMES; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; -import java.sql.SQLException; import java.sql.Statement; +import java.sql.SQLException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.locks.ReentrantLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hive.service.cli.RowSet; import org.apache.hive.service.cli.RowSetFactory; import org.apache.hive.service.cli.TableSchema; -import org.apache.hive.service.rpc.thrift.TCLIService; -import org.apache.hive.service.rpc.thrift.TCLIServiceConstants; -import org.apache.hive.service.rpc.thrift.TCloseOperationReq; -import org.apache.hive.service.rpc.thrift.TCloseOperationResp; -import org.apache.hive.service.rpc.thrift.TColumnDesc; -import org.apache.hive.service.rpc.thrift.TFetchOrientation; -import org.apache.hive.service.rpc.thrift.TFetchResultsReq; -import org.apache.hive.service.rpc.thrift.TFetchResultsResp; -import org.apache.hive.service.rpc.thrift.TGetResultSetMetadataReq; -import org.apache.hive.service.rpc.thrift.TGetResultSetMetadataResp; -import org.apache.hive.service.rpc.thrift.TOperationHandle; -import org.apache.hive.service.rpc.thrift.TPrimitiveTypeEntry; -import org.apache.hive.service.rpc.thrift.TProtocolVersion; -import org.apache.hive.service.rpc.thrift.TRowSet; -import org.apache.hive.service.rpc.thrift.TSessionHandle; -import org.apache.hive.service.rpc.thrift.TTableSchema; -import org.apache.hive.service.rpc.thrift.TTypeQualifierValue; -import org.apache.hive.service.rpc.thrift.TTypeQualifiers; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.hive.service.cli.thrift.TCLIService; +import org.apache.hive.service.cli.thrift.TCLIServiceConstants; +import org.apache.hive.service.cli.thrift.TCloseOperationReq; +import org.apache.hive.service.cli.thrift.TCloseOperationResp; +import org.apache.hive.service.cli.thrift.TColumnDesc; +import org.apache.hive.service.cli.thrift.TFetchOrientation; +import org.apache.hive.service.cli.thrift.TFetchResultsReq; +import org.apache.hive.service.cli.thrift.TFetchResultsResp; +import org.apache.hive.service.cli.thrift.TGetResultSetMetadataReq; +import org.apache.hive.service.cli.thrift.TGetResultSetMetadataResp; +import org.apache.hive.service.cli.thrift.TOperationHandle; +import org.apache.hive.service.cli.thrift.TPrimitiveTypeEntry; +import org.apache.hive.service.cli.thrift.TProtocolVersion; +import org.apache.hive.service.cli.thrift.TRowSet; +import org.apache.hive.service.cli.thrift.TSessionHandle; +import org.apache.hive.service.cli.thrift.TTableSchema; +import org.apache.hive.service.cli.thrift.TTypeQualifierValue; +import org.apache.hive.service.cli.thrift.TTypeQualifiers; /** * HiveQueryResultSet. http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java b/jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java index 16a0894..aa6f58a 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HiveResultSetMetaData.java @@ -21,7 +21,6 @@ package org.apache.hive.jdbc; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.List; - import org.apache.hive.service.cli.Type; /** http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java b/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java index b4dba44..3f9024a 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java @@ -20,20 +20,20 @@ package org.apache.hive.jdbc; import org.apache.hive.service.cli.RowSet; import org.apache.hive.service.cli.RowSetFactory; -import org.apache.hive.service.rpc.thrift.TCLIService; -import org.apache.hive.service.rpc.thrift.TCancelOperationReq; -import org.apache.hive.service.rpc.thrift.TCancelOperationResp; -import org.apache.hive.service.rpc.thrift.TCloseOperationReq; -import org.apache.hive.service.rpc.thrift.TCloseOperationResp; -import org.apache.hive.service.rpc.thrift.TExecuteStatementReq; -import org.apache.hive.service.rpc.thrift.TExecuteStatementResp; -import org.apache.hive.service.rpc.thrift.TFetchOrientation; -import org.apache.hive.service.rpc.thrift.TFetchResultsReq; -import org.apache.hive.service.rpc.thrift.TFetchResultsResp; -import org.apache.hive.service.rpc.thrift.TGetOperationStatusReq; -import org.apache.hive.service.rpc.thrift.TGetOperationStatusResp; -import org.apache.hive.service.rpc.thrift.TOperationHandle; -import org.apache.hive.service.rpc.thrift.TSessionHandle; +import org.apache.hive.service.cli.thrift.TCLIService; +import org.apache.hive.service.cli.thrift.TCancelOperationReq; +import org.apache.hive.service.cli.thrift.TCancelOperationResp; +import org.apache.hive.service.cli.thrift.TCloseOperationReq; +import org.apache.hive.service.cli.thrift.TCloseOperationResp; +import org.apache.hive.service.cli.thrift.TExecuteStatementReq; +import org.apache.hive.service.cli.thrift.TExecuteStatementResp; +import org.apache.hive.service.cli.thrift.TFetchOrientation; +import org.apache.hive.service.cli.thrift.TFetchResultsReq; +import org.apache.hive.service.cli.thrift.TFetchResultsResp; +import org.apache.hive.service.cli.thrift.TGetOperationStatusReq; +import org.apache.hive.service.cli.thrift.TGetOperationStatusResp; +import org.apache.hive.service.cli.thrift.TOperationHandle; +import org.apache.hive.service.cli.thrift.TSessionHandle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java b/jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java index 691fd0e..a941f3d 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java +++ b/jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java @@ -18,17 +18,17 @@ package org.apache.hive.jdbc; +import org.apache.hadoop.hive.common.type.HiveIntervalDayTime; +import org.apache.hadoop.hive.common.type.HiveIntervalYearMonth; +import org.apache.hadoop.hive.serde.serdeConstants; +import org.apache.hive.service.cli.Type; + import java.math.BigInteger; import java.sql.Date; import java.sql.SQLException; import java.sql.Timestamp; import java.sql.Types; -import org.apache.hadoop.hive.common.type.HiveIntervalDayTime; -import org.apache.hadoop.hive.common.type.HiveIntervalYearMonth; -import org.apache.hadoop.hive.serde.serdeConstants; -import org.apache.hive.service.cli.Type; - /** * Column metadata. http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/java/org/apache/hive/jdbc/Utils.java ---------------------------------------------------------------------- diff --git a/jdbc/src/java/org/apache/hive/jdbc/Utils.java b/jdbc/src/java/org/apache/hive/jdbc/Utils.java index b27e7bf..c9fbe1f 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/Utils.java +++ b/jdbc/src/java/org/apache/hive/jdbc/Utils.java @@ -30,8 +30,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.hive.service.cli.HiveSQLException; -import org.apache.hive.service.rpc.thrift.TStatus; -import org.apache.hive.service.rpc.thrift.TStatusCode; +import org.apache.hive.service.cli.thrift.TStatus; +import org.apache.hive.service.cli.thrift.TStatusCode; import org.apache.http.client.CookieStore; import org.apache.http.cookie.Cookie; import org.slf4j.Logger; http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/jdbc/src/test/org/apache/hive/jdbc/HiveStatementTest.java ---------------------------------------------------------------------- diff --git a/jdbc/src/test/org/apache/hive/jdbc/HiveStatementTest.java b/jdbc/src/test/org/apache/hive/jdbc/HiveStatementTest.java index 3ccd5df..1acdb4c 100644 --- a/jdbc/src/test/org/apache/hive/jdbc/HiveStatementTest.java +++ b/jdbc/src/test/org/apache/hive/jdbc/HiveStatementTest.java @@ -17,11 +17,11 @@ */ package org.apache.hive.jdbc; -import static org.junit.Assert.assertEquals; +import org.junit.Test; import java.sql.SQLException; -import org.junit.Test; +import static org.junit.Assert.assertEquals; public class HiveStatementTest { http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/packaging/pom.xml ---------------------------------------------------------------------- diff --git a/packaging/pom.xml b/packaging/pom.xml index 4ebd386..9ad3bde 100644 --- a/packaging/pom.xml +++ b/packaging/pom.xml @@ -121,11 +121,6 @@ </dependency> <dependency> <groupId>org.apache.hive</groupId> - <artifactId>hive-service-rpc</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.apache.hive</groupId> <artifactId>hive-service</artifactId> <version>${project.version}</version> </dependency> http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 848432c..f64d363 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,6 @@ <module>orc</module> <module>ql</module> <module>serde</module> - <module>service-rpc</module> <module>service</module> <module>llap-server</module> <module>llap-client</module> http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/service-rpc/if/TCLIService.thrift ---------------------------------------------------------------------- diff --git a/service-rpc/if/TCLIService.thrift b/service-rpc/if/TCLIService.thrift deleted file mode 100644 index 0aa9d13..0000000 --- a/service-rpc/if/TCLIService.thrift +++ /dev/null @@ -1,1174 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Coding Conventions for this file: -// -// Structs/Enums/Unions -// * Struct, Enum, and Union names begin with a "T", -// and use a capital letter for each new word, with no underscores. -// * All fields should be declared as either optional or required. -// -// Functions -// * Function names start with a capital letter and have a capital letter for -// each new word, with no underscores. -// * Each function should take exactly one parameter, named TFunctionNameReq, -// and should return either void or TFunctionNameResp. This convention allows -// incremental updates. -// -// Services -// * Service names begin with the letter "T", use a capital letter for each -// new word (with no underscores), and end with the word "Service". - -namespace java org.apache.hive.service.rpc.thrift -namespace cpp apache.hive.service.rpc.thrift - -// List of protocol versions. A new token should be -// added to the end of this list every time a change is made. -enum TProtocolVersion { - HIVE_CLI_SERVICE_PROTOCOL_V1, - - // V2 adds support for asynchronous execution - HIVE_CLI_SERVICE_PROTOCOL_V2 - - // V3 add varchar type, primitive type qualifiers - HIVE_CLI_SERVICE_PROTOCOL_V3 - - // V4 add decimal precision/scale, char type - HIVE_CLI_SERVICE_PROTOCOL_V4 - - // V5 adds error details when GetOperationStatus returns in error state - HIVE_CLI_SERVICE_PROTOCOL_V5 - - // V6 uses binary type for binary payload (was string) and uses columnar result set - HIVE_CLI_SERVICE_PROTOCOL_V6 - - // V7 adds support for delegation token based connection - HIVE_CLI_SERVICE_PROTOCOL_V7 - - // V8 adds support for interval types - HIVE_CLI_SERVICE_PROTOCOL_V8 -} - -enum TTypeId { - BOOLEAN_TYPE, - TINYINT_TYPE, - SMALLINT_TYPE, - INT_TYPE, - BIGINT_TYPE, - FLOAT_TYPE, - DOUBLE_TYPE, - STRING_TYPE, - TIMESTAMP_TYPE, - BINARY_TYPE, - ARRAY_TYPE, - MAP_TYPE, - STRUCT_TYPE, - UNION_TYPE, - USER_DEFINED_TYPE, - DECIMAL_TYPE, - NULL_TYPE, - DATE_TYPE, - VARCHAR_TYPE, - CHAR_TYPE, - INTERVAL_YEAR_MONTH_TYPE, - INTERVAL_DAY_TIME_TYPE -} - -const set<TTypeId> PRIMITIVE_TYPES = [ - TTypeId.BOOLEAN_TYPE, - TTypeId.TINYINT_TYPE, - TTypeId.SMALLINT_TYPE, - TTypeId.INT_TYPE, - TTypeId.BIGINT_TYPE, - TTypeId.FLOAT_TYPE, - TTypeId.DOUBLE_TYPE, - TTypeId.STRING_TYPE, - TTypeId.TIMESTAMP_TYPE, - TTypeId.BINARY_TYPE, - TTypeId.DECIMAL_TYPE, - TTypeId.NULL_TYPE, - TTypeId.DATE_TYPE, - TTypeId.VARCHAR_TYPE, - TTypeId.CHAR_TYPE, - TTypeId.INTERVAL_YEAR_MONTH_TYPE, - TTypeId.INTERVAL_DAY_TIME_TYPE -] - -const set<TTypeId> COMPLEX_TYPES = [ - TTypeId.ARRAY_TYPE - TTypeId.MAP_TYPE - TTypeId.STRUCT_TYPE - TTypeId.UNION_TYPE - TTypeId.USER_DEFINED_TYPE -] - -const set<TTypeId> COLLECTION_TYPES = [ - TTypeId.ARRAY_TYPE - TTypeId.MAP_TYPE -] - -const map<TTypeId,string> TYPE_NAMES = { - TTypeId.BOOLEAN_TYPE: "BOOLEAN", - TTypeId.TINYINT_TYPE: "TINYINT", - TTypeId.SMALLINT_TYPE: "SMALLINT", - TTypeId.INT_TYPE: "INT", - TTypeId.BIGINT_TYPE: "BIGINT", - TTypeId.FLOAT_TYPE: "FLOAT", - TTypeId.DOUBLE_TYPE: "DOUBLE", - TTypeId.STRING_TYPE: "STRING", - TTypeId.TIMESTAMP_TYPE: "TIMESTAMP", - TTypeId.BINARY_TYPE: "BINARY", - TTypeId.ARRAY_TYPE: "ARRAY", - TTypeId.MAP_TYPE: "MAP", - TTypeId.STRUCT_TYPE: "STRUCT", - TTypeId.UNION_TYPE: "UNIONTYPE", - TTypeId.DECIMAL_TYPE: "DECIMAL", - TTypeId.NULL_TYPE: "NULL" - TTypeId.DATE_TYPE: "DATE" - TTypeId.VARCHAR_TYPE: "VARCHAR" - TTypeId.CHAR_TYPE: "CHAR" - TTypeId.INTERVAL_YEAR_MONTH_TYPE: "INTERVAL_YEAR_MONTH" - TTypeId.INTERVAL_DAY_TIME_TYPE: "INTERVAL_DAY_TIME" -} - -// Thrift does not support recursively defined types or forward declarations, -// which makes it difficult to represent Hive's nested types. -// To get around these limitations TTypeDesc employs a type list that maps -// integer "pointers" to TTypeEntry objects. The following examples show -// how different types are represented using this scheme: -// -// "INT": -// TTypeDesc { -// types = [ -// TTypeEntry.primitive_entry { -// type = INT_TYPE -// } -// ] -// } -// -// "ARRAY<INT>": -// TTypeDesc { -// types = [ -// TTypeEntry.array_entry { -// object_type_ptr = 1 -// }, -// TTypeEntry.primitive_entry { -// type = INT_TYPE -// } -// ] -// } -// -// "MAP<INT,STRING>": -// TTypeDesc { -// types = [ -// TTypeEntry.map_entry { -// key_type_ptr = 1 -// value_type_ptr = 2 -// }, -// TTypeEntry.primitive_entry { -// type = INT_TYPE -// }, -// TTypeEntry.primitive_entry { -// type = STRING_TYPE -// } -// ] -// } - -typedef i32 TTypeEntryPtr - -// Valid TTypeQualifiers key names -const string CHARACTER_MAXIMUM_LENGTH = "characterMaximumLength" - -// Type qualifier key name for decimal -const string PRECISION = "precision" -const string SCALE = "scale" - -union TTypeQualifierValue { - 1: optional i32 i32Value - 2: optional string stringValue -} - -// Type qualifiers for primitive type. -struct TTypeQualifiers { - 1: required map <string, TTypeQualifierValue> qualifiers -} - -// Type entry for a primitive type. -struct TPrimitiveTypeEntry { - // The primitive type token. This must satisfy the condition - // that type is in the PRIMITIVE_TYPES set. - 1: required TTypeId type - 2: optional TTypeQualifiers typeQualifiers -} - -// Type entry for an ARRAY type. -struct TArrayTypeEntry { - 1: required TTypeEntryPtr objectTypePtr -} - -// Type entry for a MAP type. -struct TMapTypeEntry { - 1: required TTypeEntryPtr keyTypePtr - 2: required TTypeEntryPtr valueTypePtr -} - -// Type entry for a STRUCT type. -struct TStructTypeEntry { - 1: required map<string, TTypeEntryPtr> nameToTypePtr -} - -// Type entry for a UNIONTYPE type. -struct TUnionTypeEntry { - 1: required map<string, TTypeEntryPtr> nameToTypePtr -} - -struct TUserDefinedTypeEntry { - // The fully qualified name of the class implementing this type. - 1: required string typeClassName -} - -// We use a union here since Thrift does not support inheritance. -union TTypeEntry { - 1: TPrimitiveTypeEntry primitiveEntry - 2: TArrayTypeEntry arrayEntry - 3: TMapTypeEntry mapEntry - 4: TStructTypeEntry structEntry - 5: TUnionTypeEntry unionEntry - 6: TUserDefinedTypeEntry userDefinedTypeEntry -} - -// Type descriptor for columns. -struct TTypeDesc { - // The "top" type is always the first element of the list. - // If the top type is an ARRAY, MAP, STRUCT, or UNIONTYPE - // type, then subsequent elements represent nested types. - 1: required list<TTypeEntry> types -} - -// A result set column descriptor. -struct TColumnDesc { - // The name of the column - 1: required string columnName - - // The type descriptor for this column - 2: required TTypeDesc typeDesc - - // The ordinal position of this column in the schema - 3: required i32 position - - 4: optional string comment -} - -// Metadata used to describe the schema (column names, types, comments) -// of result sets. -struct TTableSchema { - 1: required list<TColumnDesc> columns -} - -// A Boolean column value. -struct TBoolValue { - // NULL if value is unset. - 1: optional bool value -} - -// A Byte column value. -struct TByteValue { - // NULL if value is unset. - 1: optional byte value -} - -// A signed, 16 bit column value. -struct TI16Value { - // NULL if value is unset - 1: optional i16 value -} - -// A signed, 32 bit column value -struct TI32Value { - // NULL if value is unset - 1: optional i32 value -} - -// A signed 64 bit column value -struct TI64Value { - // NULL if value is unset - 1: optional i64 value -} - -// A floating point 64 bit column value -struct TDoubleValue { - // NULL if value is unset - 1: optional double value -} - -struct TStringValue { - // NULL if value is unset - 1: optional string value -} - -// A single column value in a result set. -// Note that Hive's type system is richer than Thrift's, -// so in some cases we have to map multiple Hive types -// to the same Thrift type. On the client-side this is -// disambiguated by looking at the Schema of the -// result set. -union TColumnValue { - 1: TBoolValue boolVal // BOOLEAN - 2: TByteValue byteVal // TINYINT - 3: TI16Value i16Val // SMALLINT - 4: TI32Value i32Val // INT - 5: TI64Value i64Val // BIGINT, TIMESTAMP - 6: TDoubleValue doubleVal // FLOAT, DOUBLE - 7: TStringValue stringVal // STRING, LIST, MAP, STRUCT, UNIONTYPE, BINARY, DECIMAL, NULL, INTERVAL_YEAR_MONTH, INTERVAL_DAY_TIME -} - -// Represents a row in a rowset. -struct TRow { - 1: required list<TColumnValue> colVals -} - -struct TBoolColumn { - 1: required list<bool> values - 2: required binary nulls -} - -struct TByteColumn { - 1: required list<byte> values - 2: required binary nulls -} - -struct TI16Column { - 1: required list<i16> values - 2: required binary nulls -} - -struct TI32Column { - 1: required list<i32> values - 2: required binary nulls -} - -struct TI64Column { - 1: required list<i64> values - 2: required binary nulls -} - -struct TDoubleColumn { - 1: required list<double> values - 2: required binary nulls -} - -struct TStringColumn { - 1: required list<string> values - 2: required binary nulls -} - -struct TBinaryColumn { - 1: required list<binary> values - 2: required binary nulls -} - -// Note that Hive's type system is richer than Thrift's, -// so in some cases we have to map multiple Hive types -// to the same Thrift type. On the client-side this is -// disambiguated by looking at the Schema of the -// result set. -union TColumn { - 1: TBoolColumn boolVal // BOOLEAN - 2: TByteColumn byteVal // TINYINT - 3: TI16Column i16Val // SMALLINT - 4: TI32Column i32Val // INT - 5: TI64Column i64Val // BIGINT, TIMESTAMP - 6: TDoubleColumn doubleVal // FLOAT, DOUBLE - 7: TStringColumn stringVal // STRING, LIST, MAP, STRUCT, UNIONTYPE, DECIMAL, NULL - 8: TBinaryColumn binaryVal // BINARY -} - -// Represents a rowset -struct TRowSet { - // The starting row offset of this rowset. - 1: required i64 startRowOffset - 2: required list<TRow> rows - 3: optional list<TColumn> columns -} - -// The return status code contained in each response. -enum TStatusCode { - SUCCESS_STATUS, - SUCCESS_WITH_INFO_STATUS, - STILL_EXECUTING_STATUS, - ERROR_STATUS, - INVALID_HANDLE_STATUS -} - -// The return status of a remote request -struct TStatus { - 1: required TStatusCode statusCode - - // If status is SUCCESS_WITH_INFO, info_msgs may be populated with - // additional diagnostic information. - 2: optional list<string> infoMessages - - // If status is ERROR, then the following fields may be set - 3: optional string sqlState // as defined in the ISO/IEF CLI specification - 4: optional i32 errorCode // internal error code - 5: optional string errorMessage -} - -// The state of an operation (i.e. a query or other -// asynchronous operation that generates a result set) -// on the server. -enum TOperationState { - // The operation has been initialized - INITIALIZED_STATE, - - // The operation is running. In this state the result - // set is not available. - RUNNING_STATE, - - // The operation has completed. When an operation is in - // this state its result set may be fetched. - FINISHED_STATE, - - // The operation was canceled by a client - CANCELED_STATE, - - // The operation was closed by a client - CLOSED_STATE, - - // The operation failed due to an error - ERROR_STATE, - - // The operation is in an unrecognized state - UKNOWN_STATE, - - // The operation is in an pending state - PENDING_STATE, -} - -// A string identifier. This is interpreted literally. -typedef string TIdentifier - -// A search pattern. -// -// Valid search pattern characters: -// '_': Any single character. -// '%': Any sequence of zero or more characters. -// '\': Escape character used to include special characters, -// e.g. '_', '%', '\'. If a '\' precedes a non-special -// character it has no special meaning and is interpreted -// literally. -typedef string TPattern - - -// A search pattern or identifier. Used as input -// parameter for many of the catalog functions. -typedef string TPatternOrIdentifier - -struct THandleIdentifier { - // 16 byte globally unique identifier - // This is the public ID of the handle and - // can be used for reporting. - 1: required binary guid, - - // 16 byte secret generated by the server - // and used to verify that the handle is not - // being hijacked by another user. - 2: required binary secret, -} - -// Client-side handle to persistent -// session information on the server-side. -struct TSessionHandle { - 1: required THandleIdentifier sessionId -} - -// The subtype of an OperationHandle. -enum TOperationType { - EXECUTE_STATEMENT, - GET_TYPE_INFO, - GET_CATALOGS, - GET_SCHEMAS, - GET_TABLES, - GET_TABLE_TYPES, - GET_COLUMNS, - GET_FUNCTIONS, - UNKNOWN, -} - -// Client-side reference to a task running -// asynchronously on the server. -struct TOperationHandle { - 1: required THandleIdentifier operationId - 2: required TOperationType operationType - - // If hasResultSet = TRUE, then this operation - // generates a result set that can be fetched. - // Note that the result set may be empty. - // - // If hasResultSet = FALSE, then this operation - // does not generate a result set, and calling - // GetResultSetMetadata or FetchResults against - // this OperationHandle will generate an error. - 3: required bool hasResultSet - - // For operations that don't generate result sets, - // modifiedRowCount is either: - // - // 1) The number of rows that were modified by - // the DML operation (e.g. number of rows inserted, - // number of rows deleted, etc). - // - // 2) 0 for operations that don't modify or add rows. - // - // 3) < 0 if the operation is capable of modifiying rows, - // but Hive is unable to determine how many rows were - // modified. For example, Hive's LOAD DATA command - // doesn't generate row count information because - // Hive doesn't inspect the data as it is loaded. - // - // modifiedRowCount is unset if the operation generates - // a result set. - 4: optional double modifiedRowCount -} - - -// OpenSession() -// -// Open a session (connection) on the server against -// which operations may be executed. -struct TOpenSessionReq { - // The version of the HiveServer2 protocol that the client is using. - 1: required TProtocolVersion client_protocol = TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8 - - // Username and password for authentication. - // Depending on the authentication scheme being used, - // this information may instead be provided by a lower - // protocol layer, in which case these fields may be - // left unset. - 2: optional string username - 3: optional string password - - // Configuration overlay which is applied when the session is - // first created. - 4: optional map<string, string> configuration -} - -struct TOpenSessionResp { - 1: required TStatus status - - // The protocol version that the server is using. - 2: required TProtocolVersion serverProtocolVersion = TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8 - - // Session Handle - 3: optional TSessionHandle sessionHandle - - // The configuration settings for this session. - 4: optional map<string, string> configuration -} - - -// CloseSession() -// -// Closes the specified session and frees any resources -// currently allocated to that session. Any open -// operations in that session will be canceled. -struct TCloseSessionReq { - 1: required TSessionHandle sessionHandle -} - -struct TCloseSessionResp { - 1: required TStatus status -} - - - -enum TGetInfoType { - CLI_MAX_DRIVER_CONNECTIONS = 0, - CLI_MAX_CONCURRENT_ACTIVITIES = 1, - CLI_DATA_SOURCE_NAME = 2, - CLI_FETCH_DIRECTION = 8, - CLI_SERVER_NAME = 13, - CLI_SEARCH_PATTERN_ESCAPE = 14, - CLI_DBMS_NAME = 17, - CLI_DBMS_VER = 18, - CLI_ACCESSIBLE_TABLES = 19, - CLI_ACCESSIBLE_PROCEDURES = 20, - CLI_CURSOR_COMMIT_BEHAVIOR = 23, - CLI_DATA_SOURCE_READ_ONLY = 25, - CLI_DEFAULT_TXN_ISOLATION = 26, - CLI_IDENTIFIER_CASE = 28, - CLI_IDENTIFIER_QUOTE_CHAR = 29, - CLI_MAX_COLUMN_NAME_LEN = 30, - CLI_MAX_CURSOR_NAME_LEN = 31, - CLI_MAX_SCHEMA_NAME_LEN = 32, - CLI_MAX_CATALOG_NAME_LEN = 34, - CLI_MAX_TABLE_NAME_LEN = 35, - CLI_SCROLL_CONCURRENCY = 43, - CLI_TXN_CAPABLE = 46, - CLI_USER_NAME = 47, - CLI_TXN_ISOLATION_OPTION = 72, - CLI_INTEGRITY = 73, - CLI_GETDATA_EXTENSIONS = 81, - CLI_NULL_COLLATION = 85, - CLI_ALTER_TABLE = 86, - CLI_ORDER_BY_COLUMNS_IN_SELECT = 90, - CLI_SPECIAL_CHARACTERS = 94, - CLI_MAX_COLUMNS_IN_GROUP_BY = 97, - CLI_MAX_COLUMNS_IN_INDEX = 98, - CLI_MAX_COLUMNS_IN_ORDER_BY = 99, - CLI_MAX_COLUMNS_IN_SELECT = 100, - CLI_MAX_COLUMNS_IN_TABLE = 101, - CLI_MAX_INDEX_SIZE = 102, - CLI_MAX_ROW_SIZE = 104, - CLI_MAX_STATEMENT_LEN = 105, - CLI_MAX_TABLES_IN_SELECT = 106, - CLI_MAX_USER_NAME_LEN = 107, - CLI_OJ_CAPABILITIES = 115, - - CLI_XOPEN_CLI_YEAR = 10000, - CLI_CURSOR_SENSITIVITY = 10001, - CLI_DESCRIBE_PARAMETER = 10002, - CLI_CATALOG_NAME = 10003, - CLI_COLLATION_SEQ = 10004, - CLI_MAX_IDENTIFIER_LEN = 10005, -} - -union TGetInfoValue { - 1: string stringValue - 2: i16 smallIntValue - 3: i32 integerBitmask - 4: i32 integerFlag - 5: i32 binaryValue - 6: i64 lenValue -} - -// GetInfo() -// -// This function is based on ODBC's CLIGetInfo() function. -// The function returns general information about the data source -// using the same keys as ODBC. -struct TGetInfoReq { - // The sesssion to run this request against - 1: required TSessionHandle sessionHandle - - 2: required TGetInfoType infoType -} - -struct TGetInfoResp { - 1: required TStatus status - - 2: required TGetInfoValue infoValue -} - - -// ExecuteStatement() -// -// Execute a statement. -// The returned OperationHandle can be used to check on the -// status of the statement, and to fetch results once the -// statement has finished executing. -struct TExecuteStatementReq { - // The session to execute the statement against - 1: required TSessionHandle sessionHandle - - // The statement to be executed (DML, DDL, SET, etc) - 2: required string statement - - // Configuration properties that are overlayed on top of the - // the existing session configuration before this statement - // is executed. These properties apply to this statement - // only and will not affect the subsequent state of the Session. - 3: optional map<string, string> confOverlay - - // Execute asynchronously when runAsync is true - 4: optional bool runAsync = false -} - -struct TExecuteStatementResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - -// GetTypeInfo() -// -// Get information about types supported by the HiveServer instance. -// The information is returned as a result set which can be fetched -// using the OperationHandle provided in the response. -// -// Refer to the documentation for ODBC's CLIGetTypeInfo function for -// the format of the result set. -struct TGetTypeInfoReq { - // The session to run this request against. - 1: required TSessionHandle sessionHandle -} - -struct TGetTypeInfoResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetCatalogs() -// -// Returns the list of catalogs (databases) -// Results are ordered by TABLE_CATALOG -// -// Resultset columns : -// col1 -// name: TABLE_CAT -// type: STRING -// desc: Catalog name. NULL if not applicable. -// -struct TGetCatalogsReq { - // Session to run this request against - 1: required TSessionHandle sessionHandle -} - -struct TGetCatalogsResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetSchemas() -// -// Retrieves the schema names available in this database. -// The results are ordered by TABLE_CATALOG and TABLE_SCHEM. -// col1 -// name: TABLE_SCHEM -// type: STRING -// desc: schema name -// col2 -// name: TABLE_CATALOG -// type: STRING -// desc: catalog name -struct TGetSchemasReq { - // Session to run this request against - 1: required TSessionHandle sessionHandle - - // Name of the catalog. Must not contain a search pattern. - 2: optional TIdentifier catalogName - - // schema name or pattern - 3: optional TPatternOrIdentifier schemaName -} - -struct TGetSchemasResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetTables() -// -// Returns a list of tables with catalog, schema, and table -// type information. The information is returned as a result -// set which can be fetched using the OperationHandle -// provided in the response. -// Results are ordered by TABLE_TYPE, TABLE_CAT, TABLE_SCHEM, and TABLE_NAME -// -// Result Set Columns: -// -// col1 -// name: TABLE_CAT -// type: STRING -// desc: Catalog name. NULL if not applicable. -// -// col2 -// name: TABLE_SCHEM -// type: STRING -// desc: Schema name. -// -// col3 -// name: TABLE_NAME -// type: STRING -// desc: Table name. -// -// col4 -// name: TABLE_TYPE -// type: STRING -// desc: The table type, e.g. "TABLE", "VIEW", etc. -// -// col5 -// name: REMARKS -// type: STRING -// desc: Comments about the table -// -struct TGetTablesReq { - // Session to run this request against - 1: required TSessionHandle sessionHandle - - // Name of the catalog or a search pattern. - 2: optional TPatternOrIdentifier catalogName - - // Name of the schema or a search pattern. - 3: optional TPatternOrIdentifier schemaName - - // Name of the table or a search pattern. - 4: optional TPatternOrIdentifier tableName - - // List of table types to match - // e.g. "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", - // "LOCAL TEMPORARY", "ALIAS", "SYNONYM", etc. - 5: optional list<string> tableTypes -} - -struct TGetTablesResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetTableTypes() -// -// Returns the table types available in this database. -// The results are ordered by table type. -// -// col1 -// name: TABLE_TYPE -// type: STRING -// desc: Table type name. -struct TGetTableTypesReq { - // Session to run this request against - 1: required TSessionHandle sessionHandle -} - -struct TGetTableTypesResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetColumns() -// -// Returns a list of columns in the specified tables. -// The information is returned as a result set which can be fetched -// using the OperationHandle provided in the response. -// Results are ordered by TABLE_CAT, TABLE_SCHEM, TABLE_NAME, -// and ORDINAL_POSITION. -// -// Result Set Columns are the same as those for the ODBC CLIColumns -// function. -// -struct TGetColumnsReq { - // Session to run this request against - 1: required TSessionHandle sessionHandle - - // Name of the catalog. Must not contain a search pattern. - 2: optional TIdentifier catalogName - - // Schema name or search pattern - 3: optional TPatternOrIdentifier schemaName - - // Table name or search pattern - 4: optional TPatternOrIdentifier tableName - - // Column name or search pattern - 5: optional TPatternOrIdentifier columnName -} - -struct TGetColumnsResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetFunctions() -// -// Returns a list of functions supported by the data source. The -// behavior of this function matches -// java.sql.DatabaseMetaData.getFunctions() both in terms of -// inputs and outputs. -// -// Result Set Columns: -// -// col1 -// name: FUNCTION_CAT -// type: STRING -// desc: Function catalog (may be null) -// -// col2 -// name: FUNCTION_SCHEM -// type: STRING -// desc: Function schema (may be null) -// -// col3 -// name: FUNCTION_NAME -// type: STRING -// desc: Function name. This is the name used to invoke the function. -// -// col4 -// name: REMARKS -// type: STRING -// desc: Explanatory comment on the function. -// -// col5 -// name: FUNCTION_TYPE -// type: SMALLINT -// desc: Kind of function. One of: -// * functionResultUnknown - Cannot determine if a return value or a table -// will be returned. -// * functionNoTable - Does not a return a table. -// * functionReturnsTable - Returns a table. -// -// col6 -// name: SPECIFIC_NAME -// type: STRING -// desc: The name which uniquely identifies this function within its schema. -// In this case this is the fully qualified class name of the class -// that implements this function. -// -struct TGetFunctionsReq { - // Session to run this request against - 1: required TSessionHandle sessionHandle - - // A catalog name; must match the catalog name as it is stored in the - // database; "" retrieves those without a catalog; null means - // that the catalog name should not be used to narrow the search. - 2: optional TIdentifier catalogName - - // A schema name pattern; must match the schema name as it is stored - // in the database; "" retrieves those without a schema; null means - // that the schema name should not be used to narrow the search. - 3: optional TPatternOrIdentifier schemaName - - // A function name pattern; must match the function name as it is stored - // in the database. - 4: required TPatternOrIdentifier functionName -} - -struct TGetFunctionsResp { - 1: required TStatus status - 2: optional TOperationHandle operationHandle -} - - -// GetOperationStatus() -// -// Get the status of an operation running on the server. -struct TGetOperationStatusReq { - // Session to run this request against - 1: required TOperationHandle operationHandle -} - -struct TGetOperationStatusResp { - 1: required TStatus status - 2: optional TOperationState operationState - - // If operationState is ERROR_STATE, then the following fields may be set - // sqlState as defined in the ISO/IEF CLI specification - 3: optional string sqlState - - // Internal error code - 4: optional i32 errorCode - - // Error message - 5: optional string errorMessage -} - - -// CancelOperation() -// -// Cancels processing on the specified operation handle and -// frees any resources which were allocated. -struct TCancelOperationReq { - // Operation to cancel - 1: required TOperationHandle operationHandle -} - -struct TCancelOperationResp { - 1: required TStatus status -} - - -// CloseOperation() -// -// Given an operation in the FINISHED, CANCELED, -// or ERROR states, CloseOperation() will free -// all of the resources which were allocated on -// the server to service the operation. -struct TCloseOperationReq { - 1: required TOperationHandle operationHandle -} - -struct TCloseOperationResp { - 1: required TStatus status -} - - -// GetResultSetMetadata() -// -// Retrieves schema information for the specified operation -struct TGetResultSetMetadataReq { - // Operation for which to fetch result set schema information - 1: required TOperationHandle operationHandle -} - -struct TGetResultSetMetadataResp { - 1: required TStatus status - 2: optional TTableSchema schema -} - - -enum TFetchOrientation { - // Get the next rowset. The fetch offset is ignored. - FETCH_NEXT, - - // Get the previous rowset. The fetch offset is ignored. - // NOT SUPPORTED - FETCH_PRIOR, - - // Return the rowset at the given fetch offset relative - // to the curren rowset. - // NOT SUPPORTED - FETCH_RELATIVE, - - // Return the rowset at the specified fetch offset. - // NOT SUPPORTED - FETCH_ABSOLUTE, - - // Get the first rowset in the result set. - FETCH_FIRST, - - // Get the last rowset in the result set. - // NOT SUPPORTED - FETCH_LAST -} - -// FetchResults() -// -// Fetch rows from the server corresponding to -// a particular OperationHandle. -struct TFetchResultsReq { - // Operation from which to fetch results. - 1: required TOperationHandle operationHandle - - // The fetch orientation. For V1 this must be either - // FETCH_NEXT or FETCH_FIRST. Defaults to FETCH_NEXT. - 2: required TFetchOrientation orientation = TFetchOrientation.FETCH_NEXT - - // Max number of rows that should be returned in - // the rowset. - 3: required i64 maxRows - - // The type of a fetch results request. 0 represents Query output. 1 represents Log - 4: optional i16 fetchType = 0 -} - -struct TFetchResultsResp { - 1: required TStatus status - - // TRUE if there are more rows left to fetch from the server. - 2: optional bool hasMoreRows - - // The rowset. This is optional so that we have the - // option in the future of adding alternate formats for - // representing result set data, e.g. delimited strings, - // binary encoded, etc. - 3: optional TRowSet results -} - -// GetDelegationToken() -// Retrieve delegation token for the current user -struct TGetDelegationTokenReq { - // session handle - 1: required TSessionHandle sessionHandle - - // userid for the proxy user - 2: required string owner - - // designated renewer userid - 3: required string renewer -} - -struct TGetDelegationTokenResp { - // status of the request - 1: required TStatus status - - // delegation token string - 2: optional string delegationToken -} - -// CancelDelegationToken() -// Cancel the given delegation token -struct TCancelDelegationTokenReq { - // session handle - 1: required TSessionHandle sessionHandle - - // delegation token to cancel - 2: required string delegationToken -} - -struct TCancelDelegationTokenResp { - // status of the request - 1: required TStatus status -} - -// RenewDelegationToken() -// Renew the given delegation token -struct TRenewDelegationTokenReq { - // session handle - 1: required TSessionHandle sessionHandle - - // delegation token to renew - 2: required string delegationToken -} - -struct TRenewDelegationTokenResp { - // status of the request - 1: required TStatus status -} - -service TCLIService { - - TOpenSessionResp OpenSession(1:TOpenSessionReq req); - - TCloseSessionResp CloseSession(1:TCloseSessionReq req); - - TGetInfoResp GetInfo(1:TGetInfoReq req); - - TExecuteStatementResp ExecuteStatement(1:TExecuteStatementReq req); - - TGetTypeInfoResp GetTypeInfo(1:TGetTypeInfoReq req); - - TGetCatalogsResp GetCatalogs(1:TGetCatalogsReq req); - - TGetSchemasResp GetSchemas(1:TGetSchemasReq req); - - TGetTablesResp GetTables(1:TGetTablesReq req); - - TGetTableTypesResp GetTableTypes(1:TGetTableTypesReq req); - - TGetColumnsResp GetColumns(1:TGetColumnsReq req); - - TGetFunctionsResp GetFunctions(1:TGetFunctionsReq req); - - TGetOperationStatusResp GetOperationStatus(1:TGetOperationStatusReq req); - - TCancelOperationResp CancelOperation(1:TCancelOperationReq req); - - TCloseOperationResp CloseOperation(1:TCloseOperationReq req); - - TGetResultSetMetadataResp GetResultSetMetadata(1:TGetResultSetMetadataReq req); - - TFetchResultsResp FetchResults(1:TFetchResultsReq req); - - TGetDelegationTokenResp GetDelegationToken(1:TGetDelegationTokenReq req); - - TCancelDelegationTokenResp CancelDelegationToken(1:TCancelDelegationTokenReq req); - - TRenewDelegationTokenResp RenewDelegationToken(1:TRenewDelegationTokenReq req); -} http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/service-rpc/pom.xml ---------------------------------------------------------------------- diff --git a/service-rpc/pom.xml b/service-rpc/pom.xml deleted file mode 100644 index 6df90d5..0000000 --- a/service-rpc/pom.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.hive</groupId> - <artifactId>hive</artifactId> - <version>2.1.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>hive-service-rpc</artifactId> - <packaging>jar</packaging> - <name>Hive Service RPC</name> - - <properties> - <hive.path.to.root>..</hive.path.to.root> - </properties> - - <dependencies> - <!-- inter-project --> - <dependency> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - <version>${commons-codec.version}</version> - </dependency> - <dependency> - <groupId>commons-cli</groupId> - <artifactId>commons-cli</artifactId> - <version>${commons-cli.version}</version> - </dependency> - <dependency> - <groupId>tomcat</groupId> - <artifactId>jasper-compiler</artifactId> - <version>${jasper.version}</version> - </dependency> - <dependency> - <groupId>tomcat</groupId> - <artifactId>jasper-runtime</artifactId> - <version>${jasper.version}</version> - </dependency> - <dependency> - <groupId>org.apache.thrift</groupId> - <artifactId>libfb303</artifactId> - <version>${libfb303.version}</version> - </dependency> - <dependency> - <groupId>org.apache.thrift</groupId> - <artifactId>libthrift</artifactId> - <version>${libthrift.version}</version> - </dependency> - <!-- test inter-project --> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <sourceDirectory>${basedir}/src/java</sourceDirectory> - <testSourceDirectory>${basedir}/src/test</testSourceDirectory> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <executions> - <execution> - <id>add-source</id> - <phase>generate-sources</phase> - <goals> - <goal>add-source</goal> - </goals> - <configuration> - <sources> - <source>src/gen/thrift/gen-javabean</source> - </sources> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>test-jar</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - -</project>