diff --git a/service/if/TCLIService.thrift b/service/if/TCLIService.thrift index baf583fb3ecd4a0ab248540ffb5db57100028968..8a44572ceebb821bd3340813bcfd7cb014fe56de 100644 --- a/service/if/TCLIService.thrift +++ b/service/if/TCLIService.thrift @@ -579,6 +579,42 @@ struct TOpenSessionResp { 4: optional map configuration } +// RestoreSession() +// +// Restore an already created session (connection) on the server against +// which operations may be executed. +struct TRestoreSessionReq { + // The version of the HiveServer2 protocol that the client is using. + 1: required TProtocolVersion client_protocol = TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8 + + 2: required TSessionHandle sessionHandle + // 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. + 3: optional string username + 4: optional string password + + // Configuration overlay which is applied when the session is + // first created. + 5: optional map configuration +} + +// restore session response is same as open session response +struct TRestoreSessionResp { + 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 configuration +} + // CloseSession() // @@ -1136,6 +1172,8 @@ service TCLIService { TOpenSessionResp OpenSession(1:TOpenSessionReq req); + TRestoreSessionResp RestoreSession(1:TRestoreSessionReq req); + TCloseSessionResp CloseSession(1:TCloseSessionReq req); TGetInfoResp GetInfo(1:TGetInfoReq req); diff --git a/service/src/gen/thrift/gen-cpp/TCLIService.h b/service/src/gen/thrift/gen-cpp/TCLIService.h index 2ea80c76e4e8618c5535f8270f20c70c8b35f765..b529b2468c6cbfb4b19871392b911bb282c93be2 100644 --- a/service/src/gen/thrift/gen-cpp/TCLIService.h +++ b/service/src/gen/thrift/gen-cpp/TCLIService.h @@ -22,6 +22,7 @@ class TCLIServiceIf { public: virtual ~TCLIServiceIf() {} virtual void OpenSession(TOpenSessionResp& _return, const TOpenSessionReq& req) = 0; + virtual void RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req) = 0; virtual void CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req) = 0; virtual void GetInfo(TGetInfoResp& _return, const TGetInfoReq& req) = 0; virtual void ExecuteStatement(TExecuteStatementResp& _return, const TExecuteStatementReq& req) = 0; @@ -72,6 +73,9 @@ class TCLIServiceNull : virtual public TCLIServiceIf { void OpenSession(TOpenSessionResp& /* _return */, const TOpenSessionReq& /* req */) { return; } + void RestoreSession(TRestoreSessionResp& /* _return */, const TRestoreSessionReq& /* req */) { + return; + } void CloseSession(TCloseSessionResp& /* _return */, const TCloseSessionReq& /* req */) { return; } @@ -232,6 +236,110 @@ class TCLIService_OpenSession_presult { }; +typedef struct _TCLIService_RestoreSession_args__isset { + _TCLIService_RestoreSession_args__isset() : req(false) {} + bool req :1; +} _TCLIService_RestoreSession_args__isset; + +class TCLIService_RestoreSession_args { + public: + + TCLIService_RestoreSession_args(const TCLIService_RestoreSession_args&); + TCLIService_RestoreSession_args& operator=(const TCLIService_RestoreSession_args&); + TCLIService_RestoreSession_args() { + } + + virtual ~TCLIService_RestoreSession_args() throw(); + TRestoreSessionReq req; + + _TCLIService_RestoreSession_args__isset __isset; + + void __set_req(const TRestoreSessionReq& val); + + bool operator == (const TCLIService_RestoreSession_args & rhs) const + { + if (!(req == rhs.req)) + return false; + return true; + } + bool operator != (const TCLIService_RestoreSession_args &rhs) const { + return !(*this == rhs); + } + + bool operator < (const TCLIService_RestoreSession_args & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + + +class TCLIService_RestoreSession_pargs { + public: + + + virtual ~TCLIService_RestoreSession_pargs() throw(); + const TRestoreSessionReq* req; + + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + +typedef struct _TCLIService_RestoreSession_result__isset { + _TCLIService_RestoreSession_result__isset() : success(false) {} + bool success :1; +} _TCLIService_RestoreSession_result__isset; + +class TCLIService_RestoreSession_result { + public: + + TCLIService_RestoreSession_result(const TCLIService_RestoreSession_result&); + TCLIService_RestoreSession_result& operator=(const TCLIService_RestoreSession_result&); + TCLIService_RestoreSession_result() { + } + + virtual ~TCLIService_RestoreSession_result() throw(); + TRestoreSessionResp success; + + _TCLIService_RestoreSession_result__isset __isset; + + void __set_success(const TRestoreSessionResp& val); + + bool operator == (const TCLIService_RestoreSession_result & rhs) const + { + if (!(success == rhs.success)) + return false; + return true; + } + bool operator != (const TCLIService_RestoreSession_result &rhs) const { + return !(*this == rhs); + } + + bool operator < (const TCLIService_RestoreSession_result & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + +}; + +typedef struct _TCLIService_RestoreSession_presult__isset { + _TCLIService_RestoreSession_presult__isset() : success(false) {} + bool success :1; +} _TCLIService_RestoreSession_presult__isset; + +class TCLIService_RestoreSession_presult { + public: + + + virtual ~TCLIService_RestoreSession_presult() throw(); + TRestoreSessionResp* success; + + _TCLIService_RestoreSession_presult__isset __isset; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + +}; + typedef struct _TCLIService_CloseSession_args__isset { _TCLIService_CloseSession_args__isset() : req(false) {} bool req :1; @@ -2132,6 +2240,9 @@ class TCLIServiceClient : virtual public TCLIServiceIf { void OpenSession(TOpenSessionResp& _return, const TOpenSessionReq& req); void send_OpenSession(const TOpenSessionReq& req); void recv_OpenSession(TOpenSessionResp& _return); + void RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req); + void send_RestoreSession(const TRestoreSessionReq& req); + void recv_RestoreSession(TRestoreSessionResp& _return); void CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req); void send_CloseSession(const TCloseSessionReq& req); void recv_CloseSession(TCloseSessionResp& _return); @@ -2202,6 +2313,7 @@ class TCLIServiceProcessor : public ::apache::thrift::TDispatchProcessor { typedef std::map ProcessMap; ProcessMap processMap_; void process_OpenSession(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); + void process_RestoreSession(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_CloseSession(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_GetInfo(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_ExecuteStatement(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); @@ -2224,6 +2336,7 @@ class TCLIServiceProcessor : public ::apache::thrift::TDispatchProcessor { TCLIServiceProcessor(boost::shared_ptr iface) : iface_(iface) { processMap_["OpenSession"] = &TCLIServiceProcessor::process_OpenSession; + processMap_["RestoreSession"] = &TCLIServiceProcessor::process_RestoreSession; processMap_["CloseSession"] = &TCLIServiceProcessor::process_CloseSession; processMap_["GetInfo"] = &TCLIServiceProcessor::process_GetInfo; processMap_["ExecuteStatement"] = &TCLIServiceProcessor::process_ExecuteStatement; @@ -2280,6 +2393,16 @@ class TCLIServiceMultiface : virtual public TCLIServiceIf { return; } + void RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req) { + size_t sz = ifaces_.size(); + size_t i = 0; + for (; i < (sz - 1); ++i) { + ifaces_[i]->RestoreSession(_return, req); + } + ifaces_[i]->RestoreSession(_return, req); + return; + } + void CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req) { size_t sz = ifaces_.size(); size_t i = 0; @@ -2493,6 +2616,9 @@ class TCLIServiceConcurrentClient : virtual public TCLIServiceIf { void OpenSession(TOpenSessionResp& _return, const TOpenSessionReq& req); int32_t send_OpenSession(const TOpenSessionReq& req); void recv_OpenSession(TOpenSessionResp& _return, const int32_t seqid); + void RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req); + int32_t send_RestoreSession(const TRestoreSessionReq& req); + void recv_RestoreSession(TRestoreSessionResp& _return, const int32_t seqid); void CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req); int32_t send_CloseSession(const TCloseSessionReq& req); void recv_CloseSession(TCloseSessionResp& _return, const int32_t seqid); diff --git a/service/src/gen/thrift/gen-cpp/TCLIService.cpp b/service/src/gen/thrift/gen-cpp/TCLIService.cpp index 7e2c028dc5e038e40d4dfb5e06a80789b4eabe3b..83c8ffd7794600d2c1a87c17cc4aaaf2f64eb3fd 100644 --- a/service/src/gen/thrift/gen-cpp/TCLIService.cpp +++ b/service/src/gen/thrift/gen-cpp/TCLIService.cpp @@ -196,6 +196,193 @@ uint32_t TCLIService_OpenSession_presult::read(::apache::thrift::protocol::TProt } +TCLIService_RestoreSession_args::~TCLIService_RestoreSession_args() throw() { +} + + +uint32_t TCLIService_RestoreSession_args::read(::apache::thrift::protocol::TProtocol* iprot) { + + apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); + uint32_t xfer = 0; + std::string fname; + ::apache::thrift::protocol::TType ftype; + int16_t fid; + + xfer += iprot->readStructBegin(fname); + + using ::apache::thrift::protocol::TProtocolException; + + + while (true) + { + xfer += iprot->readFieldBegin(fname, ftype, fid); + if (ftype == ::apache::thrift::protocol::T_STOP) { + break; + } + switch (fid) + { + case 1: + if (ftype == ::apache::thrift::protocol::T_STRUCT) { + xfer += this->req.read(iprot); + this->__isset.req = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + +uint32_t TCLIService_RestoreSession_args::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot); + xfer += oprot->writeStructBegin("TCLIService_RestoreSession_args"); + + xfer += oprot->writeFieldBegin("req", ::apache::thrift::protocol::T_STRUCT, 1); + xfer += this->req.write(oprot); + xfer += oprot->writeFieldEnd(); + + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + + +TCLIService_RestoreSession_pargs::~TCLIService_RestoreSession_pargs() throw() { +} + + +uint32_t TCLIService_RestoreSession_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot); + xfer += oprot->writeStructBegin("TCLIService_RestoreSession_pargs"); + + xfer += oprot->writeFieldBegin("req", ::apache::thrift::protocol::T_STRUCT, 1); + xfer += (*(this->req)).write(oprot); + xfer += oprot->writeFieldEnd(); + + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + + +TCLIService_RestoreSession_result::~TCLIService_RestoreSession_result() throw() { +} + + +uint32_t TCLIService_RestoreSession_result::read(::apache::thrift::protocol::TProtocol* iprot) { + + apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); + uint32_t xfer = 0; + std::string fname; + ::apache::thrift::protocol::TType ftype; + int16_t fid; + + xfer += iprot->readStructBegin(fname); + + using ::apache::thrift::protocol::TProtocolException; + + + while (true) + { + xfer += iprot->readFieldBegin(fname, ftype, fid); + if (ftype == ::apache::thrift::protocol::T_STOP) { + break; + } + switch (fid) + { + case 0: + if (ftype == ::apache::thrift::protocol::T_STRUCT) { + xfer += this->success.read(iprot); + this->__isset.success = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + +uint32_t TCLIService_RestoreSession_result::write(::apache::thrift::protocol::TProtocol* oprot) const { + + uint32_t xfer = 0; + + xfer += oprot->writeStructBegin("TCLIService_RestoreSession_result"); + + if (this->__isset.success) { + xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0); + xfer += this->success.write(oprot); + xfer += oprot->writeFieldEnd(); + } + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + + +TCLIService_RestoreSession_presult::~TCLIService_RestoreSession_presult() throw() { +} + + +uint32_t TCLIService_RestoreSession_presult::read(::apache::thrift::protocol::TProtocol* iprot) { + + apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); + uint32_t xfer = 0; + std::string fname; + ::apache::thrift::protocol::TType ftype; + int16_t fid; + + xfer += iprot->readStructBegin(fname); + + using ::apache::thrift::protocol::TProtocolException; + + + while (true) + { + xfer += iprot->readFieldBegin(fname, ftype, fid); + if (ftype == ::apache::thrift::protocol::T_STOP) { + break; + } + switch (fid) + { + case 0: + if (ftype == ::apache::thrift::protocol::T_STRUCT) { + xfer += (*(this->success)).read(iprot); + this->__isset.success = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + return xfer; +} + + TCLIService_CloseSession_args::~TCLIService_CloseSession_args() throw() { } @@ -3619,6 +3806,64 @@ void TCLIServiceClient::recv_OpenSession(TOpenSessionResp& _return) throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "OpenSession failed: unknown result"); } +void TCLIServiceClient::RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req) +{ + send_RestoreSession(req); + recv_RestoreSession(_return); +} + +void TCLIServiceClient::send_RestoreSession(const TRestoreSessionReq& req) +{ + int32_t cseqid = 0; + oprot_->writeMessageBegin("RestoreSession", ::apache::thrift::protocol::T_CALL, cseqid); + + TCLIService_RestoreSession_pargs args; + args.req = &req; + args.write(oprot_); + + oprot_->writeMessageEnd(); + oprot_->getTransport()->writeEnd(); + oprot_->getTransport()->flush(); +} + +void TCLIServiceClient::recv_RestoreSession(TRestoreSessionResp& _return) +{ + + int32_t rseqid = 0; + std::string fname; + ::apache::thrift::protocol::TMessageType mtype; + + iprot_->readMessageBegin(fname, mtype, rseqid); + if (mtype == ::apache::thrift::protocol::T_EXCEPTION) { + ::apache::thrift::TApplicationException x; + x.read(iprot_); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + throw x; + } + if (mtype != ::apache::thrift::protocol::T_REPLY) { + iprot_->skip(::apache::thrift::protocol::T_STRUCT); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + } + if (fname.compare("RestoreSession") != 0) { + iprot_->skip(::apache::thrift::protocol::T_STRUCT); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + } + TCLIService_RestoreSession_presult result; + result.success = &_return; + result.read(iprot_); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + + if (result.__isset.success) { + // _return pointer has now been filled + return; + } + throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "RestoreSession failed: unknown result"); +} + void TCLIServiceClient::CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req) { send_CloseSession(req); @@ -4736,6 +4981,60 @@ void TCLIServiceProcessor::process_OpenSession(int32_t seqid, ::apache::thrift:: } } +void TCLIServiceProcessor::process_RestoreSession(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext) +{ + void* ctx = NULL; + if (this->eventHandler_.get() != NULL) { + ctx = this->eventHandler_->getContext("TCLIService.RestoreSession", callContext); + } + ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "TCLIService.RestoreSession"); + + if (this->eventHandler_.get() != NULL) { + this->eventHandler_->preRead(ctx, "TCLIService.RestoreSession"); + } + + TCLIService_RestoreSession_args args; + args.read(iprot); + iprot->readMessageEnd(); + uint32_t bytes = iprot->getTransport()->readEnd(); + + if (this->eventHandler_.get() != NULL) { + this->eventHandler_->postRead(ctx, "TCLIService.RestoreSession", bytes); + } + + TCLIService_RestoreSession_result result; + try { + iface_->RestoreSession(result.success, args.req); + result.__isset.success = true; + } catch (const std::exception& e) { + if (this->eventHandler_.get() != NULL) { + this->eventHandler_->handlerError(ctx, "TCLIService.RestoreSession"); + } + + ::apache::thrift::TApplicationException x(e.what()); + oprot->writeMessageBegin("RestoreSession", ::apache::thrift::protocol::T_EXCEPTION, seqid); + x.write(oprot); + oprot->writeMessageEnd(); + oprot->getTransport()->writeEnd(); + oprot->getTransport()->flush(); + return; + } + + if (this->eventHandler_.get() != NULL) { + this->eventHandler_->preWrite(ctx, "TCLIService.RestoreSession"); + } + + oprot->writeMessageBegin("RestoreSession", ::apache::thrift::protocol::T_REPLY, seqid); + result.write(oprot); + oprot->writeMessageEnd(); + bytes = oprot->getTransport()->writeEnd(); + oprot->getTransport()->flush(); + + if (this->eventHandler_.get() != NULL) { + this->eventHandler_->postWrite(ctx, "TCLIService.RestoreSession", bytes); + } +} + void TCLIServiceProcessor::process_CloseSession(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext) { void* ctx = NULL; @@ -5799,6 +6098,90 @@ void TCLIServiceConcurrentClient::recv_OpenSession(TOpenSessionResp& _return, co } // end while(true) } +void TCLIServiceConcurrentClient::RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req) +{ + int32_t seqid = send_RestoreSession(req); + recv_RestoreSession(_return, seqid); +} + +int32_t TCLIServiceConcurrentClient::send_RestoreSession(const TRestoreSessionReq& req) +{ + int32_t cseqid = this->sync_.generateSeqId(); + ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_); + oprot_->writeMessageBegin("RestoreSession", ::apache::thrift::protocol::T_CALL, cseqid); + + TCLIService_RestoreSession_pargs args; + args.req = &req; + args.write(oprot_); + + oprot_->writeMessageEnd(); + oprot_->getTransport()->writeEnd(); + oprot_->getTransport()->flush(); + + sentry.commit(); + return cseqid; +} + +void TCLIServiceConcurrentClient::recv_RestoreSession(TRestoreSessionResp& _return, const int32_t seqid) +{ + + int32_t rseqid = 0; + std::string fname; + ::apache::thrift::protocol::TMessageType mtype; + + // the read mutex gets dropped and reacquired as part of waitForWork() + // The destructor of this sentry wakes up other clients + ::apache::thrift::async::TConcurrentRecvSentry sentry(&this->sync_, seqid); + + while(true) { + if(!this->sync_.getPending(fname, mtype, rseqid)) { + iprot_->readMessageBegin(fname, mtype, rseqid); + } + if(seqid == rseqid) { + if (mtype == ::apache::thrift::protocol::T_EXCEPTION) { + ::apache::thrift::TApplicationException x; + x.read(iprot_); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + sentry.commit(); + throw x; + } + if (mtype != ::apache::thrift::protocol::T_REPLY) { + iprot_->skip(::apache::thrift::protocol::T_STRUCT); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + } + if (fname.compare("RestoreSession") != 0) { + iprot_->skip(::apache::thrift::protocol::T_STRUCT); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + + // in a bad state, don't commit + using ::apache::thrift::protocol::TProtocolException; + throw TProtocolException(TProtocolException::INVALID_DATA); + } + TCLIService_RestoreSession_presult result; + result.success = &_return; + result.read(iprot_); + iprot_->readMessageEnd(); + iprot_->getTransport()->readEnd(); + + if (result.__isset.success) { + // _return pointer has now been filled + sentry.commit(); + return; + } + // in a bad state, don't commit + throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "RestoreSession failed: unknown result"); + } + // seqid != rseqid + this->sync_.updatePending(fname, mtype, rseqid); + + // this will temporarily unlock the readMutex, and let other clients get work done + this->sync_.waitForWork(seqid); + } // end while(true) +} + void TCLIServiceConcurrentClient::CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req) { int32_t seqid = send_CloseSession(req); diff --git a/service/src/gen/thrift/gen-cpp/TCLIService_server.skeleton.cpp b/service/src/gen/thrift/gen-cpp/TCLIService_server.skeleton.cpp index 988bb4c11ddb717f585e0ba2fb4773ec5fff77e6..b2d80287c25772e727288871f52b19b32868fb72 100644 --- a/service/src/gen/thrift/gen-cpp/TCLIService_server.skeleton.cpp +++ b/service/src/gen/thrift/gen-cpp/TCLIService_server.skeleton.cpp @@ -27,6 +27,11 @@ class TCLIServiceHandler : virtual public TCLIServiceIf { printf("OpenSession\n"); } + void RestoreSession(TRestoreSessionResp& _return, const TRestoreSessionReq& req) { + // Your implementation goes here + printf("RestoreSession\n"); + } + void CloseSession(TCloseSessionResp& _return, const TCloseSessionReq& req) { // Your implementation goes here printf("CloseSession\n"); diff --git a/service/src/gen/thrift/gen-cpp/TCLIService_types.h b/service/src/gen/thrift/gen-cpp/TCLIService_types.h index b078c99db2f436e1ac32514b8f873c150952900b..02b39060805bff7d4399115d75eb6b02c8d8920d 100644 --- a/service/src/gen/thrift/gen-cpp/TCLIService_types.h +++ b/service/src/gen/thrift/gen-cpp/TCLIService_types.h @@ -255,6 +255,10 @@ class TOpenSessionReq; class TOpenSessionResp; +class TRestoreSessionReq; + +class TRestoreSessionResp; + class TCloseSessionReq; class TCloseSessionResp; @@ -2230,6 +2234,150 @@ inline std::ostream& operator<<(std::ostream& out, const TOpenSessionResp& obj) return out; } +typedef struct _TRestoreSessionReq__isset { + _TRestoreSessionReq__isset() : username(false), password(false), configuration(false) {} + bool username :1; + bool password :1; + bool configuration :1; +} _TRestoreSessionReq__isset; + +class TRestoreSessionReq { + public: + + TRestoreSessionReq(const TRestoreSessionReq&); + TRestoreSessionReq& operator=(const TRestoreSessionReq&); + TRestoreSessionReq() : client_protocol((TProtocolVersion::type)7), username(), password() { + client_protocol = (TProtocolVersion::type)7; + + } + + virtual ~TRestoreSessionReq() throw(); + TProtocolVersion::type client_protocol; + TSessionHandle sessionHandle; + std::string username; + std::string password; + std::map configuration; + + _TRestoreSessionReq__isset __isset; + + void __set_client_protocol(const TProtocolVersion::type val); + + void __set_sessionHandle(const TSessionHandle& val); + + void __set_username(const std::string& val); + + void __set_password(const std::string& val); + + void __set_configuration(const std::map & val); + + bool operator == (const TRestoreSessionReq & rhs) const + { + if (!(client_protocol == rhs.client_protocol)) + return false; + if (!(sessionHandle == rhs.sessionHandle)) + return false; + if (__isset.username != rhs.__isset.username) + return false; + else if (__isset.username && !(username == rhs.username)) + return false; + if (__isset.password != rhs.__isset.password) + return false; + else if (__isset.password && !(password == rhs.password)) + return false; + if (__isset.configuration != rhs.__isset.configuration) + return false; + else if (__isset.configuration && !(configuration == rhs.configuration)) + return false; + return true; + } + bool operator != (const TRestoreSessionReq &rhs) const { + return !(*this == rhs); + } + + bool operator < (const TRestoreSessionReq & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + + virtual void printTo(std::ostream& out) const; +}; + +void swap(TRestoreSessionReq &a, TRestoreSessionReq &b); + +inline std::ostream& operator<<(std::ostream& out, const TRestoreSessionReq& obj) +{ + obj.printTo(out); + return out; +} + +typedef struct _TRestoreSessionResp__isset { + _TRestoreSessionResp__isset() : sessionHandle(false), configuration(false) {} + bool sessionHandle :1; + bool configuration :1; +} _TRestoreSessionResp__isset; + +class TRestoreSessionResp { + public: + + TRestoreSessionResp(const TRestoreSessionResp&); + TRestoreSessionResp& operator=(const TRestoreSessionResp&); + TRestoreSessionResp() : serverProtocolVersion((TProtocolVersion::type)7) { + serverProtocolVersion = (TProtocolVersion::type)7; + + } + + virtual ~TRestoreSessionResp() throw(); + TStatus status; + TProtocolVersion::type serverProtocolVersion; + TSessionHandle sessionHandle; + std::map configuration; + + _TRestoreSessionResp__isset __isset; + + void __set_status(const TStatus& val); + + void __set_serverProtocolVersion(const TProtocolVersion::type val); + + void __set_sessionHandle(const TSessionHandle& val); + + void __set_configuration(const std::map & val); + + bool operator == (const TRestoreSessionResp & rhs) const + { + if (!(status == rhs.status)) + return false; + if (!(serverProtocolVersion == rhs.serverProtocolVersion)) + return false; + if (__isset.sessionHandle != rhs.__isset.sessionHandle) + return false; + else if (__isset.sessionHandle && !(sessionHandle == rhs.sessionHandle)) + return false; + if (__isset.configuration != rhs.__isset.configuration) + return false; + else if (__isset.configuration && !(configuration == rhs.configuration)) + return false; + return true; + } + bool operator != (const TRestoreSessionResp &rhs) const { + return !(*this == rhs); + } + + bool operator < (const TRestoreSessionResp & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + + virtual void printTo(std::ostream& out) const; +}; + +void swap(TRestoreSessionResp &a, TRestoreSessionResp &b); + +inline std::ostream& operator<<(std::ostream& out, const TRestoreSessionResp& obj) +{ + obj.printTo(out); + return out; +} + class TCloseSessionReq { public: diff --git a/service/src/gen/thrift/gen-cpp/TCLIService_types.cpp b/service/src/gen/thrift/gen-cpp/TCLIService_types.cpp index b85237994f8019bd58aa1c8fdbef3aabce9940e2..52292da048c9ef0479b655c88219de2e027aae79 100644 --- a/service/src/gen/thrift/gen-cpp/TCLIService_types.cpp +++ b/service/src/gen/thrift/gen-cpp/TCLIService_types.cpp @@ -4931,6 +4931,392 @@ void TOpenSessionResp::printTo(std::ostream& out) const { } +TRestoreSessionReq::~TRestoreSessionReq() throw() { +} + + +void TRestoreSessionReq::__set_client_protocol(const TProtocolVersion::type val) { + this->client_protocol = val; +} + +void TRestoreSessionReq::__set_sessionHandle(const TSessionHandle& val) { + this->sessionHandle = val; +} + +void TRestoreSessionReq::__set_username(const std::string& val) { + this->username = val; +__isset.username = true; +} + +void TRestoreSessionReq::__set_password(const std::string& val) { + this->password = val; +__isset.password = true; +} + +void TRestoreSessionReq::__set_configuration(const std::map & val) { + this->configuration = val; +__isset.configuration = true; +} + +uint32_t TRestoreSessionReq::read(::apache::thrift::protocol::TProtocol* iprot) { + + apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); + uint32_t xfer = 0; + std::string fname; + ::apache::thrift::protocol::TType ftype; + int16_t fid; + + xfer += iprot->readStructBegin(fname); + + using ::apache::thrift::protocol::TProtocolException; + + bool isset_client_protocol = false; + bool isset_sessionHandle = false; + + while (true) + { + xfer += iprot->readFieldBegin(fname, ftype, fid); + if (ftype == ::apache::thrift::protocol::T_STOP) { + break; + } + switch (fid) + { + case 1: + if (ftype == ::apache::thrift::protocol::T_I32) { + int32_t ecast203; + xfer += iprot->readI32(ecast203); + this->client_protocol = (TProtocolVersion::type)ecast203; + isset_client_protocol = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 2: + if (ftype == ::apache::thrift::protocol::T_STRUCT) { + xfer += this->sessionHandle.read(iprot); + isset_sessionHandle = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 3: + if (ftype == ::apache::thrift::protocol::T_STRING) { + xfer += iprot->readString(this->username); + this->__isset.username = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 4: + if (ftype == ::apache::thrift::protocol::T_STRING) { + xfer += iprot->readString(this->password); + this->__isset.password = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 5: + if (ftype == ::apache::thrift::protocol::T_MAP) { + { + this->configuration.clear(); + uint32_t _size204; + ::apache::thrift::protocol::TType _ktype205; + ::apache::thrift::protocol::TType _vtype206; + xfer += iprot->readMapBegin(_ktype205, _vtype206, _size204); + uint32_t _i208; + for (_i208 = 0; _i208 < _size204; ++_i208) + { + std::string _key209; + xfer += iprot->readString(_key209); + std::string& _val210 = this->configuration[_key209]; + xfer += iprot->readString(_val210); + } + xfer += iprot->readMapEnd(); + } + this->__isset.configuration = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + if (!isset_client_protocol) + throw TProtocolException(TProtocolException::INVALID_DATA); + if (!isset_sessionHandle) + throw TProtocolException(TProtocolException::INVALID_DATA); + return xfer; +} + +uint32_t TRestoreSessionReq::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot); + xfer += oprot->writeStructBegin("TRestoreSessionReq"); + + xfer += oprot->writeFieldBegin("client_protocol", ::apache::thrift::protocol::T_I32, 1); + xfer += oprot->writeI32((int32_t)this->client_protocol); + xfer += oprot->writeFieldEnd(); + + xfer += oprot->writeFieldBegin("sessionHandle", ::apache::thrift::protocol::T_STRUCT, 2); + xfer += this->sessionHandle.write(oprot); + xfer += oprot->writeFieldEnd(); + + if (this->__isset.username) { + xfer += oprot->writeFieldBegin("username", ::apache::thrift::protocol::T_STRING, 3); + xfer += oprot->writeString(this->username); + xfer += oprot->writeFieldEnd(); + } + if (this->__isset.password) { + xfer += oprot->writeFieldBegin("password", ::apache::thrift::protocol::T_STRING, 4); + xfer += oprot->writeString(this->password); + xfer += oprot->writeFieldEnd(); + } + if (this->__isset.configuration) { + xfer += oprot->writeFieldBegin("configuration", ::apache::thrift::protocol::T_MAP, 5); + { + xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->configuration.size())); + std::map ::const_iterator _iter211; + for (_iter211 = this->configuration.begin(); _iter211 != this->configuration.end(); ++_iter211) + { + xfer += oprot->writeString(_iter211->first); + xfer += oprot->writeString(_iter211->second); + } + xfer += oprot->writeMapEnd(); + } + xfer += oprot->writeFieldEnd(); + } + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + +void swap(TRestoreSessionReq &a, TRestoreSessionReq &b) { + using ::std::swap; + swap(a.client_protocol, b.client_protocol); + swap(a.sessionHandle, b.sessionHandle); + swap(a.username, b.username); + swap(a.password, b.password); + swap(a.configuration, b.configuration); + swap(a.__isset, b.__isset); +} + +TRestoreSessionReq::TRestoreSessionReq(const TRestoreSessionReq& other212) { + client_protocol = other212.client_protocol; + sessionHandle = other212.sessionHandle; + username = other212.username; + password = other212.password; + configuration = other212.configuration; + __isset = other212.__isset; +} +TRestoreSessionReq& TRestoreSessionReq::operator=(const TRestoreSessionReq& other213) { + client_protocol = other213.client_protocol; + sessionHandle = other213.sessionHandle; + username = other213.username; + password = other213.password; + configuration = other213.configuration; + __isset = other213.__isset; + return *this; +} +void TRestoreSessionReq::printTo(std::ostream& out) const { + using ::apache::thrift::to_string; + out << "TRestoreSessionReq("; + out << "client_protocol=" << to_string(client_protocol); + out << ", " << "sessionHandle=" << to_string(sessionHandle); + out << ", " << "username="; (__isset.username ? (out << to_string(username)) : (out << "")); + out << ", " << "password="; (__isset.password ? (out << to_string(password)) : (out << "")); + out << ", " << "configuration="; (__isset.configuration ? (out << to_string(configuration)) : (out << "")); + out << ")"; +} + + +TRestoreSessionResp::~TRestoreSessionResp() throw() { +} + + +void TRestoreSessionResp::__set_status(const TStatus& val) { + this->status = val; +} + +void TRestoreSessionResp::__set_serverProtocolVersion(const TProtocolVersion::type val) { + this->serverProtocolVersion = val; +} + +void TRestoreSessionResp::__set_sessionHandle(const TSessionHandle& val) { + this->sessionHandle = val; +__isset.sessionHandle = true; +} + +void TRestoreSessionResp::__set_configuration(const std::map & val) { + this->configuration = val; +__isset.configuration = true; +} + +uint32_t TRestoreSessionResp::read(::apache::thrift::protocol::TProtocol* iprot) { + + apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); + uint32_t xfer = 0; + std::string fname; + ::apache::thrift::protocol::TType ftype; + int16_t fid; + + xfer += iprot->readStructBegin(fname); + + using ::apache::thrift::protocol::TProtocolException; + + bool isset_status = false; + bool isset_serverProtocolVersion = false; + + while (true) + { + xfer += iprot->readFieldBegin(fname, ftype, fid); + if (ftype == ::apache::thrift::protocol::T_STOP) { + break; + } + switch (fid) + { + case 1: + if (ftype == ::apache::thrift::protocol::T_STRUCT) { + xfer += this->status.read(iprot); + isset_status = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 2: + if (ftype == ::apache::thrift::protocol::T_I32) { + int32_t ecast214; + xfer += iprot->readI32(ecast214); + this->serverProtocolVersion = (TProtocolVersion::type)ecast214; + isset_serverProtocolVersion = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 3: + if (ftype == ::apache::thrift::protocol::T_STRUCT) { + xfer += this->sessionHandle.read(iprot); + this->__isset.sessionHandle = true; + } else { + xfer += iprot->skip(ftype); + } + break; + case 4: + if (ftype == ::apache::thrift::protocol::T_MAP) { + { + this->configuration.clear(); + uint32_t _size215; + ::apache::thrift::protocol::TType _ktype216; + ::apache::thrift::protocol::TType _vtype217; + xfer += iprot->readMapBegin(_ktype216, _vtype217, _size215); + uint32_t _i219; + for (_i219 = 0; _i219 < _size215; ++_i219) + { + std::string _key220; + xfer += iprot->readString(_key220); + std::string& _val221 = this->configuration[_key220]; + xfer += iprot->readString(_val221); + } + xfer += iprot->readMapEnd(); + } + this->__isset.configuration = true; + } else { + xfer += iprot->skip(ftype); + } + break; + default: + xfer += iprot->skip(ftype); + break; + } + xfer += iprot->readFieldEnd(); + } + + xfer += iprot->readStructEnd(); + + if (!isset_status) + throw TProtocolException(TProtocolException::INVALID_DATA); + if (!isset_serverProtocolVersion) + throw TProtocolException(TProtocolException::INVALID_DATA); + return xfer; +} + +uint32_t TRestoreSessionResp::write(::apache::thrift::protocol::TProtocol* oprot) const { + uint32_t xfer = 0; + apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot); + xfer += oprot->writeStructBegin("TRestoreSessionResp"); + + xfer += oprot->writeFieldBegin("status", ::apache::thrift::protocol::T_STRUCT, 1); + xfer += this->status.write(oprot); + xfer += oprot->writeFieldEnd(); + + xfer += oprot->writeFieldBegin("serverProtocolVersion", ::apache::thrift::protocol::T_I32, 2); + xfer += oprot->writeI32((int32_t)this->serverProtocolVersion); + xfer += oprot->writeFieldEnd(); + + if (this->__isset.sessionHandle) { + xfer += oprot->writeFieldBegin("sessionHandle", ::apache::thrift::protocol::T_STRUCT, 3); + xfer += this->sessionHandle.write(oprot); + xfer += oprot->writeFieldEnd(); + } + if (this->__isset.configuration) { + xfer += oprot->writeFieldBegin("configuration", ::apache::thrift::protocol::T_MAP, 4); + { + xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->configuration.size())); + std::map ::const_iterator _iter222; + for (_iter222 = this->configuration.begin(); _iter222 != this->configuration.end(); ++_iter222) + { + xfer += oprot->writeString(_iter222->first); + xfer += oprot->writeString(_iter222->second); + } + xfer += oprot->writeMapEnd(); + } + xfer += oprot->writeFieldEnd(); + } + xfer += oprot->writeFieldStop(); + xfer += oprot->writeStructEnd(); + return xfer; +} + +void swap(TRestoreSessionResp &a, TRestoreSessionResp &b) { + using ::std::swap; + swap(a.status, b.status); + swap(a.serverProtocolVersion, b.serverProtocolVersion); + swap(a.sessionHandle, b.sessionHandle); + swap(a.configuration, b.configuration); + swap(a.__isset, b.__isset); +} + +TRestoreSessionResp::TRestoreSessionResp(const TRestoreSessionResp& other223) { + status = other223.status; + serverProtocolVersion = other223.serverProtocolVersion; + sessionHandle = other223.sessionHandle; + configuration = other223.configuration; + __isset = other223.__isset; +} +TRestoreSessionResp& TRestoreSessionResp::operator=(const TRestoreSessionResp& other224) { + status = other224.status; + serverProtocolVersion = other224.serverProtocolVersion; + sessionHandle = other224.sessionHandle; + configuration = other224.configuration; + __isset = other224.__isset; + return *this; +} +void TRestoreSessionResp::printTo(std::ostream& out) const { + using ::apache::thrift::to_string; + out << "TRestoreSessionResp("; + out << "status=" << to_string(status); + out << ", " << "serverProtocolVersion=" << to_string(serverProtocolVersion); + out << ", " << "sessionHandle="; (__isset.sessionHandle ? (out << to_string(sessionHandle)) : (out << "")); + out << ", " << "configuration="; (__isset.configuration ? (out << to_string(configuration)) : (out << "")); + out << ")"; +} + + TCloseSessionReq::~TCloseSessionReq() throw() { } @@ -5002,11 +5388,11 @@ void swap(TCloseSessionReq &a, TCloseSessionReq &b) { swap(a.sessionHandle, b.sessionHandle); } -TCloseSessionReq::TCloseSessionReq(const TCloseSessionReq& other203) { - sessionHandle = other203.sessionHandle; +TCloseSessionReq::TCloseSessionReq(const TCloseSessionReq& other225) { + sessionHandle = other225.sessionHandle; } -TCloseSessionReq& TCloseSessionReq::operator=(const TCloseSessionReq& other204) { - sessionHandle = other204.sessionHandle; +TCloseSessionReq& TCloseSessionReq::operator=(const TCloseSessionReq& other226) { + sessionHandle = other226.sessionHandle; return *this; } void TCloseSessionReq::printTo(std::ostream& out) const { @@ -5088,11 +5474,11 @@ void swap(TCloseSessionResp &a, TCloseSessionResp &b) { swap(a.status, b.status); } -TCloseSessionResp::TCloseSessionResp(const TCloseSessionResp& other205) { - status = other205.status; +TCloseSessionResp::TCloseSessionResp(const TCloseSessionResp& other227) { + status = other227.status; } -TCloseSessionResp& TCloseSessionResp::operator=(const TCloseSessionResp& other206) { - status = other206.status; +TCloseSessionResp& TCloseSessionResp::operator=(const TCloseSessionResp& other228) { + status = other228.status; return *this; } void TCloseSessionResp::printTo(std::ostream& out) const { @@ -5257,23 +5643,23 @@ void swap(TGetInfoValue &a, TGetInfoValue &b) { swap(a.__isset, b.__isset); } -TGetInfoValue::TGetInfoValue(const TGetInfoValue& other207) { - stringValue = other207.stringValue; - smallIntValue = other207.smallIntValue; - integerBitmask = other207.integerBitmask; - integerFlag = other207.integerFlag; - binaryValue = other207.binaryValue; - lenValue = other207.lenValue; - __isset = other207.__isset; -} -TGetInfoValue& TGetInfoValue::operator=(const TGetInfoValue& other208) { - stringValue = other208.stringValue; - smallIntValue = other208.smallIntValue; - integerBitmask = other208.integerBitmask; - integerFlag = other208.integerFlag; - binaryValue = other208.binaryValue; - lenValue = other208.lenValue; - __isset = other208.__isset; +TGetInfoValue::TGetInfoValue(const TGetInfoValue& other229) { + stringValue = other229.stringValue; + smallIntValue = other229.smallIntValue; + integerBitmask = other229.integerBitmask; + integerFlag = other229.integerFlag; + binaryValue = other229.binaryValue; + lenValue = other229.lenValue; + __isset = other229.__isset; +} +TGetInfoValue& TGetInfoValue::operator=(const TGetInfoValue& other230) { + stringValue = other230.stringValue; + smallIntValue = other230.smallIntValue; + integerBitmask = other230.integerBitmask; + integerFlag = other230.integerFlag; + binaryValue = other230.binaryValue; + lenValue = other230.lenValue; + __isset = other230.__isset; return *this; } void TGetInfoValue::printTo(std::ostream& out) const { @@ -5334,9 +5720,9 @@ uint32_t TGetInfoReq::read(::apache::thrift::protocol::TProtocol* iprot) { break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast209; - xfer += iprot->readI32(ecast209); - this->infoType = (TGetInfoType::type)ecast209; + int32_t ecast231; + xfer += iprot->readI32(ecast231); + this->infoType = (TGetInfoType::type)ecast231; isset_infoType = true; } else { xfer += iprot->skip(ftype); @@ -5382,13 +5768,13 @@ void swap(TGetInfoReq &a, TGetInfoReq &b) { swap(a.infoType, b.infoType); } -TGetInfoReq::TGetInfoReq(const TGetInfoReq& other210) { - sessionHandle = other210.sessionHandle; - infoType = other210.infoType; +TGetInfoReq::TGetInfoReq(const TGetInfoReq& other232) { + sessionHandle = other232.sessionHandle; + infoType = other232.infoType; } -TGetInfoReq& TGetInfoReq::operator=(const TGetInfoReq& other211) { - sessionHandle = other211.sessionHandle; - infoType = other211.infoType; +TGetInfoReq& TGetInfoReq::operator=(const TGetInfoReq& other233) { + sessionHandle = other233.sessionHandle; + infoType = other233.infoType; return *this; } void TGetInfoReq::printTo(std::ostream& out) const { @@ -5491,13 +5877,13 @@ void swap(TGetInfoResp &a, TGetInfoResp &b) { swap(a.infoValue, b.infoValue); } -TGetInfoResp::TGetInfoResp(const TGetInfoResp& other212) { - status = other212.status; - infoValue = other212.infoValue; +TGetInfoResp::TGetInfoResp(const TGetInfoResp& other234) { + status = other234.status; + infoValue = other234.infoValue; } -TGetInfoResp& TGetInfoResp::operator=(const TGetInfoResp& other213) { - status = other213.status; - infoValue = other213.infoValue; +TGetInfoResp& TGetInfoResp::operator=(const TGetInfoResp& other235) { + status = other235.status; + infoValue = other235.infoValue; return *this; } void TGetInfoResp::printTo(std::ostream& out) const { @@ -5574,17 +5960,17 @@ uint32_t TExecuteStatementReq::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_MAP) { { this->confOverlay.clear(); - uint32_t _size214; - ::apache::thrift::protocol::TType _ktype215; - ::apache::thrift::protocol::TType _vtype216; - xfer += iprot->readMapBegin(_ktype215, _vtype216, _size214); - uint32_t _i218; - for (_i218 = 0; _i218 < _size214; ++_i218) + uint32_t _size236; + ::apache::thrift::protocol::TType _ktype237; + ::apache::thrift::protocol::TType _vtype238; + xfer += iprot->readMapBegin(_ktype237, _vtype238, _size236); + uint32_t _i240; + for (_i240 = 0; _i240 < _size236; ++_i240) { - std::string _key219; - xfer += iprot->readString(_key219); - std::string& _val220 = this->confOverlay[_key219]; - xfer += iprot->readString(_val220); + std::string _key241; + xfer += iprot->readString(_key241); + std::string& _val242 = this->confOverlay[_key241]; + xfer += iprot->readString(_val242); } xfer += iprot->readMapEnd(); } @@ -5634,11 +6020,11 @@ uint32_t TExecuteStatementReq::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("confOverlay", ::apache::thrift::protocol::T_MAP, 3); { xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast(this->confOverlay.size())); - std::map ::const_iterator _iter221; - for (_iter221 = this->confOverlay.begin(); _iter221 != this->confOverlay.end(); ++_iter221) + std::map ::const_iterator _iter243; + for (_iter243 = this->confOverlay.begin(); _iter243 != this->confOverlay.end(); ++_iter243) { - xfer += oprot->writeString(_iter221->first); - xfer += oprot->writeString(_iter221->second); + xfer += oprot->writeString(_iter243->first); + xfer += oprot->writeString(_iter243->second); } xfer += oprot->writeMapEnd(); } @@ -5663,19 +6049,19 @@ void swap(TExecuteStatementReq &a, TExecuteStatementReq &b) { swap(a.__isset, b.__isset); } -TExecuteStatementReq::TExecuteStatementReq(const TExecuteStatementReq& other222) { - sessionHandle = other222.sessionHandle; - statement = other222.statement; - confOverlay = other222.confOverlay; - runAsync = other222.runAsync; - __isset = other222.__isset; +TExecuteStatementReq::TExecuteStatementReq(const TExecuteStatementReq& other244) { + sessionHandle = other244.sessionHandle; + statement = other244.statement; + confOverlay = other244.confOverlay; + runAsync = other244.runAsync; + __isset = other244.__isset; } -TExecuteStatementReq& TExecuteStatementReq::operator=(const TExecuteStatementReq& other223) { - sessionHandle = other223.sessionHandle; - statement = other223.statement; - confOverlay = other223.confOverlay; - runAsync = other223.runAsync; - __isset = other223.__isset; +TExecuteStatementReq& TExecuteStatementReq::operator=(const TExecuteStatementReq& other245) { + sessionHandle = other245.sessionHandle; + statement = other245.statement; + confOverlay = other245.confOverlay; + runAsync = other245.runAsync; + __isset = other245.__isset; return *this; } void TExecuteStatementReq::printTo(std::ostream& out) const { @@ -5780,15 +6166,15 @@ void swap(TExecuteStatementResp &a, TExecuteStatementResp &b) { swap(a.__isset, b.__isset); } -TExecuteStatementResp::TExecuteStatementResp(const TExecuteStatementResp& other224) { - status = other224.status; - operationHandle = other224.operationHandle; - __isset = other224.__isset; +TExecuteStatementResp::TExecuteStatementResp(const TExecuteStatementResp& other246) { + status = other246.status; + operationHandle = other246.operationHandle; + __isset = other246.__isset; } -TExecuteStatementResp& TExecuteStatementResp::operator=(const TExecuteStatementResp& other225) { - status = other225.status; - operationHandle = other225.operationHandle; - __isset = other225.__isset; +TExecuteStatementResp& TExecuteStatementResp::operator=(const TExecuteStatementResp& other247) { + status = other247.status; + operationHandle = other247.operationHandle; + __isset = other247.__isset; return *this; } void TExecuteStatementResp::printTo(std::ostream& out) const { @@ -5871,11 +6257,11 @@ void swap(TGetTypeInfoReq &a, TGetTypeInfoReq &b) { swap(a.sessionHandle, b.sessionHandle); } -TGetTypeInfoReq::TGetTypeInfoReq(const TGetTypeInfoReq& other226) { - sessionHandle = other226.sessionHandle; +TGetTypeInfoReq::TGetTypeInfoReq(const TGetTypeInfoReq& other248) { + sessionHandle = other248.sessionHandle; } -TGetTypeInfoReq& TGetTypeInfoReq::operator=(const TGetTypeInfoReq& other227) { - sessionHandle = other227.sessionHandle; +TGetTypeInfoReq& TGetTypeInfoReq::operator=(const TGetTypeInfoReq& other249) { + sessionHandle = other249.sessionHandle; return *this; } void TGetTypeInfoReq::printTo(std::ostream& out) const { @@ -5977,15 +6363,15 @@ void swap(TGetTypeInfoResp &a, TGetTypeInfoResp &b) { swap(a.__isset, b.__isset); } -TGetTypeInfoResp::TGetTypeInfoResp(const TGetTypeInfoResp& other228) { - status = other228.status; - operationHandle = other228.operationHandle; - __isset = other228.__isset; +TGetTypeInfoResp::TGetTypeInfoResp(const TGetTypeInfoResp& other250) { + status = other250.status; + operationHandle = other250.operationHandle; + __isset = other250.__isset; } -TGetTypeInfoResp& TGetTypeInfoResp::operator=(const TGetTypeInfoResp& other229) { - status = other229.status; - operationHandle = other229.operationHandle; - __isset = other229.__isset; +TGetTypeInfoResp& TGetTypeInfoResp::operator=(const TGetTypeInfoResp& other251) { + status = other251.status; + operationHandle = other251.operationHandle; + __isset = other251.__isset; return *this; } void TGetTypeInfoResp::printTo(std::ostream& out) const { @@ -6068,11 +6454,11 @@ void swap(TGetCatalogsReq &a, TGetCatalogsReq &b) { swap(a.sessionHandle, b.sessionHandle); } -TGetCatalogsReq::TGetCatalogsReq(const TGetCatalogsReq& other230) { - sessionHandle = other230.sessionHandle; +TGetCatalogsReq::TGetCatalogsReq(const TGetCatalogsReq& other252) { + sessionHandle = other252.sessionHandle; } -TGetCatalogsReq& TGetCatalogsReq::operator=(const TGetCatalogsReq& other231) { - sessionHandle = other231.sessionHandle; +TGetCatalogsReq& TGetCatalogsReq::operator=(const TGetCatalogsReq& other253) { + sessionHandle = other253.sessionHandle; return *this; } void TGetCatalogsReq::printTo(std::ostream& out) const { @@ -6174,15 +6560,15 @@ void swap(TGetCatalogsResp &a, TGetCatalogsResp &b) { swap(a.__isset, b.__isset); } -TGetCatalogsResp::TGetCatalogsResp(const TGetCatalogsResp& other232) { - status = other232.status; - operationHandle = other232.operationHandle; - __isset = other232.__isset; +TGetCatalogsResp::TGetCatalogsResp(const TGetCatalogsResp& other254) { + status = other254.status; + operationHandle = other254.operationHandle; + __isset = other254.__isset; } -TGetCatalogsResp& TGetCatalogsResp::operator=(const TGetCatalogsResp& other233) { - status = other233.status; - operationHandle = other233.operationHandle; - __isset = other233.__isset; +TGetCatalogsResp& TGetCatalogsResp::operator=(const TGetCatalogsResp& other255) { + status = other255.status; + operationHandle = other255.operationHandle; + __isset = other255.__isset; return *this; } void TGetCatalogsResp::printTo(std::ostream& out) const { @@ -6304,17 +6690,17 @@ void swap(TGetSchemasReq &a, TGetSchemasReq &b) { swap(a.__isset, b.__isset); } -TGetSchemasReq::TGetSchemasReq(const TGetSchemasReq& other234) { - sessionHandle = other234.sessionHandle; - catalogName = other234.catalogName; - schemaName = other234.schemaName; - __isset = other234.__isset; +TGetSchemasReq::TGetSchemasReq(const TGetSchemasReq& other256) { + sessionHandle = other256.sessionHandle; + catalogName = other256.catalogName; + schemaName = other256.schemaName; + __isset = other256.__isset; } -TGetSchemasReq& TGetSchemasReq::operator=(const TGetSchemasReq& other235) { - sessionHandle = other235.sessionHandle; - catalogName = other235.catalogName; - schemaName = other235.schemaName; - __isset = other235.__isset; +TGetSchemasReq& TGetSchemasReq::operator=(const TGetSchemasReq& other257) { + sessionHandle = other257.sessionHandle; + catalogName = other257.catalogName; + schemaName = other257.schemaName; + __isset = other257.__isset; return *this; } void TGetSchemasReq::printTo(std::ostream& out) const { @@ -6418,15 +6804,15 @@ void swap(TGetSchemasResp &a, TGetSchemasResp &b) { swap(a.__isset, b.__isset); } -TGetSchemasResp::TGetSchemasResp(const TGetSchemasResp& other236) { - status = other236.status; - operationHandle = other236.operationHandle; - __isset = other236.__isset; +TGetSchemasResp::TGetSchemasResp(const TGetSchemasResp& other258) { + status = other258.status; + operationHandle = other258.operationHandle; + __isset = other258.__isset; } -TGetSchemasResp& TGetSchemasResp::operator=(const TGetSchemasResp& other237) { - status = other237.status; - operationHandle = other237.operationHandle; - __isset = other237.__isset; +TGetSchemasResp& TGetSchemasResp::operator=(const TGetSchemasResp& other259) { + status = other259.status; + operationHandle = other259.operationHandle; + __isset = other259.__isset; return *this; } void TGetSchemasResp::printTo(std::ostream& out) const { @@ -6524,14 +6910,14 @@ uint32_t TGetTablesReq::read(::apache::thrift::protocol::TProtocol* iprot) { if (ftype == ::apache::thrift::protocol::T_LIST) { { this->tableTypes.clear(); - uint32_t _size238; - ::apache::thrift::protocol::TType _etype241; - xfer += iprot->readListBegin(_etype241, _size238); - this->tableTypes.resize(_size238); - uint32_t _i242; - for (_i242 = 0; _i242 < _size238; ++_i242) + uint32_t _size260; + ::apache::thrift::protocol::TType _etype263; + xfer += iprot->readListBegin(_etype263, _size260); + this->tableTypes.resize(_size260); + uint32_t _i264; + for (_i264 = 0; _i264 < _size260; ++_i264) { - xfer += iprot->readString(this->tableTypes[_i242]); + xfer += iprot->readString(this->tableTypes[_i264]); } xfer += iprot->readListEnd(); } @@ -6582,10 +6968,10 @@ uint32_t TGetTablesReq::write(::apache::thrift::protocol::TProtocol* oprot) cons xfer += oprot->writeFieldBegin("tableTypes", ::apache::thrift::protocol::T_LIST, 5); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast(this->tableTypes.size())); - std::vector ::const_iterator _iter243; - for (_iter243 = this->tableTypes.begin(); _iter243 != this->tableTypes.end(); ++_iter243) + std::vector ::const_iterator _iter265; + for (_iter265 = this->tableTypes.begin(); _iter265 != this->tableTypes.end(); ++_iter265) { - xfer += oprot->writeString((*_iter243)); + xfer += oprot->writeString((*_iter265)); } xfer += oprot->writeListEnd(); } @@ -6606,21 +6992,21 @@ void swap(TGetTablesReq &a, TGetTablesReq &b) { swap(a.__isset, b.__isset); } -TGetTablesReq::TGetTablesReq(const TGetTablesReq& other244) { - sessionHandle = other244.sessionHandle; - catalogName = other244.catalogName; - schemaName = other244.schemaName; - tableName = other244.tableName; - tableTypes = other244.tableTypes; - __isset = other244.__isset; -} -TGetTablesReq& TGetTablesReq::operator=(const TGetTablesReq& other245) { - sessionHandle = other245.sessionHandle; - catalogName = other245.catalogName; - schemaName = other245.schemaName; - tableName = other245.tableName; - tableTypes = other245.tableTypes; - __isset = other245.__isset; +TGetTablesReq::TGetTablesReq(const TGetTablesReq& other266) { + sessionHandle = other266.sessionHandle; + catalogName = other266.catalogName; + schemaName = other266.schemaName; + tableName = other266.tableName; + tableTypes = other266.tableTypes; + __isset = other266.__isset; +} +TGetTablesReq& TGetTablesReq::operator=(const TGetTablesReq& other267) { + sessionHandle = other267.sessionHandle; + catalogName = other267.catalogName; + schemaName = other267.schemaName; + tableName = other267.tableName; + tableTypes = other267.tableTypes; + __isset = other267.__isset; return *this; } void TGetTablesReq::printTo(std::ostream& out) const { @@ -6726,15 +7112,15 @@ void swap(TGetTablesResp &a, TGetTablesResp &b) { swap(a.__isset, b.__isset); } -TGetTablesResp::TGetTablesResp(const TGetTablesResp& other246) { - status = other246.status; - operationHandle = other246.operationHandle; - __isset = other246.__isset; +TGetTablesResp::TGetTablesResp(const TGetTablesResp& other268) { + status = other268.status; + operationHandle = other268.operationHandle; + __isset = other268.__isset; } -TGetTablesResp& TGetTablesResp::operator=(const TGetTablesResp& other247) { - status = other247.status; - operationHandle = other247.operationHandle; - __isset = other247.__isset; +TGetTablesResp& TGetTablesResp::operator=(const TGetTablesResp& other269) { + status = other269.status; + operationHandle = other269.operationHandle; + __isset = other269.__isset; return *this; } void TGetTablesResp::printTo(std::ostream& out) const { @@ -6817,11 +7203,11 @@ void swap(TGetTableTypesReq &a, TGetTableTypesReq &b) { swap(a.sessionHandle, b.sessionHandle); } -TGetTableTypesReq::TGetTableTypesReq(const TGetTableTypesReq& other248) { - sessionHandle = other248.sessionHandle; +TGetTableTypesReq::TGetTableTypesReq(const TGetTableTypesReq& other270) { + sessionHandle = other270.sessionHandle; } -TGetTableTypesReq& TGetTableTypesReq::operator=(const TGetTableTypesReq& other249) { - sessionHandle = other249.sessionHandle; +TGetTableTypesReq& TGetTableTypesReq::operator=(const TGetTableTypesReq& other271) { + sessionHandle = other271.sessionHandle; return *this; } void TGetTableTypesReq::printTo(std::ostream& out) const { @@ -6923,15 +7309,15 @@ void swap(TGetTableTypesResp &a, TGetTableTypesResp &b) { swap(a.__isset, b.__isset); } -TGetTableTypesResp::TGetTableTypesResp(const TGetTableTypesResp& other250) { - status = other250.status; - operationHandle = other250.operationHandle; - __isset = other250.__isset; +TGetTableTypesResp::TGetTableTypesResp(const TGetTableTypesResp& other272) { + status = other272.status; + operationHandle = other272.operationHandle; + __isset = other272.__isset; } -TGetTableTypesResp& TGetTableTypesResp::operator=(const TGetTableTypesResp& other251) { - status = other251.status; - operationHandle = other251.operationHandle; - __isset = other251.__isset; +TGetTableTypesResp& TGetTableTypesResp::operator=(const TGetTableTypesResp& other273) { + status = other273.status; + operationHandle = other273.operationHandle; + __isset = other273.__isset; return *this; } void TGetTableTypesResp::printTo(std::ostream& out) const { @@ -7091,21 +7477,21 @@ void swap(TGetColumnsReq &a, TGetColumnsReq &b) { swap(a.__isset, b.__isset); } -TGetColumnsReq::TGetColumnsReq(const TGetColumnsReq& other252) { - sessionHandle = other252.sessionHandle; - catalogName = other252.catalogName; - schemaName = other252.schemaName; - tableName = other252.tableName; - columnName = other252.columnName; - __isset = other252.__isset; -} -TGetColumnsReq& TGetColumnsReq::operator=(const TGetColumnsReq& other253) { - sessionHandle = other253.sessionHandle; - catalogName = other253.catalogName; - schemaName = other253.schemaName; - tableName = other253.tableName; - columnName = other253.columnName; - __isset = other253.__isset; +TGetColumnsReq::TGetColumnsReq(const TGetColumnsReq& other274) { + sessionHandle = other274.sessionHandle; + catalogName = other274.catalogName; + schemaName = other274.schemaName; + tableName = other274.tableName; + columnName = other274.columnName; + __isset = other274.__isset; +} +TGetColumnsReq& TGetColumnsReq::operator=(const TGetColumnsReq& other275) { + sessionHandle = other275.sessionHandle; + catalogName = other275.catalogName; + schemaName = other275.schemaName; + tableName = other275.tableName; + columnName = other275.columnName; + __isset = other275.__isset; return *this; } void TGetColumnsReq::printTo(std::ostream& out) const { @@ -7211,15 +7597,15 @@ void swap(TGetColumnsResp &a, TGetColumnsResp &b) { swap(a.__isset, b.__isset); } -TGetColumnsResp::TGetColumnsResp(const TGetColumnsResp& other254) { - status = other254.status; - operationHandle = other254.operationHandle; - __isset = other254.__isset; +TGetColumnsResp::TGetColumnsResp(const TGetColumnsResp& other276) { + status = other276.status; + operationHandle = other276.operationHandle; + __isset = other276.__isset; } -TGetColumnsResp& TGetColumnsResp::operator=(const TGetColumnsResp& other255) { - status = other255.status; - operationHandle = other255.operationHandle; - __isset = other255.__isset; +TGetColumnsResp& TGetColumnsResp::operator=(const TGetColumnsResp& other277) { + status = other277.status; + operationHandle = other277.operationHandle; + __isset = other277.__isset; return *this; } void TGetColumnsResp::printTo(std::ostream& out) const { @@ -7361,19 +7747,19 @@ void swap(TGetFunctionsReq &a, TGetFunctionsReq &b) { swap(a.__isset, b.__isset); } -TGetFunctionsReq::TGetFunctionsReq(const TGetFunctionsReq& other256) { - sessionHandle = other256.sessionHandle; - catalogName = other256.catalogName; - schemaName = other256.schemaName; - functionName = other256.functionName; - __isset = other256.__isset; +TGetFunctionsReq::TGetFunctionsReq(const TGetFunctionsReq& other278) { + sessionHandle = other278.sessionHandle; + catalogName = other278.catalogName; + schemaName = other278.schemaName; + functionName = other278.functionName; + __isset = other278.__isset; } -TGetFunctionsReq& TGetFunctionsReq::operator=(const TGetFunctionsReq& other257) { - sessionHandle = other257.sessionHandle; - catalogName = other257.catalogName; - schemaName = other257.schemaName; - functionName = other257.functionName; - __isset = other257.__isset; +TGetFunctionsReq& TGetFunctionsReq::operator=(const TGetFunctionsReq& other279) { + sessionHandle = other279.sessionHandle; + catalogName = other279.catalogName; + schemaName = other279.schemaName; + functionName = other279.functionName; + __isset = other279.__isset; return *this; } void TGetFunctionsReq::printTo(std::ostream& out) const { @@ -7478,15 +7864,15 @@ void swap(TGetFunctionsResp &a, TGetFunctionsResp &b) { swap(a.__isset, b.__isset); } -TGetFunctionsResp::TGetFunctionsResp(const TGetFunctionsResp& other258) { - status = other258.status; - operationHandle = other258.operationHandle; - __isset = other258.__isset; +TGetFunctionsResp::TGetFunctionsResp(const TGetFunctionsResp& other280) { + status = other280.status; + operationHandle = other280.operationHandle; + __isset = other280.__isset; } -TGetFunctionsResp& TGetFunctionsResp::operator=(const TGetFunctionsResp& other259) { - status = other259.status; - operationHandle = other259.operationHandle; - __isset = other259.__isset; +TGetFunctionsResp& TGetFunctionsResp::operator=(const TGetFunctionsResp& other281) { + status = other281.status; + operationHandle = other281.operationHandle; + __isset = other281.__isset; return *this; } void TGetFunctionsResp::printTo(std::ostream& out) const { @@ -7569,11 +7955,11 @@ void swap(TGetOperationStatusReq &a, TGetOperationStatusReq &b) { swap(a.operationHandle, b.operationHandle); } -TGetOperationStatusReq::TGetOperationStatusReq(const TGetOperationStatusReq& other260) { - operationHandle = other260.operationHandle; +TGetOperationStatusReq::TGetOperationStatusReq(const TGetOperationStatusReq& other282) { + operationHandle = other282.operationHandle; } -TGetOperationStatusReq& TGetOperationStatusReq::operator=(const TGetOperationStatusReq& other261) { - operationHandle = other261.operationHandle; +TGetOperationStatusReq& TGetOperationStatusReq::operator=(const TGetOperationStatusReq& other283) { + operationHandle = other283.operationHandle; return *this; } void TGetOperationStatusReq::printTo(std::ostream& out) const { @@ -7644,9 +8030,9 @@ uint32_t TGetOperationStatusResp::read(::apache::thrift::protocol::TProtocol* ip break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast262; - xfer += iprot->readI32(ecast262); - this->operationState = (TOperationState::type)ecast262; + int32_t ecast284; + xfer += iprot->readI32(ecast284); + this->operationState = (TOperationState::type)ecast284; this->__isset.operationState = true; } else { xfer += iprot->skip(ftype); @@ -7734,21 +8120,21 @@ void swap(TGetOperationStatusResp &a, TGetOperationStatusResp &b) { swap(a.__isset, b.__isset); } -TGetOperationStatusResp::TGetOperationStatusResp(const TGetOperationStatusResp& other263) { - status = other263.status; - operationState = other263.operationState; - sqlState = other263.sqlState; - errorCode = other263.errorCode; - errorMessage = other263.errorMessage; - __isset = other263.__isset; -} -TGetOperationStatusResp& TGetOperationStatusResp::operator=(const TGetOperationStatusResp& other264) { - status = other264.status; - operationState = other264.operationState; - sqlState = other264.sqlState; - errorCode = other264.errorCode; - errorMessage = other264.errorMessage; - __isset = other264.__isset; +TGetOperationStatusResp::TGetOperationStatusResp(const TGetOperationStatusResp& other285) { + status = other285.status; + operationState = other285.operationState; + sqlState = other285.sqlState; + errorCode = other285.errorCode; + errorMessage = other285.errorMessage; + __isset = other285.__isset; +} +TGetOperationStatusResp& TGetOperationStatusResp::operator=(const TGetOperationStatusResp& other286) { + status = other286.status; + operationState = other286.operationState; + sqlState = other286.sqlState; + errorCode = other286.errorCode; + errorMessage = other286.errorMessage; + __isset = other286.__isset; return *this; } void TGetOperationStatusResp::printTo(std::ostream& out) const { @@ -7834,11 +8220,11 @@ void swap(TCancelOperationReq &a, TCancelOperationReq &b) { swap(a.operationHandle, b.operationHandle); } -TCancelOperationReq::TCancelOperationReq(const TCancelOperationReq& other265) { - operationHandle = other265.operationHandle; +TCancelOperationReq::TCancelOperationReq(const TCancelOperationReq& other287) { + operationHandle = other287.operationHandle; } -TCancelOperationReq& TCancelOperationReq::operator=(const TCancelOperationReq& other266) { - operationHandle = other266.operationHandle; +TCancelOperationReq& TCancelOperationReq::operator=(const TCancelOperationReq& other288) { + operationHandle = other288.operationHandle; return *this; } void TCancelOperationReq::printTo(std::ostream& out) const { @@ -7920,11 +8306,11 @@ void swap(TCancelOperationResp &a, TCancelOperationResp &b) { swap(a.status, b.status); } -TCancelOperationResp::TCancelOperationResp(const TCancelOperationResp& other267) { - status = other267.status; +TCancelOperationResp::TCancelOperationResp(const TCancelOperationResp& other289) { + status = other289.status; } -TCancelOperationResp& TCancelOperationResp::operator=(const TCancelOperationResp& other268) { - status = other268.status; +TCancelOperationResp& TCancelOperationResp::operator=(const TCancelOperationResp& other290) { + status = other290.status; return *this; } void TCancelOperationResp::printTo(std::ostream& out) const { @@ -8006,11 +8392,11 @@ void swap(TCloseOperationReq &a, TCloseOperationReq &b) { swap(a.operationHandle, b.operationHandle); } -TCloseOperationReq::TCloseOperationReq(const TCloseOperationReq& other269) { - operationHandle = other269.operationHandle; +TCloseOperationReq::TCloseOperationReq(const TCloseOperationReq& other291) { + operationHandle = other291.operationHandle; } -TCloseOperationReq& TCloseOperationReq::operator=(const TCloseOperationReq& other270) { - operationHandle = other270.operationHandle; +TCloseOperationReq& TCloseOperationReq::operator=(const TCloseOperationReq& other292) { + operationHandle = other292.operationHandle; return *this; } void TCloseOperationReq::printTo(std::ostream& out) const { @@ -8092,11 +8478,11 @@ void swap(TCloseOperationResp &a, TCloseOperationResp &b) { swap(a.status, b.status); } -TCloseOperationResp::TCloseOperationResp(const TCloseOperationResp& other271) { - status = other271.status; +TCloseOperationResp::TCloseOperationResp(const TCloseOperationResp& other293) { + status = other293.status; } -TCloseOperationResp& TCloseOperationResp::operator=(const TCloseOperationResp& other272) { - status = other272.status; +TCloseOperationResp& TCloseOperationResp::operator=(const TCloseOperationResp& other294) { + status = other294.status; return *this; } void TCloseOperationResp::printTo(std::ostream& out) const { @@ -8178,11 +8564,11 @@ void swap(TGetResultSetMetadataReq &a, TGetResultSetMetadataReq &b) { swap(a.operationHandle, b.operationHandle); } -TGetResultSetMetadataReq::TGetResultSetMetadataReq(const TGetResultSetMetadataReq& other273) { - operationHandle = other273.operationHandle; +TGetResultSetMetadataReq::TGetResultSetMetadataReq(const TGetResultSetMetadataReq& other295) { + operationHandle = other295.operationHandle; } -TGetResultSetMetadataReq& TGetResultSetMetadataReq::operator=(const TGetResultSetMetadataReq& other274) { - operationHandle = other274.operationHandle; +TGetResultSetMetadataReq& TGetResultSetMetadataReq::operator=(const TGetResultSetMetadataReq& other296) { + operationHandle = other296.operationHandle; return *this; } void TGetResultSetMetadataReq::printTo(std::ostream& out) const { @@ -8284,15 +8670,15 @@ void swap(TGetResultSetMetadataResp &a, TGetResultSetMetadataResp &b) { swap(a.__isset, b.__isset); } -TGetResultSetMetadataResp::TGetResultSetMetadataResp(const TGetResultSetMetadataResp& other275) { - status = other275.status; - schema = other275.schema; - __isset = other275.__isset; +TGetResultSetMetadataResp::TGetResultSetMetadataResp(const TGetResultSetMetadataResp& other297) { + status = other297.status; + schema = other297.schema; + __isset = other297.__isset; } -TGetResultSetMetadataResp& TGetResultSetMetadataResp::operator=(const TGetResultSetMetadataResp& other276) { - status = other276.status; - schema = other276.schema; - __isset = other276.__isset; +TGetResultSetMetadataResp& TGetResultSetMetadataResp::operator=(const TGetResultSetMetadataResp& other298) { + status = other298.status; + schema = other298.schema; + __isset = other298.__isset; return *this; } void TGetResultSetMetadataResp::printTo(std::ostream& out) const { @@ -8359,9 +8745,9 @@ uint32_t TFetchResultsReq::read(::apache::thrift::protocol::TProtocol* iprot) { break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast277; - xfer += iprot->readI32(ecast277); - this->orientation = (TFetchOrientation::type)ecast277; + int32_t ecast299; + xfer += iprot->readI32(ecast299); + this->orientation = (TFetchOrientation::type)ecast299; isset_orientation = true; } else { xfer += iprot->skip(ftype); @@ -8437,19 +8823,19 @@ void swap(TFetchResultsReq &a, TFetchResultsReq &b) { swap(a.__isset, b.__isset); } -TFetchResultsReq::TFetchResultsReq(const TFetchResultsReq& other278) { - operationHandle = other278.operationHandle; - orientation = other278.orientation; - maxRows = other278.maxRows; - fetchType = other278.fetchType; - __isset = other278.__isset; +TFetchResultsReq::TFetchResultsReq(const TFetchResultsReq& other300) { + operationHandle = other300.operationHandle; + orientation = other300.orientation; + maxRows = other300.maxRows; + fetchType = other300.fetchType; + __isset = other300.__isset; } -TFetchResultsReq& TFetchResultsReq::operator=(const TFetchResultsReq& other279) { - operationHandle = other279.operationHandle; - orientation = other279.orientation; - maxRows = other279.maxRows; - fetchType = other279.fetchType; - __isset = other279.__isset; +TFetchResultsReq& TFetchResultsReq::operator=(const TFetchResultsReq& other301) { + operationHandle = other301.operationHandle; + orientation = other301.orientation; + maxRows = other301.maxRows; + fetchType = other301.fetchType; + __isset = other301.__isset; return *this; } void TFetchResultsReq::printTo(std::ostream& out) const { @@ -8573,17 +8959,17 @@ void swap(TFetchResultsResp &a, TFetchResultsResp &b) { swap(a.__isset, b.__isset); } -TFetchResultsResp::TFetchResultsResp(const TFetchResultsResp& other280) { - status = other280.status; - hasMoreRows = other280.hasMoreRows; - results = other280.results; - __isset = other280.__isset; +TFetchResultsResp::TFetchResultsResp(const TFetchResultsResp& other302) { + status = other302.status; + hasMoreRows = other302.hasMoreRows; + results = other302.results; + __isset = other302.__isset; } -TFetchResultsResp& TFetchResultsResp::operator=(const TFetchResultsResp& other281) { - status = other281.status; - hasMoreRows = other281.hasMoreRows; - results = other281.results; - __isset = other281.__isset; +TFetchResultsResp& TFetchResultsResp::operator=(const TFetchResultsResp& other303) { + status = other303.status; + hasMoreRows = other303.hasMoreRows; + results = other303.results; + __isset = other303.__isset; return *this; } void TFetchResultsResp::printTo(std::ostream& out) const { @@ -8707,15 +9093,15 @@ void swap(TGetDelegationTokenReq &a, TGetDelegationTokenReq &b) { swap(a.renewer, b.renewer); } -TGetDelegationTokenReq::TGetDelegationTokenReq(const TGetDelegationTokenReq& other282) { - sessionHandle = other282.sessionHandle; - owner = other282.owner; - renewer = other282.renewer; +TGetDelegationTokenReq::TGetDelegationTokenReq(const TGetDelegationTokenReq& other304) { + sessionHandle = other304.sessionHandle; + owner = other304.owner; + renewer = other304.renewer; } -TGetDelegationTokenReq& TGetDelegationTokenReq::operator=(const TGetDelegationTokenReq& other283) { - sessionHandle = other283.sessionHandle; - owner = other283.owner; - renewer = other283.renewer; +TGetDelegationTokenReq& TGetDelegationTokenReq::operator=(const TGetDelegationTokenReq& other305) { + sessionHandle = other305.sessionHandle; + owner = other305.owner; + renewer = other305.renewer; return *this; } void TGetDelegationTokenReq::printTo(std::ostream& out) const { @@ -8819,15 +9205,15 @@ void swap(TGetDelegationTokenResp &a, TGetDelegationTokenResp &b) { swap(a.__isset, b.__isset); } -TGetDelegationTokenResp::TGetDelegationTokenResp(const TGetDelegationTokenResp& other284) { - status = other284.status; - delegationToken = other284.delegationToken; - __isset = other284.__isset; +TGetDelegationTokenResp::TGetDelegationTokenResp(const TGetDelegationTokenResp& other306) { + status = other306.status; + delegationToken = other306.delegationToken; + __isset = other306.__isset; } -TGetDelegationTokenResp& TGetDelegationTokenResp::operator=(const TGetDelegationTokenResp& other285) { - status = other285.status; - delegationToken = other285.delegationToken; - __isset = other285.__isset; +TGetDelegationTokenResp& TGetDelegationTokenResp::operator=(const TGetDelegationTokenResp& other307) { + status = other307.status; + delegationToken = other307.delegationToken; + __isset = other307.__isset; return *this; } void TGetDelegationTokenResp::printTo(std::ostream& out) const { @@ -8930,13 +9316,13 @@ void swap(TCancelDelegationTokenReq &a, TCancelDelegationTokenReq &b) { swap(a.delegationToken, b.delegationToken); } -TCancelDelegationTokenReq::TCancelDelegationTokenReq(const TCancelDelegationTokenReq& other286) { - sessionHandle = other286.sessionHandle; - delegationToken = other286.delegationToken; +TCancelDelegationTokenReq::TCancelDelegationTokenReq(const TCancelDelegationTokenReq& other308) { + sessionHandle = other308.sessionHandle; + delegationToken = other308.delegationToken; } -TCancelDelegationTokenReq& TCancelDelegationTokenReq::operator=(const TCancelDelegationTokenReq& other287) { - sessionHandle = other287.sessionHandle; - delegationToken = other287.delegationToken; +TCancelDelegationTokenReq& TCancelDelegationTokenReq::operator=(const TCancelDelegationTokenReq& other309) { + sessionHandle = other309.sessionHandle; + delegationToken = other309.delegationToken; return *this; } void TCancelDelegationTokenReq::printTo(std::ostream& out) const { @@ -9019,11 +9405,11 @@ void swap(TCancelDelegationTokenResp &a, TCancelDelegationTokenResp &b) { swap(a.status, b.status); } -TCancelDelegationTokenResp::TCancelDelegationTokenResp(const TCancelDelegationTokenResp& other288) { - status = other288.status; +TCancelDelegationTokenResp::TCancelDelegationTokenResp(const TCancelDelegationTokenResp& other310) { + status = other310.status; } -TCancelDelegationTokenResp& TCancelDelegationTokenResp::operator=(const TCancelDelegationTokenResp& other289) { - status = other289.status; +TCancelDelegationTokenResp& TCancelDelegationTokenResp::operator=(const TCancelDelegationTokenResp& other311) { + status = other311.status; return *this; } void TCancelDelegationTokenResp::printTo(std::ostream& out) const { @@ -9125,13 +9511,13 @@ void swap(TRenewDelegationTokenReq &a, TRenewDelegationTokenReq &b) { swap(a.delegationToken, b.delegationToken); } -TRenewDelegationTokenReq::TRenewDelegationTokenReq(const TRenewDelegationTokenReq& other290) { - sessionHandle = other290.sessionHandle; - delegationToken = other290.delegationToken; +TRenewDelegationTokenReq::TRenewDelegationTokenReq(const TRenewDelegationTokenReq& other312) { + sessionHandle = other312.sessionHandle; + delegationToken = other312.delegationToken; } -TRenewDelegationTokenReq& TRenewDelegationTokenReq::operator=(const TRenewDelegationTokenReq& other291) { - sessionHandle = other291.sessionHandle; - delegationToken = other291.delegationToken; +TRenewDelegationTokenReq& TRenewDelegationTokenReq::operator=(const TRenewDelegationTokenReq& other313) { + sessionHandle = other313.sessionHandle; + delegationToken = other313.delegationToken; return *this; } void TRenewDelegationTokenReq::printTo(std::ostream& out) const { @@ -9214,11 +9600,11 @@ void swap(TRenewDelegationTokenResp &a, TRenewDelegationTokenResp &b) { swap(a.status, b.status); } -TRenewDelegationTokenResp::TRenewDelegationTokenResp(const TRenewDelegationTokenResp& other292) { - status = other292.status; +TRenewDelegationTokenResp::TRenewDelegationTokenResp(const TRenewDelegationTokenResp& other314) { + status = other314.status; } -TRenewDelegationTokenResp& TRenewDelegationTokenResp::operator=(const TRenewDelegationTokenResp& other293) { - status = other293.status; +TRenewDelegationTokenResp& TRenewDelegationTokenResp::operator=(const TRenewDelegationTokenResp& other315) { + status = other315.status; return *this; } void TRenewDelegationTokenResp::printTo(std::ostream& out) const { diff --git a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TCLIService.java b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TCLIService.java index ded848f2b81bf698a819732a2e9ea4bc67fd2a26..20b7d58e66bd14a74059a4640648b9c17e904db8 100644 --- a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TCLIService.java +++ b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TCLIService.java @@ -41,6 +41,8 @@ public TOpenSessionResp OpenSession(TOpenSessionReq req) throws org.apache.thrift.TException; + public TRestoreSessionResp RestoreSession(TRestoreSessionReq req) throws org.apache.thrift.TException; + public TCloseSessionResp CloseSession(TCloseSessionReq req) throws org.apache.thrift.TException; public TGetInfoResp GetInfo(TGetInfoReq req) throws org.apache.thrift.TException; @@ -83,6 +85,8 @@ public void OpenSession(TOpenSessionReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void RestoreSession(TRestoreSessionReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void CloseSession(TCloseSessionReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; public void GetInfo(TGetInfoReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; @@ -164,6 +168,29 @@ public TOpenSessionResp recv_OpenSession() throws org.apache.thrift.TException throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result"); } + public TRestoreSessionResp RestoreSession(TRestoreSessionReq req) throws org.apache.thrift.TException + { + send_RestoreSession(req); + return recv_RestoreSession(); + } + + public void send_RestoreSession(TRestoreSessionReq req) throws org.apache.thrift.TException + { + RestoreSession_args args = new RestoreSession_args(); + args.setReq(req); + sendBase("RestoreSession", args); + } + + public TRestoreSessionResp recv_RestoreSession() throws org.apache.thrift.TException + { + RestoreSession_result result = new RestoreSession_result(); + receiveBase(result, "RestoreSession"); + if (result.isSetSuccess()) { + return result.success; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "RestoreSession failed: unknown result"); + } + public TCloseSessionResp CloseSession(TCloseSessionReq req) throws org.apache.thrift.TException { send_CloseSession(req); @@ -628,6 +655,38 @@ public TOpenSessionResp getResult() throws org.apache.thrift.TException { } } + public void RestoreSession(TRestoreSessionReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + RestoreSession_call method_call = new RestoreSession_call(req, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class RestoreSession_call extends org.apache.thrift.async.TAsyncMethodCall { + private TRestoreSessionReq req; + public RestoreSession_call(TRestoreSessionReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.req = req; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("RestoreSession", org.apache.thrift.protocol.TMessageType.CALL, 0)); + RestoreSession_args args = new RestoreSession_args(); + args.setReq(req); + args.write(prot); + prot.writeMessageEnd(); + } + + public TRestoreSessionResp getResult() throws org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_RestoreSession(); + } + } + public void CloseSession(TCloseSessionReq req, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { checkReady(); CloseSession_call method_call = new CloseSession_call(req, resultHandler, this, ___protocolFactory, ___transport); @@ -1218,6 +1277,7 @@ protected Processor(I iface, Map Map> getProcessMap(Map> processMap) { processMap.put("OpenSession", new OpenSession()); + processMap.put("RestoreSession", new RestoreSession()); processMap.put("CloseSession", new CloseSession()); processMap.put("GetInfo", new GetInfo()); processMap.put("ExecuteStatement", new ExecuteStatement()); @@ -1259,6 +1319,26 @@ public OpenSession_result getResult(I iface, OpenSession_args args) throws org.a } } + public static class RestoreSession extends org.apache.thrift.ProcessFunction { + public RestoreSession() { + super("RestoreSession"); + } + + public RestoreSession_args getEmptyArgsInstance() { + return new RestoreSession_args(); + } + + protected boolean isOneway() { + return false; + } + + public RestoreSession_result getResult(I iface, RestoreSession_args args) throws org.apache.thrift.TException { + RestoreSession_result result = new RestoreSession_result(); + result.success = iface.RestoreSession(args.req); + return result; + } + } + public static class CloseSession extends org.apache.thrift.ProcessFunction { public CloseSession() { super("CloseSession"); @@ -1633,6 +1713,7 @@ protected AsyncProcessor(I iface, Map Map> getProcessMap(Map> processMap) { processMap.put("OpenSession", new OpenSession()); + processMap.put("RestoreSession", new RestoreSession()); processMap.put("CloseSession", new CloseSession()); processMap.put("GetInfo", new GetInfo()); processMap.put("ExecuteStatement", new ExecuteStatement()); @@ -1705,6 +1786,57 @@ public void start(I iface, OpenSession_args args, org.apache.thrift.async.AsyncM } } + public static class RestoreSession extends org.apache.thrift.AsyncProcessFunction { + public RestoreSession() { + super("RestoreSession"); + } + + public RestoreSession_args getEmptyArgsInstance() { + return new RestoreSession_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(TRestoreSessionResp o) { + RestoreSession_result result = new RestoreSession_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + RestoreSession_result result = new RestoreSession_result(); + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, RestoreSession_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.RestoreSession(args.req,resultHandler); + } + } + public static class CloseSession extends org.apache.thrift.AsyncProcessFunction { public CloseSession() { super("CloseSession"); @@ -3351,6 +3483,732 @@ public void read(org.apache.thrift.protocol.TProtocol prot, OpenSession_result s } + public static class RestoreSession_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RestoreSession_args"); + + private static final org.apache.thrift.protocol.TField REQ_FIELD_DESC = new org.apache.thrift.protocol.TField("req", org.apache.thrift.protocol.TType.STRUCT, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new RestoreSession_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new RestoreSession_argsTupleSchemeFactory()); + } + + private TRestoreSessionReq req; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + REQ((short)1, "req"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // REQ + return REQ; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.REQ, new org.apache.thrift.meta_data.FieldMetaData("req", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TRestoreSessionReq.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(RestoreSession_args.class, metaDataMap); + } + + public RestoreSession_args() { + } + + public RestoreSession_args( + TRestoreSessionReq req) + { + this(); + this.req = req; + } + + /** + * Performs a deep copy on other. + */ + public RestoreSession_args(RestoreSession_args other) { + if (other.isSetReq()) { + this.req = new TRestoreSessionReq(other.req); + } + } + + public RestoreSession_args deepCopy() { + return new RestoreSession_args(this); + } + + @Override + public void clear() { + this.req = null; + } + + public TRestoreSessionReq getReq() { + return this.req; + } + + public void setReq(TRestoreSessionReq req) { + this.req = req; + } + + public void unsetReq() { + this.req = null; + } + + /** Returns true if field req is set (has been assigned a value) and false otherwise */ + public boolean isSetReq() { + return this.req != null; + } + + public void setReqIsSet(boolean value) { + if (!value) { + this.req = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case REQ: + if (value == null) { + unsetReq(); + } else { + setReq((TRestoreSessionReq)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case REQ: + return getReq(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case REQ: + return isSetReq(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof RestoreSession_args) + return this.equals((RestoreSession_args)that); + return false; + } + + public boolean equals(RestoreSession_args that) { + if (that == null) + return false; + + boolean this_present_req = true && this.isSetReq(); + boolean that_present_req = true && that.isSetReq(); + if (this_present_req || that_present_req) { + if (!(this_present_req && that_present_req)) + return false; + if (!this.req.equals(that.req)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_req = true && (isSetReq()); + list.add(present_req); + if (present_req) + list.add(req); + + return list.hashCode(); + } + + @Override + public int compareTo(RestoreSession_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetReq()).compareTo(other.isSetReq()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetReq()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.req, other.req); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("RestoreSession_args("); + boolean first = true; + + sb.append("req:"); + if (this.req == null) { + sb.append("null"); + } else { + sb.append(this.req); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (req != null) { + req.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class RestoreSession_argsStandardSchemeFactory implements SchemeFactory { + public RestoreSession_argsStandardScheme getScheme() { + return new RestoreSession_argsStandardScheme(); + } + } + + private static class RestoreSession_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, RestoreSession_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // REQ + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.req = new TRestoreSessionReq(); + struct.req.read(iprot); + struct.setReqIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, RestoreSession_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.req != null) { + oprot.writeFieldBegin(REQ_FIELD_DESC); + struct.req.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class RestoreSession_argsTupleSchemeFactory implements SchemeFactory { + public RestoreSession_argsTupleScheme getScheme() { + return new RestoreSession_argsTupleScheme(); + } + } + + private static class RestoreSession_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, RestoreSession_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetReq()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetReq()) { + struct.req.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, RestoreSession_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.req = new TRestoreSessionReq(); + struct.req.read(iprot); + struct.setReqIsSet(true); + } + } + } + + } + + public static class RestoreSession_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RestoreSession_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new RestoreSession_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new RestoreSession_resultTupleSchemeFactory()); + } + + private TRestoreSessionResp success; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TRestoreSessionResp.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(RestoreSession_result.class, metaDataMap); + } + + public RestoreSession_result() { + } + + public RestoreSession_result( + TRestoreSessionResp success) + { + this(); + this.success = success; + } + + /** + * Performs a deep copy on other. + */ + public RestoreSession_result(RestoreSession_result other) { + if (other.isSetSuccess()) { + this.success = new TRestoreSessionResp(other.success); + } + } + + public RestoreSession_result deepCopy() { + return new RestoreSession_result(this); + } + + @Override + public void clear() { + this.success = null; + } + + public TRestoreSessionResp getSuccess() { + return this.success; + } + + public void setSuccess(TRestoreSessionResp success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((TRestoreSessionResp)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof RestoreSession_result) + return this.equals((RestoreSession_result)that); + return false; + } + + public boolean equals(RestoreSession_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + return list.hashCode(); + } + + @Override + public int compareTo(RestoreSession_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("RestoreSession_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class RestoreSession_resultStandardSchemeFactory implements SchemeFactory { + public RestoreSession_resultStandardScheme getScheme() { + return new RestoreSession_resultStandardScheme(); + } + } + + private static class RestoreSession_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, RestoreSession_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new TRestoreSessionResp(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, RestoreSession_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class RestoreSession_resultTupleSchemeFactory implements SchemeFactory { + public RestoreSession_resultTupleScheme getScheme() { + return new RestoreSession_resultTupleScheme(); + } + } + + private static class RestoreSession_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, RestoreSession_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, RestoreSession_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.success = new TRestoreSessionResp(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + } + } + + } + public static class CloseSession_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloseSession_args"); diff --git a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TExecuteStatementReq.java b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TExecuteStatementReq.java index 30cf243f541304a2ac05c775c912d542520ebe05..a6ed7c2724cd515bb51fca4c74eebffc80bf3c06 100644 --- a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TExecuteStatementReq.java +++ b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TExecuteStatementReq.java @@ -617,15 +617,15 @@ public void read(org.apache.thrift.protocol.TProtocol iprot, TExecuteStatementRe case 3: // CONF_OVERLAY if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { { - org.apache.thrift.protocol.TMap _map162 = iprot.readMapBegin(); - struct.confOverlay = new HashMap(2*_map162.size); - String _key163; - String _val164; - for (int _i165 = 0; _i165 < _map162.size; ++_i165) + org.apache.thrift.protocol.TMap _map182 = iprot.readMapBegin(); + struct.confOverlay = new HashMap(2*_map182.size); + String _key183; + String _val184; + for (int _i185 = 0; _i185 < _map182.size; ++_i185) { - _key163 = iprot.readString(); - _val164 = iprot.readString(); - struct.confOverlay.put(_key163, _val164); + _key183 = iprot.readString(); + _val184 = iprot.readString(); + struct.confOverlay.put(_key183, _val184); } iprot.readMapEnd(); } @@ -670,10 +670,10 @@ public void write(org.apache.thrift.protocol.TProtocol oprot, TExecuteStatementR oprot.writeFieldBegin(CONF_OVERLAY_FIELD_DESC); { oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.confOverlay.size())); - for (Map.Entry _iter166 : struct.confOverlay.entrySet()) + for (Map.Entry _iter186 : struct.confOverlay.entrySet()) { - oprot.writeString(_iter166.getKey()); - oprot.writeString(_iter166.getValue()); + oprot.writeString(_iter186.getKey()); + oprot.writeString(_iter186.getValue()); } oprot.writeMapEnd(); } @@ -715,10 +715,10 @@ public void write(org.apache.thrift.protocol.TProtocol prot, TExecuteStatementRe if (struct.isSetConfOverlay()) { { oprot.writeI32(struct.confOverlay.size()); - for (Map.Entry _iter167 : struct.confOverlay.entrySet()) + for (Map.Entry _iter187 : struct.confOverlay.entrySet()) { - oprot.writeString(_iter167.getKey()); - oprot.writeString(_iter167.getValue()); + oprot.writeString(_iter187.getKey()); + oprot.writeString(_iter187.getValue()); } } } @@ -738,15 +738,15 @@ public void read(org.apache.thrift.protocol.TProtocol prot, TExecuteStatementReq BitSet incoming = iprot.readBitSet(2); if (incoming.get(0)) { { - org.apache.thrift.protocol.TMap _map168 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); - struct.confOverlay = new HashMap(2*_map168.size); - String _key169; - String _val170; - for (int _i171 = 0; _i171 < _map168.size; ++_i171) + org.apache.thrift.protocol.TMap _map188 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.confOverlay = new HashMap(2*_map188.size); + String _key189; + String _val190; + for (int _i191 = 0; _i191 < _map188.size; ++_i191) { - _key169 = iprot.readString(); - _val170 = iprot.readString(); - struct.confOverlay.put(_key169, _val170); + _key189 = iprot.readString(); + _val190 = iprot.readString(); + struct.confOverlay.put(_key189, _val190); } } struct.setConfOverlayIsSet(true); diff --git a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TGetTablesReq.java b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TGetTablesReq.java index 4f2273214ab43b1116008183ff42a520769c6710..20f31a66199d878406c4ecfe7a7edea1c0231969 100644 --- a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TGetTablesReq.java +++ b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TGetTablesReq.java @@ -712,13 +712,13 @@ public void read(org.apache.thrift.protocol.TProtocol iprot, TGetTablesReq struc case 5: // TABLE_TYPES if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { { - org.apache.thrift.protocol.TList _list172 = iprot.readListBegin(); - struct.tableTypes = new ArrayList(_list172.size); - String _elem173; - for (int _i174 = 0; _i174 < _list172.size; ++_i174) + org.apache.thrift.protocol.TList _list192 = iprot.readListBegin(); + struct.tableTypes = new ArrayList(_list192.size); + String _elem193; + for (int _i194 = 0; _i194 < _list192.size; ++_i194) { - _elem173 = iprot.readString(); - struct.tableTypes.add(_elem173); + _elem193 = iprot.readString(); + struct.tableTypes.add(_elem193); } iprot.readListEnd(); } @@ -771,9 +771,9 @@ public void write(org.apache.thrift.protocol.TProtocol oprot, TGetTablesReq stru oprot.writeFieldBegin(TABLE_TYPES_FIELD_DESC); { oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.tableTypes.size())); - for (String _iter175 : struct.tableTypes) + for (String _iter195 : struct.tableTypes) { - oprot.writeString(_iter175); + oprot.writeString(_iter195); } oprot.writeListEnd(); } @@ -824,9 +824,9 @@ public void write(org.apache.thrift.protocol.TProtocol prot, TGetTablesReq struc if (struct.isSetTableTypes()) { { oprot.writeI32(struct.tableTypes.size()); - for (String _iter176 : struct.tableTypes) + for (String _iter196 : struct.tableTypes) { - oprot.writeString(_iter176); + oprot.writeString(_iter196); } } } @@ -853,13 +853,13 @@ public void read(org.apache.thrift.protocol.TProtocol prot, TGetTablesReq struct } if (incoming.get(3)) { { - org.apache.thrift.protocol.TList _list177 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); - struct.tableTypes = new ArrayList(_list177.size); - String _elem178; - for (int _i179 = 0; _i179 < _list177.size; ++_i179) + org.apache.thrift.protocol.TList _list197 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.tableTypes = new ArrayList(_list197.size); + String _elem198; + for (int _i199 = 0; _i199 < _list197.size; ++_i199) { - _elem178 = iprot.readString(); - struct.tableTypes.add(_elem178); + _elem198 = iprot.readString(); + struct.tableTypes.add(_elem198); } } struct.setTableTypesIsSet(true); diff --git a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TRestoreSessionReq.java b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TRestoreSessionReq.java new file mode 100644 index 0000000000000000000000000000000000000000..a574e0ad2a6a8b7656b0d395ac26c2d08a7554e3 --- /dev/null +++ b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TRestoreSessionReq.java @@ -0,0 +1,884 @@ +/** + * Autogenerated by Thrift Compiler (0.9.3) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.hive.service.cli.thrift; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +public class TRestoreSessionReq implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRestoreSessionReq"); + + private static final org.apache.thrift.protocol.TField CLIENT_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("client_protocol", org.apache.thrift.protocol.TType.I32, (short)1); + private static final org.apache.thrift.protocol.TField SESSION_HANDLE_FIELD_DESC = new org.apache.thrift.protocol.TField("sessionHandle", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final org.apache.thrift.protocol.TField USERNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("username", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField PASSWORD_FIELD_DESC = new org.apache.thrift.protocol.TField("password", org.apache.thrift.protocol.TType.STRING, (short)4); + private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC = new org.apache.thrift.protocol.TField("configuration", org.apache.thrift.protocol.TType.MAP, (short)5); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TRestoreSessionReqStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TRestoreSessionReqTupleSchemeFactory()); + } + + private TProtocolVersion client_protocol; // required + private TSessionHandle sessionHandle; // required + private String username; // optional + private String password; // optional + private Map configuration; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + /** + * + * @see TProtocolVersion + */ + CLIENT_PROTOCOL((short)1, "client_protocol"), + SESSION_HANDLE((short)2, "sessionHandle"), + USERNAME((short)3, "username"), + PASSWORD((short)4, "password"), + CONFIGURATION((short)5, "configuration"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // CLIENT_PROTOCOL + return CLIENT_PROTOCOL; + case 2: // SESSION_HANDLE + return SESSION_HANDLE; + case 3: // USERNAME + return USERNAME; + case 4: // PASSWORD + return PASSWORD; + case 5: // CONFIGURATION + return CONFIGURATION; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final _Fields optionals[] = {_Fields.USERNAME,_Fields.PASSWORD,_Fields.CONFIGURATION}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.CLIENT_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("client_protocol", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TProtocolVersion.class))); + tmpMap.put(_Fields.SESSION_HANDLE, new org.apache.thrift.meta_data.FieldMetaData("sessionHandle", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TSessionHandle.class))); + tmpMap.put(_Fields.USERNAME, new org.apache.thrift.meta_data.FieldMetaData("username", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.PASSWORD, new org.apache.thrift.meta_data.FieldMetaData("password", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.CONFIGURATION, new org.apache.thrift.meta_data.FieldMetaData("configuration", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TRestoreSessionReq.class, metaDataMap); + } + + public TRestoreSessionReq() { + this.client_protocol = org.apache.hive.service.cli.thrift.TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8; + + } + + public TRestoreSessionReq( + TProtocolVersion client_protocol, + TSessionHandle sessionHandle) + { + this(); + this.client_protocol = client_protocol; + this.sessionHandle = sessionHandle; + } + + /** + * Performs a deep copy on other. + */ + public TRestoreSessionReq(TRestoreSessionReq other) { + if (other.isSetClient_protocol()) { + this.client_protocol = other.client_protocol; + } + if (other.isSetSessionHandle()) { + this.sessionHandle = new TSessionHandle(other.sessionHandle); + } + if (other.isSetUsername()) { + this.username = other.username; + } + if (other.isSetPassword()) { + this.password = other.password; + } + if (other.isSetConfiguration()) { + Map __this__configuration = new HashMap(other.configuration); + this.configuration = __this__configuration; + } + } + + public TRestoreSessionReq deepCopy() { + return new TRestoreSessionReq(this); + } + + @Override + public void clear() { + this.client_protocol = org.apache.hive.service.cli.thrift.TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8; + + this.sessionHandle = null; + this.username = null; + this.password = null; + this.configuration = null; + } + + /** + * + * @see TProtocolVersion + */ + public TProtocolVersion getClient_protocol() { + return this.client_protocol; + } + + /** + * + * @see TProtocolVersion + */ + public void setClient_protocol(TProtocolVersion client_protocol) { + this.client_protocol = client_protocol; + } + + public void unsetClient_protocol() { + this.client_protocol = null; + } + + /** Returns true if field client_protocol is set (has been assigned a value) and false otherwise */ + public boolean isSetClient_protocol() { + return this.client_protocol != null; + } + + public void setClient_protocolIsSet(boolean value) { + if (!value) { + this.client_protocol = null; + } + } + + public TSessionHandle getSessionHandle() { + return this.sessionHandle; + } + + public void setSessionHandle(TSessionHandle sessionHandle) { + this.sessionHandle = sessionHandle; + } + + public void unsetSessionHandle() { + this.sessionHandle = null; + } + + /** Returns true if field sessionHandle is set (has been assigned a value) and false otherwise */ + public boolean isSetSessionHandle() { + return this.sessionHandle != null; + } + + public void setSessionHandleIsSet(boolean value) { + if (!value) { + this.sessionHandle = null; + } + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + + public void unsetUsername() { + this.username = null; + } + + /** Returns true if field username is set (has been assigned a value) and false otherwise */ + public boolean isSetUsername() { + return this.username != null; + } + + public void setUsernameIsSet(boolean value) { + if (!value) { + this.username = null; + } + } + + public String getPassword() { + return this.password; + } + + public void setPassword(String password) { + this.password = password; + } + + public void unsetPassword() { + this.password = null; + } + + /** Returns true if field password is set (has been assigned a value) and false otherwise */ + public boolean isSetPassword() { + return this.password != null; + } + + public void setPasswordIsSet(boolean value) { + if (!value) { + this.password = null; + } + } + + public int getConfigurationSize() { + return (this.configuration == null) ? 0 : this.configuration.size(); + } + + public void putToConfiguration(String key, String val) { + if (this.configuration == null) { + this.configuration = new HashMap(); + } + this.configuration.put(key, val); + } + + public Map getConfiguration() { + return this.configuration; + } + + public void setConfiguration(Map configuration) { + this.configuration = configuration; + } + + public void unsetConfiguration() { + this.configuration = null; + } + + /** Returns true if field configuration is set (has been assigned a value) and false otherwise */ + public boolean isSetConfiguration() { + return this.configuration != null; + } + + public void setConfigurationIsSet(boolean value) { + if (!value) { + this.configuration = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case CLIENT_PROTOCOL: + if (value == null) { + unsetClient_protocol(); + } else { + setClient_protocol((TProtocolVersion)value); + } + break; + + case SESSION_HANDLE: + if (value == null) { + unsetSessionHandle(); + } else { + setSessionHandle((TSessionHandle)value); + } + break; + + case USERNAME: + if (value == null) { + unsetUsername(); + } else { + setUsername((String)value); + } + break; + + case PASSWORD: + if (value == null) { + unsetPassword(); + } else { + setPassword((String)value); + } + break; + + case CONFIGURATION: + if (value == null) { + unsetConfiguration(); + } else { + setConfiguration((Map)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case CLIENT_PROTOCOL: + return getClient_protocol(); + + case SESSION_HANDLE: + return getSessionHandle(); + + case USERNAME: + return getUsername(); + + case PASSWORD: + return getPassword(); + + case CONFIGURATION: + return getConfiguration(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case CLIENT_PROTOCOL: + return isSetClient_protocol(); + case SESSION_HANDLE: + return isSetSessionHandle(); + case USERNAME: + return isSetUsername(); + case PASSWORD: + return isSetPassword(); + case CONFIGURATION: + return isSetConfiguration(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof TRestoreSessionReq) + return this.equals((TRestoreSessionReq)that); + return false; + } + + public boolean equals(TRestoreSessionReq that) { + if (that == null) + return false; + + boolean this_present_client_protocol = true && this.isSetClient_protocol(); + boolean that_present_client_protocol = true && that.isSetClient_protocol(); + if (this_present_client_protocol || that_present_client_protocol) { + if (!(this_present_client_protocol && that_present_client_protocol)) + return false; + if (!this.client_protocol.equals(that.client_protocol)) + return false; + } + + boolean this_present_sessionHandle = true && this.isSetSessionHandle(); + boolean that_present_sessionHandle = true && that.isSetSessionHandle(); + if (this_present_sessionHandle || that_present_sessionHandle) { + if (!(this_present_sessionHandle && that_present_sessionHandle)) + return false; + if (!this.sessionHandle.equals(that.sessionHandle)) + return false; + } + + boolean this_present_username = true && this.isSetUsername(); + boolean that_present_username = true && that.isSetUsername(); + if (this_present_username || that_present_username) { + if (!(this_present_username && that_present_username)) + return false; + if (!this.username.equals(that.username)) + return false; + } + + boolean this_present_password = true && this.isSetPassword(); + boolean that_present_password = true && that.isSetPassword(); + if (this_present_password || that_present_password) { + if (!(this_present_password && that_present_password)) + return false; + if (!this.password.equals(that.password)) + return false; + } + + boolean this_present_configuration = true && this.isSetConfiguration(); + boolean that_present_configuration = true && that.isSetConfiguration(); + if (this_present_configuration || that_present_configuration) { + if (!(this_present_configuration && that_present_configuration)) + return false; + if (!this.configuration.equals(that.configuration)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_client_protocol = true && (isSetClient_protocol()); + list.add(present_client_protocol); + if (present_client_protocol) + list.add(client_protocol.getValue()); + + boolean present_sessionHandle = true && (isSetSessionHandle()); + list.add(present_sessionHandle); + if (present_sessionHandle) + list.add(sessionHandle); + + boolean present_username = true && (isSetUsername()); + list.add(present_username); + if (present_username) + list.add(username); + + boolean present_password = true && (isSetPassword()); + list.add(present_password); + if (present_password) + list.add(password); + + boolean present_configuration = true && (isSetConfiguration()); + list.add(present_configuration); + if (present_configuration) + list.add(configuration); + + return list.hashCode(); + } + + @Override + public int compareTo(TRestoreSessionReq other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetClient_protocol()).compareTo(other.isSetClient_protocol()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetClient_protocol()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.client_protocol, other.client_protocol); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetSessionHandle()).compareTo(other.isSetSessionHandle()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSessionHandle()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sessionHandle, other.sessionHandle); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUsername()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.username, other.username); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetPassword()).compareTo(other.isSetPassword()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPassword()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.password, other.password); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetConfiguration()).compareTo(other.isSetConfiguration()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetConfiguration()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.configuration, other.configuration); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("TRestoreSessionReq("); + boolean first = true; + + sb.append("client_protocol:"); + if (this.client_protocol == null) { + sb.append("null"); + } else { + sb.append(this.client_protocol); + } + first = false; + if (!first) sb.append(", "); + sb.append("sessionHandle:"); + if (this.sessionHandle == null) { + sb.append("null"); + } else { + sb.append(this.sessionHandle); + } + first = false; + if (isSetUsername()) { + if (!first) sb.append(", "); + sb.append("username:"); + if (this.username == null) { + sb.append("null"); + } else { + sb.append(this.username); + } + first = false; + } + if (isSetPassword()) { + if (!first) sb.append(", "); + sb.append("password:"); + if (this.password == null) { + sb.append("null"); + } else { + sb.append(this.password); + } + first = false; + } + if (isSetConfiguration()) { + if (!first) sb.append(", "); + sb.append("configuration:"); + if (this.configuration == null) { + sb.append("null"); + } else { + sb.append(this.configuration); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!isSetClient_protocol()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'client_protocol' is unset! Struct:" + toString()); + } + + if (!isSetSessionHandle()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'sessionHandle' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + if (sessionHandle != null) { + sessionHandle.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class TRestoreSessionReqStandardSchemeFactory implements SchemeFactory { + public TRestoreSessionReqStandardScheme getScheme() { + return new TRestoreSessionReqStandardScheme(); + } + } + + private static class TRestoreSessionReqStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, TRestoreSessionReq struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CLIENT_PROTOCOL + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.client_protocol = org.apache.hive.service.cli.thrift.TProtocolVersion.findByValue(iprot.readI32()); + struct.setClient_protocolIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SESSION_HANDLE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sessionHandle = new TSessionHandle(); + struct.sessionHandle.read(iprot); + struct.setSessionHandleIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // USERNAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.username = iprot.readString(); + struct.setUsernameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // PASSWORD + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.password = iprot.readString(); + struct.setPasswordIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 5: // CONFIGURATION + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map162 = iprot.readMapBegin(); + struct.configuration = new HashMap(2*_map162.size); + String _key163; + String _val164; + for (int _i165 = 0; _i165 < _map162.size; ++_i165) + { + _key163 = iprot.readString(); + _val164 = iprot.readString(); + struct.configuration.put(_key163, _val164); + } + iprot.readMapEnd(); + } + struct.setConfigurationIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, TRestoreSessionReq struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.client_protocol != null) { + oprot.writeFieldBegin(CLIENT_PROTOCOL_FIELD_DESC); + oprot.writeI32(struct.client_protocol.getValue()); + oprot.writeFieldEnd(); + } + if (struct.sessionHandle != null) { + oprot.writeFieldBegin(SESSION_HANDLE_FIELD_DESC); + struct.sessionHandle.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.username != null) { + if (struct.isSetUsername()) { + oprot.writeFieldBegin(USERNAME_FIELD_DESC); + oprot.writeString(struct.username); + oprot.writeFieldEnd(); + } + } + if (struct.password != null) { + if (struct.isSetPassword()) { + oprot.writeFieldBegin(PASSWORD_FIELD_DESC); + oprot.writeString(struct.password); + oprot.writeFieldEnd(); + } + } + if (struct.configuration != null) { + if (struct.isSetConfiguration()) { + oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.configuration.size())); + for (Map.Entry _iter166 : struct.configuration.entrySet()) + { + oprot.writeString(_iter166.getKey()); + oprot.writeString(_iter166.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TRestoreSessionReqTupleSchemeFactory implements SchemeFactory { + public TRestoreSessionReqTupleScheme getScheme() { + return new TRestoreSessionReqTupleScheme(); + } + } + + private static class TRestoreSessionReqTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, TRestoreSessionReq struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI32(struct.client_protocol.getValue()); + struct.sessionHandle.write(oprot); + BitSet optionals = new BitSet(); + if (struct.isSetUsername()) { + optionals.set(0); + } + if (struct.isSetPassword()) { + optionals.set(1); + } + if (struct.isSetConfiguration()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetUsername()) { + oprot.writeString(struct.username); + } + if (struct.isSetPassword()) { + oprot.writeString(struct.password); + } + if (struct.isSetConfiguration()) { + { + oprot.writeI32(struct.configuration.size()); + for (Map.Entry _iter167 : struct.configuration.entrySet()) + { + oprot.writeString(_iter167.getKey()); + oprot.writeString(_iter167.getValue()); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, TRestoreSessionReq struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.client_protocol = org.apache.hive.service.cli.thrift.TProtocolVersion.findByValue(iprot.readI32()); + struct.setClient_protocolIsSet(true); + struct.sessionHandle = new TSessionHandle(); + struct.sessionHandle.read(iprot); + struct.setSessionHandleIsSet(true); + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.username = iprot.readString(); + struct.setUsernameIsSet(true); + } + if (incoming.get(1)) { + struct.password = iprot.readString(); + struct.setPasswordIsSet(true); + } + if (incoming.get(2)) { + { + org.apache.thrift.protocol.TMap _map168 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.configuration = new HashMap(2*_map168.size); + String _key169; + String _val170; + for (int _i171 = 0; _i171 < _map168.size; ++_i171) + { + _key169 = iprot.readString(); + _val170 = iprot.readString(); + struct.configuration.put(_key169, _val170); + } + } + struct.setConfigurationIsSet(true); + } + } + } + +} + diff --git a/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TRestoreSessionResp.java b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TRestoreSessionResp.java new file mode 100644 index 0000000000000000000000000000000000000000..7282f2faa98b635b6e0f5a5a806d594ccd4dedc9 --- /dev/null +++ b/service/src/gen/thrift/gen-javabean/org/apache/hive/service/cli/thrift/TRestoreSessionResp.java @@ -0,0 +1,783 @@ +/** + * Autogenerated by Thrift Compiler (0.9.3) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.hive.service.cli.thrift; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import javax.annotation.Generated; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +public class TRestoreSessionResp implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRestoreSessionResp"); + + private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField SERVER_PROTOCOL_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("serverProtocolVersion", org.apache.thrift.protocol.TType.I32, (short)2); + private static final org.apache.thrift.protocol.TField SESSION_HANDLE_FIELD_DESC = new org.apache.thrift.protocol.TField("sessionHandle", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC = new org.apache.thrift.protocol.TField("configuration", org.apache.thrift.protocol.TType.MAP, (short)4); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TRestoreSessionRespStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TRestoreSessionRespTupleSchemeFactory()); + } + + private TStatus status; // required + private TProtocolVersion serverProtocolVersion; // required + private TSessionHandle sessionHandle; // optional + private Map configuration; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + STATUS((short)1, "status"), + /** + * + * @see TProtocolVersion + */ + SERVER_PROTOCOL_VERSION((short)2, "serverProtocolVersion"), + SESSION_HANDLE((short)3, "sessionHandle"), + CONFIGURATION((short)4, "configuration"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // STATUS + return STATUS; + case 2: // SERVER_PROTOCOL_VERSION + return SERVER_PROTOCOL_VERSION; + case 3: // SESSION_HANDLE + return SESSION_HANDLE; + case 4: // CONFIGURATION + return CONFIGURATION; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final _Fields optionals[] = {_Fields.SESSION_HANDLE,_Fields.CONFIGURATION}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TStatus.class))); + tmpMap.put(_Fields.SERVER_PROTOCOL_VERSION, new org.apache.thrift.meta_data.FieldMetaData("serverProtocolVersion", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TProtocolVersion.class))); + tmpMap.put(_Fields.SESSION_HANDLE, new org.apache.thrift.meta_data.FieldMetaData("sessionHandle", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TSessionHandle.class))); + tmpMap.put(_Fields.CONFIGURATION, new org.apache.thrift.meta_data.FieldMetaData("configuration", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TRestoreSessionResp.class, metaDataMap); + } + + public TRestoreSessionResp() { + this.serverProtocolVersion = org.apache.hive.service.cli.thrift.TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8; + + } + + public TRestoreSessionResp( + TStatus status, + TProtocolVersion serverProtocolVersion) + { + this(); + this.status = status; + this.serverProtocolVersion = serverProtocolVersion; + } + + /** + * Performs a deep copy on other. + */ + public TRestoreSessionResp(TRestoreSessionResp other) { + if (other.isSetStatus()) { + this.status = new TStatus(other.status); + } + if (other.isSetServerProtocolVersion()) { + this.serverProtocolVersion = other.serverProtocolVersion; + } + if (other.isSetSessionHandle()) { + this.sessionHandle = new TSessionHandle(other.sessionHandle); + } + if (other.isSetConfiguration()) { + Map __this__configuration = new HashMap(other.configuration); + this.configuration = __this__configuration; + } + } + + public TRestoreSessionResp deepCopy() { + return new TRestoreSessionResp(this); + } + + @Override + public void clear() { + this.status = null; + this.serverProtocolVersion = org.apache.hive.service.cli.thrift.TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V8; + + this.sessionHandle = null; + this.configuration = null; + } + + public TStatus getStatus() { + return this.status; + } + + public void setStatus(TStatus status) { + this.status = status; + } + + public void unsetStatus() { + this.status = null; + } + + /** Returns true if field status is set (has been assigned a value) and false otherwise */ + public boolean isSetStatus() { + return this.status != null; + } + + public void setStatusIsSet(boolean value) { + if (!value) { + this.status = null; + } + } + + /** + * + * @see TProtocolVersion + */ + public TProtocolVersion getServerProtocolVersion() { + return this.serverProtocolVersion; + } + + /** + * + * @see TProtocolVersion + */ + public void setServerProtocolVersion(TProtocolVersion serverProtocolVersion) { + this.serverProtocolVersion = serverProtocolVersion; + } + + public void unsetServerProtocolVersion() { + this.serverProtocolVersion = null; + } + + /** Returns true if field serverProtocolVersion is set (has been assigned a value) and false otherwise */ + public boolean isSetServerProtocolVersion() { + return this.serverProtocolVersion != null; + } + + public void setServerProtocolVersionIsSet(boolean value) { + if (!value) { + this.serverProtocolVersion = null; + } + } + + public TSessionHandle getSessionHandle() { + return this.sessionHandle; + } + + public void setSessionHandle(TSessionHandle sessionHandle) { + this.sessionHandle = sessionHandle; + } + + public void unsetSessionHandle() { + this.sessionHandle = null; + } + + /** Returns true if field sessionHandle is set (has been assigned a value) and false otherwise */ + public boolean isSetSessionHandle() { + return this.sessionHandle != null; + } + + public void setSessionHandleIsSet(boolean value) { + if (!value) { + this.sessionHandle = null; + } + } + + public int getConfigurationSize() { + return (this.configuration == null) ? 0 : this.configuration.size(); + } + + public void putToConfiguration(String key, String val) { + if (this.configuration == null) { + this.configuration = new HashMap(); + } + this.configuration.put(key, val); + } + + public Map getConfiguration() { + return this.configuration; + } + + public void setConfiguration(Map configuration) { + this.configuration = configuration; + } + + public void unsetConfiguration() { + this.configuration = null; + } + + /** Returns true if field configuration is set (has been assigned a value) and false otherwise */ + public boolean isSetConfiguration() { + return this.configuration != null; + } + + public void setConfigurationIsSet(boolean value) { + if (!value) { + this.configuration = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case STATUS: + if (value == null) { + unsetStatus(); + } else { + setStatus((TStatus)value); + } + break; + + case SERVER_PROTOCOL_VERSION: + if (value == null) { + unsetServerProtocolVersion(); + } else { + setServerProtocolVersion((TProtocolVersion)value); + } + break; + + case SESSION_HANDLE: + if (value == null) { + unsetSessionHandle(); + } else { + setSessionHandle((TSessionHandle)value); + } + break; + + case CONFIGURATION: + if (value == null) { + unsetConfiguration(); + } else { + setConfiguration((Map)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case STATUS: + return getStatus(); + + case SERVER_PROTOCOL_VERSION: + return getServerProtocolVersion(); + + case SESSION_HANDLE: + return getSessionHandle(); + + case CONFIGURATION: + return getConfiguration(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case STATUS: + return isSetStatus(); + case SERVER_PROTOCOL_VERSION: + return isSetServerProtocolVersion(); + case SESSION_HANDLE: + return isSetSessionHandle(); + case CONFIGURATION: + return isSetConfiguration(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof TRestoreSessionResp) + return this.equals((TRestoreSessionResp)that); + return false; + } + + public boolean equals(TRestoreSessionResp that) { + if (that == null) + return false; + + boolean this_present_status = true && this.isSetStatus(); + boolean that_present_status = true && that.isSetStatus(); + if (this_present_status || that_present_status) { + if (!(this_present_status && that_present_status)) + return false; + if (!this.status.equals(that.status)) + return false; + } + + boolean this_present_serverProtocolVersion = true && this.isSetServerProtocolVersion(); + boolean that_present_serverProtocolVersion = true && that.isSetServerProtocolVersion(); + if (this_present_serverProtocolVersion || that_present_serverProtocolVersion) { + if (!(this_present_serverProtocolVersion && that_present_serverProtocolVersion)) + return false; + if (!this.serverProtocolVersion.equals(that.serverProtocolVersion)) + return false; + } + + boolean this_present_sessionHandle = true && this.isSetSessionHandle(); + boolean that_present_sessionHandle = true && that.isSetSessionHandle(); + if (this_present_sessionHandle || that_present_sessionHandle) { + if (!(this_present_sessionHandle && that_present_sessionHandle)) + return false; + if (!this.sessionHandle.equals(that.sessionHandle)) + return false; + } + + boolean this_present_configuration = true && this.isSetConfiguration(); + boolean that_present_configuration = true && that.isSetConfiguration(); + if (this_present_configuration || that_present_configuration) { + if (!(this_present_configuration && that_present_configuration)) + return false; + if (!this.configuration.equals(that.configuration)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_status = true && (isSetStatus()); + list.add(present_status); + if (present_status) + list.add(status); + + boolean present_serverProtocolVersion = true && (isSetServerProtocolVersion()); + list.add(present_serverProtocolVersion); + if (present_serverProtocolVersion) + list.add(serverProtocolVersion.getValue()); + + boolean present_sessionHandle = true && (isSetSessionHandle()); + list.add(present_sessionHandle); + if (present_sessionHandle) + list.add(sessionHandle); + + boolean present_configuration = true && (isSetConfiguration()); + list.add(present_configuration); + if (present_configuration) + list.add(configuration); + + return list.hashCode(); + } + + @Override + public int compareTo(TRestoreSessionResp other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetStatus()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetServerProtocolVersion()).compareTo(other.isSetServerProtocolVersion()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetServerProtocolVersion()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serverProtocolVersion, other.serverProtocolVersion); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetSessionHandle()).compareTo(other.isSetSessionHandle()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSessionHandle()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sessionHandle, other.sessionHandle); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetConfiguration()).compareTo(other.isSetConfiguration()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetConfiguration()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.configuration, other.configuration); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("TRestoreSessionResp("); + boolean first = true; + + sb.append("status:"); + if (this.status == null) { + sb.append("null"); + } else { + sb.append(this.status); + } + first = false; + if (!first) sb.append(", "); + sb.append("serverProtocolVersion:"); + if (this.serverProtocolVersion == null) { + sb.append("null"); + } else { + sb.append(this.serverProtocolVersion); + } + first = false; + if (isSetSessionHandle()) { + if (!first) sb.append(", "); + sb.append("sessionHandle:"); + if (this.sessionHandle == null) { + sb.append("null"); + } else { + sb.append(this.sessionHandle); + } + first = false; + } + if (isSetConfiguration()) { + if (!first) sb.append(", "); + sb.append("configuration:"); + if (this.configuration == null) { + sb.append("null"); + } else { + sb.append(this.configuration); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!isSetStatus()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'status' is unset! Struct:" + toString()); + } + + if (!isSetServerProtocolVersion()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'serverProtocolVersion' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + if (status != null) { + status.validate(); + } + if (sessionHandle != null) { + sessionHandle.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class TRestoreSessionRespStandardSchemeFactory implements SchemeFactory { + public TRestoreSessionRespStandardScheme getScheme() { + return new TRestoreSessionRespStandardScheme(); + } + } + + private static class TRestoreSessionRespStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, TRestoreSessionResp struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // STATUS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.status = new TStatus(); + struct.status.read(iprot); + struct.setStatusIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // SERVER_PROTOCOL_VERSION + if (schemeField.type == org.apache.thrift.protocol.TType.I32) { + struct.serverProtocolVersion = org.apache.hive.service.cli.thrift.TProtocolVersion.findByValue(iprot.readI32()); + struct.setServerProtocolVersionIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // SESSION_HANDLE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.sessionHandle = new TSessionHandle(); + struct.sessionHandle.read(iprot); + struct.setSessionHandleIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // CONFIGURATION + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map172 = iprot.readMapBegin(); + struct.configuration = new HashMap(2*_map172.size); + String _key173; + String _val174; + for (int _i175 = 0; _i175 < _map172.size; ++_i175) + { + _key173 = iprot.readString(); + _val174 = iprot.readString(); + struct.configuration.put(_key173, _val174); + } + iprot.readMapEnd(); + } + struct.setConfigurationIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, TRestoreSessionResp struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.status != null) { + oprot.writeFieldBegin(STATUS_FIELD_DESC); + struct.status.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.serverProtocolVersion != null) { + oprot.writeFieldBegin(SERVER_PROTOCOL_VERSION_FIELD_DESC); + oprot.writeI32(struct.serverProtocolVersion.getValue()); + oprot.writeFieldEnd(); + } + if (struct.sessionHandle != null) { + if (struct.isSetSessionHandle()) { + oprot.writeFieldBegin(SESSION_HANDLE_FIELD_DESC); + struct.sessionHandle.write(oprot); + oprot.writeFieldEnd(); + } + } + if (struct.configuration != null) { + if (struct.isSetConfiguration()) { + oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.configuration.size())); + for (Map.Entry _iter176 : struct.configuration.entrySet()) + { + oprot.writeString(_iter176.getKey()); + oprot.writeString(_iter176.getValue()); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TRestoreSessionRespTupleSchemeFactory implements SchemeFactory { + public TRestoreSessionRespTupleScheme getScheme() { + return new TRestoreSessionRespTupleScheme(); + } + } + + private static class TRestoreSessionRespTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, TRestoreSessionResp struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + struct.status.write(oprot); + oprot.writeI32(struct.serverProtocolVersion.getValue()); + BitSet optionals = new BitSet(); + if (struct.isSetSessionHandle()) { + optionals.set(0); + } + if (struct.isSetConfiguration()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSessionHandle()) { + struct.sessionHandle.write(oprot); + } + if (struct.isSetConfiguration()) { + { + oprot.writeI32(struct.configuration.size()); + for (Map.Entry _iter177 : struct.configuration.entrySet()) + { + oprot.writeString(_iter177.getKey()); + oprot.writeString(_iter177.getValue()); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, TRestoreSessionResp struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.status = new TStatus(); + struct.status.read(iprot); + struct.setStatusIsSet(true); + struct.serverProtocolVersion = org.apache.hive.service.cli.thrift.TProtocolVersion.findByValue(iprot.readI32()); + struct.setServerProtocolVersionIsSet(true); + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.sessionHandle = new TSessionHandle(); + struct.sessionHandle.read(iprot); + struct.setSessionHandleIsSet(true); + } + if (incoming.get(1)) { + { + org.apache.thrift.protocol.TMap _map178 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32()); + struct.configuration = new HashMap(2*_map178.size); + String _key179; + String _val180; + for (int _i181 = 0; _i181 < _map178.size; ++_i181) + { + _key179 = iprot.readString(); + _val180 = iprot.readString(); + struct.configuration.put(_key179, _val180); + } + } + struct.setConfigurationIsSet(true); + } + } + } + +} + diff --git a/service/src/gen/thrift/gen-php/TCLIService.php b/service/src/gen/thrift/gen-php/TCLIService.php index eba62f12de0899280b9961dd82330bb149d40758..dbb04c0e244dfecbdb2e7d0d8fd72b2f608992f5 100644 --- a/service/src/gen/thrift/gen-php/TCLIService.php +++ b/service/src/gen/thrift/gen-php/TCLIService.php @@ -22,6 +22,11 @@ interface TCLIServiceIf { */ public function OpenSession(\TOpenSessionReq $req); /** + * @param \TRestoreSessionReq $req + * @return \TRestoreSessionResp + */ + public function RestoreSession(\TRestoreSessionReq $req); + /** * @param \TCloseSessionReq $req * @return \TCloseSessionResp */ @@ -175,6 +180,57 @@ class TCLIServiceClient implements \TCLIServiceIf { throw new \Exception("OpenSession failed: unknown result"); } + public function RestoreSession(\TRestoreSessionReq $req) + { + $this->send_RestoreSession($req); + return $this->recv_RestoreSession(); + } + + public function send_RestoreSession(\TRestoreSessionReq $req) + { + $args = new \TCLIService_RestoreSession_args(); + $args->req = $req; + $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary'); + if ($bin_accel) + { + thrift_protocol_write_binary($this->output_, 'RestoreSession', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite()); + } + else + { + $this->output_->writeMessageBegin('RestoreSession', TMessageType::CALL, $this->seqid_); + $args->write($this->output_); + $this->output_->writeMessageEnd(); + $this->output_->getTransport()->flush(); + } + } + + public function recv_RestoreSession() + { + $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary'); + if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\TCLIService_RestoreSession_result', $this->input_->isStrictRead()); + else + { + $rseqid = 0; + $fname = null; + $mtype = 0; + + $this->input_->readMessageBegin($fname, $mtype, $rseqid); + if ($mtype == TMessageType::EXCEPTION) { + $x = new TApplicationException(); + $x->read($this->input_); + $this->input_->readMessageEnd(); + throw $x; + } + $result = new \TCLIService_RestoreSession_result(); + $result->read($this->input_); + $this->input_->readMessageEnd(); + } + if ($result->success !== null) { + return $result->success; + } + throw new \Exception("RestoreSession failed: unknown result"); + } + public function CloseSession(\TCloseSessionReq $req) { $this->send_CloseSession($req); @@ -1257,6 +1313,166 @@ class TCLIService_OpenSession_result { } +class TCLIService_RestoreSession_args { + static $_TSPEC; + + /** + * @var \TRestoreSessionReq + */ + public $req = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'req', + 'type' => TType::STRUCT, + 'class' => '\TRestoreSessionReq', + ), + ); + } + if (is_array($vals)) { + if (isset($vals['req'])) { + $this->req = $vals['req']; + } + } + } + + public function getName() { + return 'TCLIService_RestoreSession_args'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 1: + if ($ftype == TType::STRUCT) { + $this->req = new \TRestoreSessionReq(); + $xfer += $this->req->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('TCLIService_RestoreSession_args'); + if ($this->req !== null) { + if (!is_object($this->req)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('req', TType::STRUCT, 1); + $xfer += $this->req->write($output); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class TCLIService_RestoreSession_result { + static $_TSPEC; + + /** + * @var \TRestoreSessionResp + */ + public $success = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 0 => array( + 'var' => 'success', + 'type' => TType::STRUCT, + 'class' => '\TRestoreSessionResp', + ), + ); + } + if (is_array($vals)) { + if (isset($vals['success'])) { + $this->success = $vals['success']; + } + } + } + + public function getName() { + return 'TCLIService_RestoreSession_result'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 0: + if ($ftype == TType::STRUCT) { + $this->success = new \TRestoreSessionResp(); + $xfer += $this->success->read($input); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('TCLIService_RestoreSession_result'); + if ($this->success !== null) { + if (!is_object($this->success)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0); + $xfer += $this->success->write($output); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + class TCLIService_CloseSession_args { static $_TSPEC; diff --git a/service/src/gen/thrift/gen-py/TCLIService/TCLIService-remote b/service/src/gen/thrift/gen-py/TCLIService/TCLIService-remote index 56f5c5dc36d44627a2cd571c2bc1fcd1a79e62f2..6bca17c9890278508c3e8e1ca2cd7b1c16c6cc38 100755 --- a/service/src/gen/thrift/gen-py/TCLIService/TCLIService-remote +++ b/service/src/gen/thrift/gen-py/TCLIService/TCLIService-remote @@ -25,6 +25,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help': print('') print('Functions:') print(' TOpenSessionResp OpenSession(TOpenSessionReq req)') + print(' TRestoreSessionResp RestoreSession(TRestoreSessionReq req)') print(' TCloseSessionResp CloseSession(TCloseSessionReq req)') print(' TGetInfoResp GetInfo(TGetInfoReq req)') print(' TExecuteStatementResp ExecuteStatement(TExecuteStatementReq req)') @@ -105,6 +106,12 @@ if cmd == 'OpenSession': sys.exit(1) pp.pprint(client.OpenSession(eval(args[0]),)) +elif cmd == 'RestoreSession': + if len(args) != 1: + print('RestoreSession requires 1 args') + sys.exit(1) + pp.pprint(client.RestoreSession(eval(args[0]),)) + elif cmd == 'CloseSession': if len(args) != 1: print('CloseSession requires 1 args') diff --git a/service/src/gen/thrift/gen-py/TCLIService/TCLIService.py b/service/src/gen/thrift/gen-py/TCLIService/TCLIService.py index ad2d71d720376c76632d9e3a147f227b3ff67c17..40a9345f0a8c5e92beb89a0bd90c6a657e499eef 100644 --- a/service/src/gen/thrift/gen-py/TCLIService/TCLIService.py +++ b/service/src/gen/thrift/gen-py/TCLIService/TCLIService.py @@ -26,6 +26,13 @@ def OpenSession(self, req): """ pass + def RestoreSession(self, req): + """ + Parameters: + - req + """ + pass + def CloseSession(self, req): """ Parameters: @@ -191,6 +198,37 @@ def recv_OpenSession(self): return result.success raise TApplicationException(TApplicationException.MISSING_RESULT, "OpenSession failed: unknown result") + def RestoreSession(self, req): + """ + Parameters: + - req + """ + self.send_RestoreSession(req) + return self.recv_RestoreSession() + + def send_RestoreSession(self, req): + self._oprot.writeMessageBegin('RestoreSession', TMessageType.CALL, self._seqid) + args = RestoreSession_args() + args.req = req + args.write(self._oprot) + self._oprot.writeMessageEnd() + self._oprot.trans.flush() + + def recv_RestoreSession(self): + iprot = self._iprot + (fname, mtype, rseqid) = iprot.readMessageBegin() + if mtype == TMessageType.EXCEPTION: + x = TApplicationException() + x.read(iprot) + iprot.readMessageEnd() + raise x + result = RestoreSession_result() + result.read(iprot) + iprot.readMessageEnd() + if result.success is not None: + return result.success + raise TApplicationException(TApplicationException.MISSING_RESULT, "RestoreSession failed: unknown result") + def CloseSession(self, req): """ Parameters: @@ -755,6 +793,7 @@ def __init__(self, handler): self._handler = handler self._processMap = {} self._processMap["OpenSession"] = Processor.process_OpenSession + self._processMap["RestoreSession"] = Processor.process_RestoreSession self._processMap["CloseSession"] = Processor.process_CloseSession self._processMap["GetInfo"] = Processor.process_GetInfo self._processMap["ExecuteStatement"] = Processor.process_ExecuteStatement @@ -808,6 +847,25 @@ def process_OpenSession(self, seqid, iprot, oprot): oprot.writeMessageEnd() oprot.trans.flush() + def process_RestoreSession(self, seqid, iprot, oprot): + args = RestoreSession_args() + args.read(iprot) + iprot.readMessageEnd() + result = RestoreSession_result() + try: + result.success = self._handler.RestoreSession(args.req) + msg_type = TMessageType.REPLY + except (TTransport.TTransportException, KeyboardInterrupt, SystemExit): + raise + except Exception as ex: + msg_type = TMessageType.EXCEPTION + logging.exception(ex) + result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') + oprot.writeMessageBegin("RestoreSession", msg_type, seqid) + result.write(oprot) + oprot.writeMessageEnd() + oprot.trans.flush() + def process_CloseSession(self, seqid, iprot, oprot): args = CloseSession_args() args.read(iprot) @@ -1284,6 +1342,137 @@ def __eq__(self, other): def __ne__(self, other): return not (self == other) +class RestoreSession_args: + """ + Attributes: + - req + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRUCT, 'req', (TRestoreSessionReq, TRestoreSessionReq.thrift_spec), None, ), # 1 + ) + + def __init__(self, req=None,): + self.req = req + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.req = TRestoreSessionReq() + self.req.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('RestoreSession_args') + if self.req is not None: + oprot.writeFieldBegin('req', TType.STRUCT, 1) + self.req.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.req) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + +class RestoreSession_result: + """ + Attributes: + - success + """ + + thrift_spec = ( + (0, TType.STRUCT, 'success', (TRestoreSessionResp, TRestoreSessionResp.thrift_spec), None, ), # 0 + ) + + def __init__(self, success=None,): + self.success = success + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 0: + if ftype == TType.STRUCT: + self.success = TRestoreSessionResp() + self.success.read(iprot) + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('RestoreSession_result') + if self.success is not None: + oprot.writeFieldBegin('success', TType.STRUCT, 0) + self.success.write(oprot) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.success) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + class CloseSession_args: """ Attributes: diff --git a/service/src/gen/thrift/gen-py/TCLIService/ttypes.py b/service/src/gen/thrift/gen-py/TCLIService/ttypes.py index ef5f5f568ffec92c093bdd0904c154f8ee67606e..76a19b7874df26841093fa70b5ad038c8a83c05a 100644 --- a/service/src/gen/thrift/gen-py/TCLIService/ttypes.py +++ b/service/src/gen/thrift/gen-py/TCLIService/ttypes.py @@ -3696,6 +3696,258 @@ def __eq__(self, other): def __ne__(self, other): return not (self == other) +class TRestoreSessionReq: + """ + Attributes: + - client_protocol + - sessionHandle + - username + - password + - configuration + """ + + thrift_spec = ( + None, # 0 + (1, TType.I32, 'client_protocol', None, 7, ), # 1 + (2, TType.STRUCT, 'sessionHandle', (TSessionHandle, TSessionHandle.thrift_spec), None, ), # 2 + (3, TType.STRING, 'username', None, None, ), # 3 + (4, TType.STRING, 'password', None, None, ), # 4 + (5, TType.MAP, 'configuration', (TType.STRING,None,TType.STRING,None), None, ), # 5 + ) + + def __init__(self, client_protocol=thrift_spec[1][4], sessionHandle=None, username=None, password=None, configuration=None,): + self.client_protocol = client_protocol + self.sessionHandle = sessionHandle + self.username = username + self.password = password + self.configuration = configuration + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.I32: + self.client_protocol = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRING: + self.username = iprot.readString() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.STRING: + self.password = iprot.readString() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.MAP: + self.configuration = {} + (_ktype144, _vtype145, _size143 ) = iprot.readMapBegin() + for _i147 in xrange(_size143): + _key148 = iprot.readString() + _val149 = iprot.readString() + self.configuration[_key148] = _val149 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('TRestoreSessionReq') + if self.client_protocol is not None: + oprot.writeFieldBegin('client_protocol', TType.I32, 1) + oprot.writeI32(self.client_protocol) + oprot.writeFieldEnd() + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 2) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.username is not None: + oprot.writeFieldBegin('username', TType.STRING, 3) + oprot.writeString(self.username) + oprot.writeFieldEnd() + if self.password is not None: + oprot.writeFieldBegin('password', TType.STRING, 4) + oprot.writeString(self.password) + oprot.writeFieldEnd() + if self.configuration is not None: + oprot.writeFieldBegin('configuration', TType.MAP, 5) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) + for kiter150,viter151 in self.configuration.items(): + oprot.writeString(kiter150) + oprot.writeString(viter151) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.client_protocol is None: + raise TProtocol.TProtocolException(message='Required field client_protocol is unset!') + if self.sessionHandle is None: + raise TProtocol.TProtocolException(message='Required field sessionHandle is unset!') + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.client_protocol) + value = (value * 31) ^ hash(self.sessionHandle) + value = (value * 31) ^ hash(self.username) + value = (value * 31) ^ hash(self.password) + value = (value * 31) ^ hash(self.configuration) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + +class TRestoreSessionResp: + """ + Attributes: + - status + - serverProtocolVersion + - sessionHandle + - configuration + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRUCT, 'status', (TStatus, TStatus.thrift_spec), None, ), # 1 + (2, TType.I32, 'serverProtocolVersion', None, 7, ), # 2 + (3, TType.STRUCT, 'sessionHandle', (TSessionHandle, TSessionHandle.thrift_spec), None, ), # 3 + (4, TType.MAP, 'configuration', (TType.STRING,None,TType.STRING,None), None, ), # 4 + ) + + def __init__(self, status=None, serverProtocolVersion=thrift_spec[2][4], sessionHandle=None, configuration=None,): + self.status = status + self.serverProtocolVersion = serverProtocolVersion + self.sessionHandle = sessionHandle + self.configuration = configuration + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRUCT: + self.status = TStatus() + self.status.read(iprot) + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.I32: + self.serverProtocolVersion = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.STRUCT: + self.sessionHandle = TSessionHandle() + self.sessionHandle.read(iprot) + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.MAP: + self.configuration = {} + (_ktype153, _vtype154, _size152 ) = iprot.readMapBegin() + for _i156 in xrange(_size152): + _key157 = iprot.readString() + _val158 = iprot.readString() + self.configuration[_key157] = _val158 + iprot.readMapEnd() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('TRestoreSessionResp') + if self.status is not None: + oprot.writeFieldBegin('status', TType.STRUCT, 1) + self.status.write(oprot) + oprot.writeFieldEnd() + if self.serverProtocolVersion is not None: + oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 2) + oprot.writeI32(self.serverProtocolVersion) + oprot.writeFieldEnd() + if self.sessionHandle is not None: + oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 3) + self.sessionHandle.write(oprot) + oprot.writeFieldEnd() + if self.configuration is not None: + oprot.writeFieldBegin('configuration', TType.MAP, 4) + oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration)) + for kiter159,viter160 in self.configuration.items(): + oprot.writeString(kiter159) + oprot.writeString(viter160) + oprot.writeMapEnd() + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.status is None: + raise TProtocol.TProtocolException(message='Required field status is unset!') + if self.serverProtocolVersion is None: + raise TProtocol.TProtocolException(message='Required field serverProtocolVersion is unset!') + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.status) + value = (value * 31) ^ hash(self.serverProtocolVersion) + value = (value * 31) ^ hash(self.sessionHandle) + value = (value * 31) ^ hash(self.configuration) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) + class TCloseSessionReq: """ Attributes: @@ -4175,11 +4427,11 @@ def read(self, iprot): elif fid == 3: if ftype == TType.MAP: self.confOverlay = {} - (_ktype144, _vtype145, _size143 ) = iprot.readMapBegin() - for _i147 in xrange(_size143): - _key148 = iprot.readString() - _val149 = iprot.readString() - self.confOverlay[_key148] = _val149 + (_ktype162, _vtype163, _size161 ) = iprot.readMapBegin() + for _i165 in xrange(_size161): + _key166 = iprot.readString() + _val167 = iprot.readString() + self.confOverlay[_key166] = _val167 iprot.readMapEnd() else: iprot.skip(ftype) @@ -4209,9 +4461,9 @@ def write(self, oprot): if self.confOverlay is not None: oprot.writeFieldBegin('confOverlay', TType.MAP, 3) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.confOverlay)) - for kiter150,viter151 in self.confOverlay.items(): - oprot.writeString(kiter150) - oprot.writeString(viter151) + for kiter168,viter169 in self.confOverlay.items(): + oprot.writeString(kiter168) + oprot.writeString(viter169) oprot.writeMapEnd() oprot.writeFieldEnd() if self.runAsync is not None: @@ -4865,10 +5117,10 @@ def read(self, iprot): elif fid == 5: if ftype == TType.LIST: self.tableTypes = [] - (_etype155, _size152) = iprot.readListBegin() - for _i156 in xrange(_size152): - _elem157 = iprot.readString() - self.tableTypes.append(_elem157) + (_etype173, _size170) = iprot.readListBegin() + for _i174 in xrange(_size170): + _elem175 = iprot.readString() + self.tableTypes.append(_elem175) iprot.readListEnd() else: iprot.skip(ftype) @@ -4901,8 +5153,8 @@ def write(self, oprot): if self.tableTypes is not None: oprot.writeFieldBegin('tableTypes', TType.LIST, 5) oprot.writeListBegin(TType.STRING, len(self.tableTypes)) - for iter158 in self.tableTypes: - oprot.writeString(iter158) + for iter176 in self.tableTypes: + oprot.writeString(iter176) oprot.writeListEnd() oprot.writeFieldEnd() oprot.writeFieldStop() diff --git a/service/src/gen/thrift/gen-rb/t_c_l_i_service.rb b/service/src/gen/thrift/gen-rb/t_c_l_i_service.rb index 7d7f7a78a17cab50b18fa77805022bf4ca0197d9..08f9d14aba0d9d0d557d3b96a23d30862c788322 100644 --- a/service/src/gen/thrift/gen-rb/t_c_l_i_service.rb +++ b/service/src/gen/thrift/gen-rb/t_c_l_i_service.rb @@ -26,6 +26,21 @@ module TCLIService raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'OpenSession failed: unknown result') end + def RestoreSession(req) + send_RestoreSession(req) + return recv_RestoreSession() + end + + def send_RestoreSession(req) + send_message('RestoreSession', RestoreSession_args, :req => req) + end + + def recv_RestoreSession() + result = receive_message(RestoreSession_result) + return result.success unless result.success.nil? + raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'RestoreSession failed: unknown result') + end + def CloseSession(req) send_CloseSession(req) return recv_CloseSession() @@ -308,6 +323,13 @@ module TCLIService write_result(result, oprot, 'OpenSession', seqid) end + def process_RestoreSession(seqid, iprot, oprot) + args = read_args(iprot, RestoreSession_args) + result = RestoreSession_result.new() + result.success = @handler.RestoreSession(args.req) + write_result(result, oprot, 'RestoreSession', seqid) + end + def process_CloseSession(seqid, iprot, oprot) args = read_args(iprot, CloseSession_args) result = CloseSession_result.new() @@ -470,6 +492,38 @@ module TCLIService ::Thrift::Struct.generate_accessors self end + class RestoreSession_args + include ::Thrift::Struct, ::Thrift::Struct_Union + REQ = 1 + + FIELDS = { + REQ => {:type => ::Thrift::Types::STRUCT, :name => 'req', :class => ::TRestoreSessionReq} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + + class RestoreSession_result + include ::Thrift::Struct, ::Thrift::Struct_Union + SUCCESS = 0 + + FIELDS = { + SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::TRestoreSessionResp} + } + + def struct_fields; FIELDS; end + + def validate + end + + ::Thrift::Struct.generate_accessors self + end + class CloseSession_args include ::Thrift::Struct, ::Thrift::Struct_Union REQ = 1 diff --git a/service/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb b/service/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb index f004ec40afd29ab4ed452f65f306cb1af5ff5207..6b20c5fb80b98d355f336505edc121b7c45a0c10 100644 --- a/service/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb +++ b/service/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb @@ -995,6 +995,62 @@ class TOpenSessionResp ::Thrift::Struct.generate_accessors self end +class TRestoreSessionReq + include ::Thrift::Struct, ::Thrift::Struct_Union + CLIENT_PROTOCOL = 1 + SESSIONHANDLE = 2 + USERNAME = 3 + PASSWORD = 4 + CONFIGURATION = 5 + + FIELDS = { + CLIENT_PROTOCOL => {:type => ::Thrift::Types::I32, :name => 'client_protocol', :default => 7, :enum_class => ::TProtocolVersion}, + SESSIONHANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'sessionHandle', :class => ::TSessionHandle}, + USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true}, + PASSWORD => {:type => ::Thrift::Types::STRING, :name => 'password', :optional => true}, + CONFIGURATION => {:type => ::Thrift::Types::MAP, :name => 'configuration', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}, :optional => true} + } + + def struct_fields; FIELDS; end + + def validate + raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field client_protocol is unset!') unless @client_protocol + raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field sessionHandle is unset!') unless @sessionHandle + unless @client_protocol.nil? || ::TProtocolVersion::VALID_VALUES.include?(@client_protocol) + raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field client_protocol!') + end + end + + ::Thrift::Struct.generate_accessors self +end + +class TRestoreSessionResp + include ::Thrift::Struct, ::Thrift::Struct_Union + STATUS = 1 + SERVERPROTOCOLVERSION = 2 + SESSIONHANDLE = 3 + CONFIGURATION = 4 + + FIELDS = { + STATUS => {:type => ::Thrift::Types::STRUCT, :name => 'status', :class => ::TStatus}, + SERVERPROTOCOLVERSION => {:type => ::Thrift::Types::I32, :name => 'serverProtocolVersion', :default => 7, :enum_class => ::TProtocolVersion}, + SESSIONHANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'sessionHandle', :class => ::TSessionHandle, :optional => true}, + CONFIGURATION => {:type => ::Thrift::Types::MAP, :name => 'configuration', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}, :optional => true} + } + + def struct_fields; FIELDS; end + + def validate + raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field status is unset!') unless @status + raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field serverProtocolVersion is unset!') unless @serverProtocolVersion + unless @serverProtocolVersion.nil? || ::TProtocolVersion::VALID_VALUES.include?(@serverProtocolVersion) + raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field serverProtocolVersion!') + end + end + + ::Thrift::Struct.generate_accessors self +end + class TCloseSessionReq include ::Thrift::Struct, ::Thrift::Struct_Union SESSIONHANDLE = 1 diff --git a/service/src/java/org/apache/hive/service/cli/CLIService.java b/service/src/java/org/apache/hive/service/cli/CLIService.java index adc98098437b2d0429dd2af40d8eaae323fbf3f0..69809e4d0705c602b5c774fea136d68b52e8b762 100644 --- a/service/src/java/org/apache/hive/service/cli/CLIService.java +++ b/service/src/java/org/apache/hive/service/cli/CLIService.java @@ -201,6 +201,18 @@ public SessionHandle openSession(String username, String password, Map configuration) + throws HiveSQLException { + SessionHandle result = sessionManager.restoreSession(sessionHandle, SERVER_VERSION, username, password, + configuration, false, null); + LOG.debug(sessionHandle + ": restoreSession()"); + return result; + } + /* (non-Javadoc) * @see org.apache.hive.service.cli.ICLIService#openSession(java.lang.String, java.lang.String, java.util.Map) */ diff --git a/service/src/java/org/apache/hive/service/cli/CLIServiceClient.java b/service/src/java/org/apache/hive/service/cli/CLIServiceClient.java index 3155c238ff688bfea16b0aaeea950599bb659b5b..0ed6d5ab8e2dc5cfa275a1831e7d06c87a02b275 100644 --- a/service/src/java/org/apache/hive/service/cli/CLIServiceClient.java +++ b/service/src/java/org/apache/hive/service/cli/CLIServiceClient.java @@ -35,6 +35,11 @@ public SessionHandle openSession(String username, String password) return openSession(username, password, Collections.emptyMap()); } + public SessionHandle restoreSession(SessionHandle handle, String username, String password) + throws HiveSQLException { + return restoreSession(handle, username, password, Collections.emptyMap()); + } + @Override public RowSet fetchResults(OperationHandle opHandle) throws HiveSQLException { // TODO: provide STATIC default value diff --git a/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java b/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java index 9cad5be198c063115a8e90c67b1c2fd910ca8bc6..bd9a60820360f33f2160807b459f25ef7b0e4c3c 100644 --- a/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java +++ b/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java @@ -44,6 +44,15 @@ public SessionHandle openSession(String username, String password, return cliService.openSession(username, password, configuration); } + /* (non-Javadoc) + * @see org.apache.hive.service.cli.CLIServiceClient#restoreSession(SessionHandle, java.lang.String, java.lang.String, java.util.Map) + */ + @Override + public SessionHandle restoreSession(SessionHandle handle, String username, String password, + Map configuration) throws HiveSQLException { + return cliService.restoreSession(handle, username, password, configuration); + } + @Override public SessionHandle openSessionWithImpersonation(String username, String password, Map configuration, String delegationToken) throws HiveSQLException { diff --git a/service/src/java/org/apache/hive/service/cli/ICLIService.java b/service/src/java/org/apache/hive/service/cli/ICLIService.java index c9cc1f4da56f1cd10f6348ea2b9e17e203b87664..bf1662607af525fa9516f5f96fdee29ecfa81b81 100644 --- a/service/src/java/org/apache/hive/service/cli/ICLIService.java +++ b/service/src/java/org/apache/hive/service/cli/ICLIService.java @@ -31,6 +31,9 @@ SessionHandle openSession(String username, String password, Map configuration) throws HiveSQLException; + SessionHandle restoreSession(SessionHandle sessionHandle, String username, String password, + Map configuration) throws HiveSQLException; + SessionHandle openSessionWithImpersonation(String username, String password, Map configuration, String delegationToken) throws HiveSQLException; diff --git a/service/src/java/org/apache/hive/service/cli/SessionHandle.java b/service/src/java/org/apache/hive/service/cli/SessionHandle.java index 52e0ad4834d8b44d5038bb5c1a851eb702cd38ca..5cb27d6a8bc9cb97f34bae897e567952def37d16 100644 --- a/service/src/java/org/apache/hive/service/cli/SessionHandle.java +++ b/service/src/java/org/apache/hive/service/cli/SessionHandle.java @@ -45,7 +45,10 @@ public SessionHandle(TSessionHandle tSessionHandle, TProtocolVersion protocol) { super(tSessionHandle.getSessionId()); this.protocol = protocol; } - + public SessionHandle(HandleIdentifier handleId, TProtocolVersion protocol) { + super(handleId); + this.protocol = protocol; + } public UUID getSessionId() { return getHandleIdentifier().getPublicId(); } diff --git a/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java b/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java index 50c912ee606bce73f447fba69ce0f57d8c7fc6c9..09c5f656c92cbaec45d6b0e7028caafc51d8941c 100644 --- a/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java +++ b/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java @@ -111,12 +111,12 @@ private volatile long lastAccessTime; private volatile long lastIdleTime; - public HiveSessionImpl(TProtocolVersion protocol, String username, String password, + public HiveSessionImpl(SessionHandle sessionHandle, TProtocolVersion protocol, String username, String password, HiveConf serverhiveConf, String ipAddress) { this.username = username; this.password = password; creationTime = System.currentTimeMillis(); - this.sessionHandle = new SessionHandle(protocol); + this.sessionHandle = sessionHandle; this.hiveConf = new HiveConf(serverhiveConf); this.ipAddress = ipAddress; @@ -139,6 +139,12 @@ public HiveSessionImpl(TProtocolVersion protocol, String username, String passwo hiveConf.setInt(ListSinkOperator.OUTPUT_PROTOCOL, protocol.getValue()); } + public HiveSessionImpl(TProtocolVersion protocol, String username, String password, + HiveConf serverhiveConf, String ipAddress) { + this(new SessionHandle(protocol), protocol, username, password, serverhiveConf, ipAddress); + } + + @Override /** * Opens a new HiveServer2 session for the client connection. diff --git a/service/src/java/org/apache/hive/service/cli/session/SessionManager.java b/service/src/java/org/apache/hive/service/cli/session/SessionManager.java index 637cdca3bcea9d320f397de032fd78d59ce6afef..5f70ef194c6ee781846e317f1f23d3bcc2f14199 100644 --- a/service/src/java/org/apache/hive/service/cli/session/SessionManager.java +++ b/service/src/java/org/apache/hive/service/cli/session/SessionManager.java @@ -43,6 +43,7 @@ import org.apache.hadoop.hive.conf.HiveConf.ConfVars; import org.apache.hadoop.hive.ql.hooks.HookUtils; import org.apache.hive.service.CompositeService; +import org.apache.hive.service.auth.TSetIpAddressProcessor; import org.apache.hive.service.cli.HiveSQLException; import org.apache.hive.service.cli.SessionHandle; import org.apache.hive.service.cli.operation.Operation; @@ -275,6 +276,13 @@ public SessionHandle openSession(TProtocolVersion protocol, String username, Str public SessionHandle openSession(TProtocolVersion protocol, String username, String password, String ipAddress, Map sessionConf, boolean withImpersonation, String delegationToken) throws HiveSQLException { + return createSession(null, protocol, username, password, ipAddress, sessionConf, + withImpersonation, delegationToken).getSessionHandle(); + } + public HiveSession createSession(SessionHandle sessionHandle, TProtocolVersion protocol, String username, String password, String ipAddress, + Map sessionConf, boolean withImpersonation, String delegationToken) + throws HiveSQLException { + HiveSession session; // If doAs is set to true for HiveServer2, we will create a proxy object for the session impl. // Within the proxy object, we wrap the method call in a UserGroupInformation#doAs @@ -300,12 +308,21 @@ public SessionHandle openSession(TProtocolVersion protocol, String username, Str session = new HiveSessionImpl(protocol, username, password, hiveConf, ipAddress); } else { try { - Class clazz = Class.forName(sessionImplclassName); - Constructor constructor = clazz.getConstructor(String.class, String.class, Map.class); - session = (HiveSession) constructor.newInstance(new Object[] - {protocol, username, password, hiveConf, ipAddress}); + if (sessionHandle != null) { + Class clazz = Class.forName(sessionImplclassName); + Constructor constructor = clazz.getConstructor(SessionHandle.class, TProtocolVersion.class, + String.class, String.class, HiveConf.class, Map.class, String.class); + session = (HiveSession) constructor.newInstance(sessionHandle, protocol, username, password, + hiveConf, sessionConf, TSetIpAddressProcessor.getUserIpAddress()); + } else { + Class clazz = Class.forName(sessionImplclassName); + Constructor constructor = clazz.getConstructor(TProtocolVersion.class, + String.class, String.class, HiveConf.class, Map.class, String.class); + session = (HiveSession) constructor.newInstance(protocol, username, password, + hiveConf, sessionConf, TSetIpAddressProcessor.getUserIpAddress()); + } } catch (Exception e) { - throw new HiveSQLException("Cannot initilize session class:" + sessionImplclassName); + throw new HiveSQLException("Cannot initilize session class:" + sessionImplclassName, e); } } } @@ -339,9 +356,15 @@ public SessionHandle openSession(TProtocolVersion protocol, String username, Str throw new HiveSQLException("Failed to execute session hooks: " + e.getMessage(), e); } handleToSession.put(session.getSessionHandle(), session); + return session; + } + public SessionHandle restoreSession(SessionHandle sessionHandle, TProtocolVersion protocol, String username, String password, + Map sessionConf, boolean withImpersonation, String delegationToken) + throws HiveSQLException { + HiveSession session = createSession(sessionHandle, protocol, username, password, null, sessionConf, + withImpersonation, delegationToken); return session.getSessionHandle(); } - public void closeSession(SessionHandle sessionHandle) throws HiveSQLException { HiveSession session = handleToSession.remove(sessionHandle); if (session == null) { diff --git a/service/src/java/org/apache/hive/service/cli/thrift/RetryingThriftCLIServiceClient.java b/service/src/java/org/apache/hive/service/cli/thrift/RetryingThriftCLIServiceClient.java index 529eaa45d29d22e0e80ea2c08a27b84f2909eda3..f07dc2e2b87da6e16e9c7fce1c9b2bd5d08de0f1 100644 --- a/service/src/java/org/apache/hive/service/cli/thrift/RetryingThriftCLIServiceClient.java +++ b/service/src/java/org/apache/hive/service/cli/thrift/RetryingThriftCLIServiceClient.java @@ -20,14 +20,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hive.service.auth.HiveAuthFactory; -import org.apache.hive.service.auth.KerberosSaslHelper; import org.apache.hive.service.auth.PlainSaslHelper; import org.apache.hive.service.cli.*; import org.apache.thrift.TApplicationException; -import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; @@ -44,6 +41,7 @@ import java.util.Map; import java.util.concurrent.TimeUnit; + /** * RetryingThriftCLIServiceClient. Creates a proxy for a CLIServiceClient * implementation and retries calls to it on failure. @@ -93,6 +91,12 @@ public SessionHandle openSession(String username, String password, Map configuration) throws HiveSQLException{ + return cliService.restoreSession(sessionHandle, username, password, configuration); + } + + @Override public SessionHandle openSessionWithImpersonation(String username, String password, Map configuration, diff --git a/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java b/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java index 8434965e87366e86d27685c5ca70ee904446bae9..b81db2e90be1f9de07d5d3f96b19e092a2d8fd66 100644 --- a/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java +++ b/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIService.java @@ -333,6 +333,29 @@ public TOpenSessionResp OpenSession(TOpenSessionReq req) throws TException { return resp; } + @Override + public TRestoreSessionResp RestoreSession(TRestoreSessionReq req) throws TException { + LOG.info("Client protocol version: " + req.getClient_protocol()); + TRestoreSessionResp resp = new TRestoreSessionResp(); + try { + SessionHandle sessionHandle = getSessionHandle(req, resp); + resp.setSessionHandle(sessionHandle.toTSessionHandle()); + // TODO: set real configuration map + resp.setConfiguration(new HashMap()); + resp.setStatus(OK_STATUS); + ThriftCLIServerContext context = + (ThriftCLIServerContext)currentServerContext.get(); + if (context != null) { + context.setSessionHandle(sessionHandle); + } + LOG.info("Restored a session, current sessions: " + sessionCount.incrementAndGet()); + } catch (Exception e) { + LOG.warn("Error restoring session: ", e); + resp.setStatus(HiveSQLException.toTStatus(e)); + } + return resp; + } + private String getIpAddress() { String clientIpAddress; // Http transport mode. @@ -431,6 +454,24 @@ SessionHandle getSessionHandle(TOpenSessionReq req, TOpenSessionResp res) return sessionHandle; } + /** + * restores a session handle + * @param req + * @param res + * @return + * @throws HiveSQLException + * @throws LoginException + * @throws IOException + */ + SessionHandle getSessionHandle(TRestoreSessionReq req, TRestoreSessionResp res) + throws HiveSQLException, LoginException, IOException { + TProtocolVersion protocol = getMinVersion(CLIService.SERVER_VERSION, + req.getClient_protocol()); + SessionHandle sessionHandle = cliService.restoreSession(new SessionHandle(res.getSessionHandle()), + req.getUsername(), req.getPassword(), req.getConfiguration()); + res.setServerProtocolVersion(protocol); + return sessionHandle; + } private String getDelegationToken(String userName) throws HiveSQLException, LoginException, IOException { diff --git a/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIServiceClient.java b/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIServiceClient.java index 1af45398b895cd7616c5627d318422e14b81e734..46545600fa651bd829b891825a0426ed9ee4668b 100644 --- a/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIServiceClient.java +++ b/service/src/java/org/apache/hive/service/cli/thrift/ThriftCLIServiceClient.java @@ -65,6 +65,29 @@ public SessionHandle openSession(String username, String password, } /* (non-Javadoc) + * @see org.apache.hive.service.cli.ICLIService#restoreSession(SessionHandle, java.lang.String, java.lang.String, java.util.Map) + */ + @Override + public SessionHandle restoreSession(SessionHandle handle, String username, String password, + Map configuration) + throws HiveSQLException { + try { + TRestoreSessionReq req = new TRestoreSessionReq(); + req.setSessionHandle(handle.toTSessionHandle()); + req.setUsername(username); + req.setPassword(password); + req.setConfiguration(configuration); + TRestoreSessionResp resp = cliService.RestoreSession(req); + checkStatus(resp.getStatus()); + return new SessionHandle(resp.getSessionHandle(), resp.getServerProtocolVersion()); + } catch (HiveSQLException e) { + throw e; + } catch (Exception e) { + throw new HiveSQLException(e); + } + } + + /* (non-Javadoc) * @see org.apache.hive.service.cli.ICLIService#closeSession(org.apache.hive.service.cli.SessionHandle) */ @Override diff --git a/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java b/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java index e78181a15993d99f1cab5a061c08bb21823d2171..888f1f698cfe5cf106474c269b42220892643ea8 100644 --- a/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java +++ b/service/src/test/org/apache/hive/service/cli/CLIServiceTest.java @@ -85,6 +85,15 @@ public void testOpenSession() throws Exception { } @Test + public void testRestoreSession() throws Exception { + SessionHandle handle = openSession(new HashMap()); + client.closeSession(handle); + SessionHandle restoredHandle = client.restoreSession(handle, "tom", "password"); + assertEquals(handle, restoredHandle); + client.closeSession(restoredHandle); + } + + @Test public void testGetFunctions() throws Exception { SessionHandle sessionHandle = client.openSession("tom", "password"); assertNotNull(sessionHandle);