You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sz...@apache.org on 2014/11/18 21:14:31 UTC
svn commit: r1640418 [1/3] - in /hive/trunk: metastore/if/
metastore/src/gen/thrift/gen-cpp/
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/
metastore/src/gen/thrift/gen-php/metastore/
metastore/src/gen/thrift/gen-py/hive_me...
Author: szehon
Date: Tue Nov 18 20:14:29 2014
New Revision: 1640418
URL: http://svn.apache.org/r1640418
Log:
HIVE-8839 : Support alter table .. 'add/replace columns cascade' (Chaoyu Tang via Szehon)
Added:
hive/trunk/ql/src/test/queries/clientpositive/alter_table_cascade.q
hive/trunk/ql/src/test/results/clientpositive/alter_table_cascade.q.out
Modified:
hive/trunk/metastore/if/hive_metastore.thrift
hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
hive/trunk/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py
hive/trunk/metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/AlterHandler.java
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveAlterHandler.java
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java
hive/trunk/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/metadata/SessionHiveMetaStoreClient.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/AlterTableDesc.java
Modified: hive/trunk/metastore/if/hive_metastore.thrift
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/if/hive_metastore.thrift?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/if/hive_metastore.thrift (original)
+++ hive/trunk/metastore/if/hive_metastore.thrift Tue Nov 18 20:14:29 2014
@@ -809,6 +809,9 @@ service ThriftHiveMetastore extends fb30
void alter_table_with_environment_context(1:string dbname, 2:string tbl_name,
3:Table new_tbl, 4:EnvironmentContext environment_context)
throws (1:InvalidOperationException o1, 2:MetaException o2)
+ // alter table not only applies to future partitions but also cascade to existing partitions
+ void alter_table_with_cascade(1:string dbname, 2:string tbl_name, 3:Table new_tbl, 4:bool cascade)
+ throws (1:InvalidOperationException o1, 2:MetaException o2)
// the following applies to only tables that have partitions
// * See notes on DDL_TIME
Partition add_partition(1:Partition new_part)
Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp Tue Nov 18 20:14:29 2014
@@ -5592,6 +5592,236 @@ uint32_t ThriftHiveMetastore_alter_table
return xfer;
}
+uint32_t ThriftHiveMetastore_alter_table_with_cascade_args::read(::apache::thrift::protocol::TProtocol* 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_STRING) {
+ xfer += iprot->readString(this->dbname);
+ this->__isset.dbname = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->tbl_name);
+ this->__isset.tbl_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->new_tbl.read(iprot);
+ this->__isset.new_tbl = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->cascade);
+ this->__isset.cascade = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ThriftHiveMetastore_alter_table_with_cascade_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ThriftHiveMetastore_alter_table_with_cascade_args");
+
+ xfer += oprot->writeFieldBegin("dbname", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dbname);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("tbl_name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->tbl_name);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("new_tbl", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->new_tbl.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("cascade", ::apache::thrift::protocol::T_BOOL, 4);
+ xfer += oprot->writeBool(this->cascade);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ThriftHiveMetastore_alter_table_with_cascade_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ThriftHiveMetastore_alter_table_with_cascade_pargs");
+
+ xfer += oprot->writeFieldBegin("dbname", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->dbname)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("tbl_name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->tbl_name)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("new_tbl", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += (*(this->new_tbl)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("cascade", ::apache::thrift::protocol::T_BOOL, 4);
+ xfer += oprot->writeBool((*(this->cascade)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ThriftHiveMetastore_alter_table_with_cascade_result::read(::apache::thrift::protocol::TProtocol* 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->o1.read(iprot);
+ this->__isset.o1 = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->o2.read(iprot);
+ this->__isset.o2 = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ThriftHiveMetastore_alter_table_with_cascade_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ThriftHiveMetastore_alter_table_with_cascade_result");
+
+ if (this->__isset.o1) {
+ xfer += oprot->writeFieldBegin("o1", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->o1.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.o2) {
+ xfer += oprot->writeFieldBegin("o2", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->o2.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ThriftHiveMetastore_alter_table_with_cascade_presult::read(::apache::thrift::protocol::TProtocol* 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->o1.read(iprot);
+ this->__isset.o1 = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->o2.read(iprot);
+ this->__isset.o2 = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
uint32_t ThriftHiveMetastore_add_partition_args::read(::apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
@@ -28447,6 +28677,68 @@ void ThriftHiveMetastoreClient::recv_alt
return;
}
+void ThriftHiveMetastoreClient::alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade)
+{
+ send_alter_table_with_cascade(dbname, tbl_name, new_tbl, cascade);
+ recv_alter_table_with_cascade();
+}
+
+void ThriftHiveMetastoreClient::send_alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("alter_table_with_cascade", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ ThriftHiveMetastore_alter_table_with_cascade_pargs args;
+ args.dbname = &dbname;
+ args.tbl_name = &tbl_name;
+ args.new_tbl = &new_tbl;
+ args.cascade = &cascade;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void ThriftHiveMetastoreClient::recv_alter_table_with_cascade()
+{
+
+ 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("alter_table_with_cascade") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ ThriftHiveMetastore_alter_table_with_cascade_presult result;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.o1) {
+ throw result.o1;
+ }
+ if (result.__isset.o2) {
+ throw result.o2;
+ }
+ return;
+}
+
void ThriftHiveMetastoreClient::add_partition(Partition& _return, const Partition& new_part)
{
send_add_partition(new_part);
@@ -35825,6 +36117,65 @@ void ThriftHiveMetastoreProcessor::proce
}
}
+void ThriftHiveMetastoreProcessor::process_alter_table_with_cascade(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("ThriftHiveMetastore.alter_table_with_cascade", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "ThriftHiveMetastore.alter_table_with_cascade");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "ThriftHiveMetastore.alter_table_with_cascade");
+ }
+
+ ThriftHiveMetastore_alter_table_with_cascade_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "ThriftHiveMetastore.alter_table_with_cascade", bytes);
+ }
+
+ ThriftHiveMetastore_alter_table_with_cascade_result result;
+ try {
+ iface_->alter_table_with_cascade(args.dbname, args.tbl_name, args.new_tbl, args.cascade);
+ } catch (InvalidOperationException &o1) {
+ result.o1 = o1;
+ result.__isset.o1 = true;
+ } catch (MetaException &o2) {
+ result.o2 = o2;
+ result.__isset.o2 = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "ThriftHiveMetastore.alter_table_with_cascade");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("alter_table_with_cascade", ::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, "ThriftHiveMetastore.alter_table_with_cascade");
+ }
+
+ oprot->writeMessageBegin("alter_table_with_cascade", ::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, "ThriftHiveMetastore.alter_table_with_cascade", bytes);
+ }
+}
+
void ThriftHiveMetastoreProcessor::process_add_partition(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
{
void* ctx = NULL;
Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h Tue Nov 18 20:14:29 2014
@@ -41,6 +41,7 @@ class ThriftHiveMetastoreIf : virtual pu
virtual void get_table_names_by_filter(std::vector<std::string> & _return, const std::string& dbname, const std::string& filter, const int16_t max_tables) = 0;
virtual void alter_table(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl) = 0;
virtual void alter_table_with_environment_context(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const EnvironmentContext& environment_context) = 0;
+ virtual void alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade) = 0;
virtual void add_partition(Partition& _return, const Partition& new_part) = 0;
virtual void add_partition_with_environment_context(Partition& _return, const Partition& new_part, const EnvironmentContext& environment_context) = 0;
virtual int32_t add_partitions(const std::vector<Partition> & new_parts) = 0;
@@ -238,6 +239,9 @@ class ThriftHiveMetastoreNull : virtual
void alter_table_with_environment_context(const std::string& /* dbname */, const std::string& /* tbl_name */, const Table& /* new_tbl */, const EnvironmentContext& /* environment_context */) {
return;
}
+ void alter_table_with_cascade(const std::string& /* dbname */, const std::string& /* tbl_name */, const Table& /* new_tbl */, const bool /* cascade */) {
+ return;
+ }
void add_partition(Partition& /* _return */, const Partition& /* new_part */) {
return;
}
@@ -3858,6 +3862,151 @@ class ThriftHiveMetastore_alter_table_wi
};
+typedef struct _ThriftHiveMetastore_alter_table_with_cascade_args__isset {
+ _ThriftHiveMetastore_alter_table_with_cascade_args__isset() : dbname(false), tbl_name(false), new_tbl(false), cascade(false) {}
+ bool dbname;
+ bool tbl_name;
+ bool new_tbl;
+ bool cascade;
+} _ThriftHiveMetastore_alter_table_with_cascade_args__isset;
+
+class ThriftHiveMetastore_alter_table_with_cascade_args {
+ public:
+
+ ThriftHiveMetastore_alter_table_with_cascade_args() : dbname(), tbl_name(), cascade(0) {
+ }
+
+ virtual ~ThriftHiveMetastore_alter_table_with_cascade_args() throw() {}
+
+ std::string dbname;
+ std::string tbl_name;
+ Table new_tbl;
+ bool cascade;
+
+ _ThriftHiveMetastore_alter_table_with_cascade_args__isset __isset;
+
+ void __set_dbname(const std::string& val) {
+ dbname = val;
+ }
+
+ void __set_tbl_name(const std::string& val) {
+ tbl_name = val;
+ }
+
+ void __set_new_tbl(const Table& val) {
+ new_tbl = val;
+ }
+
+ void __set_cascade(const bool val) {
+ cascade = val;
+ }
+
+ bool operator == (const ThriftHiveMetastore_alter_table_with_cascade_args & rhs) const
+ {
+ if (!(dbname == rhs.dbname))
+ return false;
+ if (!(tbl_name == rhs.tbl_name))
+ return false;
+ if (!(new_tbl == rhs.new_tbl))
+ return false;
+ if (!(cascade == rhs.cascade))
+ return false;
+ return true;
+ }
+ bool operator != (const ThriftHiveMetastore_alter_table_with_cascade_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ThriftHiveMetastore_alter_table_with_cascade_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ThriftHiveMetastore_alter_table_with_cascade_pargs {
+ public:
+
+
+ virtual ~ThriftHiveMetastore_alter_table_with_cascade_pargs() throw() {}
+
+ const std::string* dbname;
+ const std::string* tbl_name;
+ const Table* new_tbl;
+ const bool* cascade;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ThriftHiveMetastore_alter_table_with_cascade_result__isset {
+ _ThriftHiveMetastore_alter_table_with_cascade_result__isset() : o1(false), o2(false) {}
+ bool o1;
+ bool o2;
+} _ThriftHiveMetastore_alter_table_with_cascade_result__isset;
+
+class ThriftHiveMetastore_alter_table_with_cascade_result {
+ public:
+
+ ThriftHiveMetastore_alter_table_with_cascade_result() {
+ }
+
+ virtual ~ThriftHiveMetastore_alter_table_with_cascade_result() throw() {}
+
+ InvalidOperationException o1;
+ MetaException o2;
+
+ _ThriftHiveMetastore_alter_table_with_cascade_result__isset __isset;
+
+ void __set_o1(const InvalidOperationException& val) {
+ o1 = val;
+ }
+
+ void __set_o2(const MetaException& val) {
+ o2 = val;
+ }
+
+ bool operator == (const ThriftHiveMetastore_alter_table_with_cascade_result & rhs) const
+ {
+ if (!(o1 == rhs.o1))
+ return false;
+ if (!(o2 == rhs.o2))
+ return false;
+ return true;
+ }
+ bool operator != (const ThriftHiveMetastore_alter_table_with_cascade_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ThriftHiveMetastore_alter_table_with_cascade_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ThriftHiveMetastore_alter_table_with_cascade_presult__isset {
+ _ThriftHiveMetastore_alter_table_with_cascade_presult__isset() : o1(false), o2(false) {}
+ bool o1;
+ bool o2;
+} _ThriftHiveMetastore_alter_table_with_cascade_presult__isset;
+
+class ThriftHiveMetastore_alter_table_with_cascade_presult {
+ public:
+
+
+ virtual ~ThriftHiveMetastore_alter_table_with_cascade_presult() throw() {}
+
+ InvalidOperationException o1;
+ MetaException o2;
+
+ _ThriftHiveMetastore_alter_table_with_cascade_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
typedef struct _ThriftHiveMetastore_add_partition_args__isset {
_ThriftHiveMetastore_add_partition_args__isset() : new_part(false) {}
bool new_part;
@@ -16505,6 +16654,9 @@ class ThriftHiveMetastoreClient : virtua
void alter_table_with_environment_context(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const EnvironmentContext& environment_context);
void send_alter_table_with_environment_context(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const EnvironmentContext& environment_context);
void recv_alter_table_with_environment_context();
+ void alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade);
+ void send_alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade);
+ void recv_alter_table_with_cascade();
void add_partition(Partition& _return, const Partition& new_part);
void send_add_partition(const Partition& new_part);
void recv_add_partition(Partition& _return);
@@ -16813,6 +16965,7 @@ class ThriftHiveMetastoreProcessor : pub
void process_get_table_names_by_filter(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_alter_table(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_alter_table_with_environment_context(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_alter_table_with_cascade(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_add_partition(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_add_partition_with_environment_context(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_add_partitions(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
@@ -16933,6 +17086,7 @@ class ThriftHiveMetastoreProcessor : pub
processMap_["get_table_names_by_filter"] = &ThriftHiveMetastoreProcessor::process_get_table_names_by_filter;
processMap_["alter_table"] = &ThriftHiveMetastoreProcessor::process_alter_table;
processMap_["alter_table_with_environment_context"] = &ThriftHiveMetastoreProcessor::process_alter_table_with_environment_context;
+ processMap_["alter_table_with_cascade"] = &ThriftHiveMetastoreProcessor::process_alter_table_with_cascade;
processMap_["add_partition"] = &ThriftHiveMetastoreProcessor::process_add_partition;
processMap_["add_partition_with_environment_context"] = &ThriftHiveMetastoreProcessor::process_add_partition_with_environment_context;
processMap_["add_partitions"] = &ThriftHiveMetastoreProcessor::process_add_partitions;
@@ -17295,6 +17449,15 @@ class ThriftHiveMetastoreMultiface : vir
ifaces_[i]->alter_table_with_environment_context(dbname, tbl_name, new_tbl, environment_context);
}
+ void alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->alter_table_with_cascade(dbname, tbl_name, new_tbl, cascade);
+ }
+ ifaces_[i]->alter_table_with_cascade(dbname, tbl_name, new_tbl, cascade);
+ }
+
void add_partition(Partition& _return, const Partition& new_part) {
size_t sz = ifaces_.size();
size_t i = 0;
Modified: hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp Tue Nov 18 20:14:29 2014
@@ -147,6 +147,11 @@ class ThriftHiveMetastoreHandler : virtu
printf("alter_table_with_environment_context\n");
}
+ void alter_table_with_cascade(const std::string& dbname, const std::string& tbl_name, const Table& new_tbl, const bool cascade) {
+ // Your implementation goes here
+ printf("alter_table_with_cascade\n");
+ }
+
void add_partition(Partition& _return, const Partition& new_part) {
// Your implementation goes here
printf("add_partition\n");
Modified: hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java Tue Nov 18 20:14:29 2014
@@ -88,6 +88,8 @@ public class ThriftHiveMetastore {
public void alter_table_with_environment_context(String dbname, String tbl_name, Table new_tbl, EnvironmentContext environment_context) throws InvalidOperationException, MetaException, org.apache.thrift.TException;
+ public void alter_table_with_cascade(String dbname, String tbl_name, Table new_tbl, boolean cascade) throws InvalidOperationException, MetaException, org.apache.thrift.TException;
+
public Partition add_partition(Partition new_part) throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException;
public Partition add_partition_with_environment_context(Partition new_part, EnvironmentContext environment_context) throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException;
@@ -324,6 +326,8 @@ public class ThriftHiveMetastore {
public void alter_table_with_environment_context(String dbname, String tbl_name, Table new_tbl, EnvironmentContext environment_context, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.alter_table_with_environment_context_call> resultHandler) throws org.apache.thrift.TException;
+ public void alter_table_with_cascade(String dbname, String tbl_name, Table new_tbl, boolean cascade, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.alter_table_with_cascade_call> resultHandler) throws org.apache.thrift.TException;
+
public void add_partition(Partition new_part, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.add_partition_call> resultHandler) throws org.apache.thrift.TException;
public void add_partition_with_environment_context(Partition new_part, EnvironmentContext environment_context, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.add_partition_with_environment_context_call> resultHandler) throws org.apache.thrift.TException;
@@ -1256,6 +1260,35 @@ public class ThriftHiveMetastore {
return;
}
+ public void alter_table_with_cascade(String dbname, String tbl_name, Table new_tbl, boolean cascade) throws InvalidOperationException, MetaException, org.apache.thrift.TException
+ {
+ send_alter_table_with_cascade(dbname, tbl_name, new_tbl, cascade);
+ recv_alter_table_with_cascade();
+ }
+
+ public void send_alter_table_with_cascade(String dbname, String tbl_name, Table new_tbl, boolean cascade) throws org.apache.thrift.TException
+ {
+ alter_table_with_cascade_args args = new alter_table_with_cascade_args();
+ args.setDbname(dbname);
+ args.setTbl_name(tbl_name);
+ args.setNew_tbl(new_tbl);
+ args.setCascade(cascade);
+ sendBase("alter_table_with_cascade", args);
+ }
+
+ public void recv_alter_table_with_cascade() throws InvalidOperationException, MetaException, org.apache.thrift.TException
+ {
+ alter_table_with_cascade_result result = new alter_table_with_cascade_result();
+ receiveBase(result, "alter_table_with_cascade");
+ if (result.o1 != null) {
+ throw result.o1;
+ }
+ if (result.o2 != null) {
+ throw result.o2;
+ }
+ return;
+ }
+
public Partition add_partition(Partition new_part) throws InvalidObjectException, AlreadyExistsException, MetaException, org.apache.thrift.TException
{
send_add_partition(new_part);
@@ -4848,6 +4881,47 @@ public class ThriftHiveMetastore {
}
}
+ public void alter_table_with_cascade(String dbname, String tbl_name, Table new_tbl, boolean cascade, org.apache.thrift.async.AsyncMethodCallback<alter_table_with_cascade_call> resultHandler) throws org.apache.thrift.TException {
+ checkReady();
+ alter_table_with_cascade_call method_call = new alter_table_with_cascade_call(dbname, tbl_name, new_tbl, cascade, resultHandler, this, ___protocolFactory, ___transport);
+ this.___currentMethod = method_call;
+ ___manager.call(method_call);
+ }
+
+ public static class alter_table_with_cascade_call extends org.apache.thrift.async.TAsyncMethodCall {
+ private String dbname;
+ private String tbl_name;
+ private Table new_tbl;
+ private boolean cascade;
+ public alter_table_with_cascade_call(String dbname, String tbl_name, Table new_tbl, boolean cascade, org.apache.thrift.async.AsyncMethodCallback<alter_table_with_cascade_call> 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.dbname = dbname;
+ this.tbl_name = tbl_name;
+ this.new_tbl = new_tbl;
+ this.cascade = cascade;
+ }
+
+ public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+ prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("alter_table_with_cascade", org.apache.thrift.protocol.TMessageType.CALL, 0));
+ alter_table_with_cascade_args args = new alter_table_with_cascade_args();
+ args.setDbname(dbname);
+ args.setTbl_name(tbl_name);
+ args.setNew_tbl(new_tbl);
+ args.setCascade(cascade);
+ args.write(prot);
+ prot.writeMessageEnd();
+ }
+
+ public void getResult() throws InvalidOperationException, MetaException, 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);
+ (new Client(prot)).recv_alter_table_with_cascade();
+ }
+ }
+
public void add_partition(Partition new_part, org.apache.thrift.async.AsyncMethodCallback<add_partition_call> resultHandler) throws org.apache.thrift.TException {
checkReady();
add_partition_call method_call = new add_partition_call(new_part, resultHandler, this, ___protocolFactory, ___transport);
@@ -8167,6 +8241,7 @@ public class ThriftHiveMetastore {
processMap.put("get_table_names_by_filter", new get_table_names_by_filter());
processMap.put("alter_table", new alter_table());
processMap.put("alter_table_with_environment_context", new alter_table_with_environment_context());
+ processMap.put("alter_table_with_cascade", new alter_table_with_cascade());
processMap.put("add_partition", new add_partition());
processMap.put("add_partition_with_environment_context", new add_partition_with_environment_context());
processMap.put("add_partitions", new add_partitions());
@@ -8921,6 +8996,32 @@ public class ThriftHiveMetastore {
}
}
+ public static class alter_table_with_cascade<I extends Iface> extends org.apache.thrift.ProcessFunction<I, alter_table_with_cascade_args> {
+ public alter_table_with_cascade() {
+ super("alter_table_with_cascade");
+ }
+
+ public alter_table_with_cascade_args getEmptyArgsInstance() {
+ return new alter_table_with_cascade_args();
+ }
+
+ protected boolean isOneway() {
+ return false;
+ }
+
+ public alter_table_with_cascade_result getResult(I iface, alter_table_with_cascade_args args) throws org.apache.thrift.TException {
+ alter_table_with_cascade_result result = new alter_table_with_cascade_result();
+ try {
+ iface.alter_table_with_cascade(args.dbname, args.tbl_name, args.new_tbl, args.cascade);
+ } catch (InvalidOperationException o1) {
+ result.o1 = o1;
+ } catch (MetaException o2) {
+ result.o2 = o2;
+ }
+ return result;
+ }
+ }
+
public static class add_partition<I extends Iface> extends org.apache.thrift.ProcessFunction<I, add_partition_args> {
public add_partition() {
super("add_partition");
@@ -36644,6 +36745,1145 @@ public class ThriftHiveMetastore {
}
+ public static class alter_table_with_cascade_args implements org.apache.thrift.TBase<alter_table_with_cascade_args, alter_table_with_cascade_args._Fields>, java.io.Serializable, Cloneable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("alter_table_with_cascade_args");
+
+ private static final org.apache.thrift.protocol.TField DBNAME_FIELD_DESC = new org.apache.thrift.protocol.TField("dbname", org.apache.thrift.protocol.TType.STRING, (short)1);
+ private static final org.apache.thrift.protocol.TField TBL_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tbl_name", org.apache.thrift.protocol.TType.STRING, (short)2);
+ private static final org.apache.thrift.protocol.TField NEW_TBL_FIELD_DESC = new org.apache.thrift.protocol.TField("new_tbl", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+ private static final org.apache.thrift.protocol.TField CASCADE_FIELD_DESC = new org.apache.thrift.protocol.TField("cascade", org.apache.thrift.protocol.TType.BOOL, (short)4);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new alter_table_with_cascade_argsStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new alter_table_with_cascade_argsTupleSchemeFactory());
+ }
+
+ private String dbname; // required
+ private String tbl_name; // required
+ private Table new_tbl; // required
+ private boolean cascade; // 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 {
+ DBNAME((short)1, "dbname"),
+ TBL_NAME((short)2, "tbl_name"),
+ NEW_TBL((short)3, "new_tbl"),
+ CASCADE((short)4, "cascade");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ 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: // DBNAME
+ return DBNAME;
+ case 2: // TBL_NAME
+ return TBL_NAME;
+ case 3: // NEW_TBL
+ return NEW_TBL;
+ case 4: // CASCADE
+ return CASCADE;
+ 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 int __CASCADE_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ 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.DBNAME, new org.apache.thrift.meta_data.FieldMetaData("dbname", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.TBL_NAME, new org.apache.thrift.meta_data.FieldMetaData("tbl_name", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.NEW_TBL, new org.apache.thrift.meta_data.FieldMetaData("new_tbl", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Table.class)));
+ tmpMap.put(_Fields.CASCADE, new org.apache.thrift.meta_data.FieldMetaData("cascade", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(alter_table_with_cascade_args.class, metaDataMap);
+ }
+
+ public alter_table_with_cascade_args() {
+ }
+
+ public alter_table_with_cascade_args(
+ String dbname,
+ String tbl_name,
+ Table new_tbl,
+ boolean cascade)
+ {
+ this();
+ this.dbname = dbname;
+ this.tbl_name = tbl_name;
+ this.new_tbl = new_tbl;
+ this.cascade = cascade;
+ setCascadeIsSet(true);
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public alter_table_with_cascade_args(alter_table_with_cascade_args other) {
+ __isset_bitfield = other.__isset_bitfield;
+ if (other.isSetDbname()) {
+ this.dbname = other.dbname;
+ }
+ if (other.isSetTbl_name()) {
+ this.tbl_name = other.tbl_name;
+ }
+ if (other.isSetNew_tbl()) {
+ this.new_tbl = new Table(other.new_tbl);
+ }
+ this.cascade = other.cascade;
+ }
+
+ public alter_table_with_cascade_args deepCopy() {
+ return new alter_table_with_cascade_args(this);
+ }
+
+ @Override
+ public void clear() {
+ this.dbname = null;
+ this.tbl_name = null;
+ this.new_tbl = null;
+ setCascadeIsSet(false);
+ this.cascade = false;
+ }
+
+ public String getDbname() {
+ return this.dbname;
+ }
+
+ public void setDbname(String dbname) {
+ this.dbname = dbname;
+ }
+
+ public void unsetDbname() {
+ this.dbname = null;
+ }
+
+ /** Returns true if field dbname is set (has been assigned a value) and false otherwise */
+ public boolean isSetDbname() {
+ return this.dbname != null;
+ }
+
+ public void setDbnameIsSet(boolean value) {
+ if (!value) {
+ this.dbname = null;
+ }
+ }
+
+ public String getTbl_name() {
+ return this.tbl_name;
+ }
+
+ public void setTbl_name(String tbl_name) {
+ this.tbl_name = tbl_name;
+ }
+
+ public void unsetTbl_name() {
+ this.tbl_name = null;
+ }
+
+ /** Returns true if field tbl_name is set (has been assigned a value) and false otherwise */
+ public boolean isSetTbl_name() {
+ return this.tbl_name != null;
+ }
+
+ public void setTbl_nameIsSet(boolean value) {
+ if (!value) {
+ this.tbl_name = null;
+ }
+ }
+
+ public Table getNew_tbl() {
+ return this.new_tbl;
+ }
+
+ public void setNew_tbl(Table new_tbl) {
+ this.new_tbl = new_tbl;
+ }
+
+ public void unsetNew_tbl() {
+ this.new_tbl = null;
+ }
+
+ /** Returns true if field new_tbl is set (has been assigned a value) and false otherwise */
+ public boolean isSetNew_tbl() {
+ return this.new_tbl != null;
+ }
+
+ public void setNew_tblIsSet(boolean value) {
+ if (!value) {
+ this.new_tbl = null;
+ }
+ }
+
+ public boolean isCascade() {
+ return this.cascade;
+ }
+
+ public void setCascade(boolean cascade) {
+ this.cascade = cascade;
+ setCascadeIsSet(true);
+ }
+
+ public void unsetCascade() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CASCADE_ISSET_ID);
+ }
+
+ /** Returns true if field cascade is set (has been assigned a value) and false otherwise */
+ public boolean isSetCascade() {
+ return EncodingUtils.testBit(__isset_bitfield, __CASCADE_ISSET_ID);
+ }
+
+ public void setCascadeIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CASCADE_ISSET_ID, value);
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case DBNAME:
+ if (value == null) {
+ unsetDbname();
+ } else {
+ setDbname((String)value);
+ }
+ break;
+
+ case TBL_NAME:
+ if (value == null) {
+ unsetTbl_name();
+ } else {
+ setTbl_name((String)value);
+ }
+ break;
+
+ case NEW_TBL:
+ if (value == null) {
+ unsetNew_tbl();
+ } else {
+ setNew_tbl((Table)value);
+ }
+ break;
+
+ case CASCADE:
+ if (value == null) {
+ unsetCascade();
+ } else {
+ setCascade((Boolean)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case DBNAME:
+ return getDbname();
+
+ case TBL_NAME:
+ return getTbl_name();
+
+ case NEW_TBL:
+ return getNew_tbl();
+
+ case CASCADE:
+ return Boolean.valueOf(isCascade());
+
+ }
+ 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 DBNAME:
+ return isSetDbname();
+ case TBL_NAME:
+ return isSetTbl_name();
+ case NEW_TBL:
+ return isSetNew_tbl();
+ case CASCADE:
+ return isSetCascade();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof alter_table_with_cascade_args)
+ return this.equals((alter_table_with_cascade_args)that);
+ return false;
+ }
+
+ public boolean equals(alter_table_with_cascade_args that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_dbname = true && this.isSetDbname();
+ boolean that_present_dbname = true && that.isSetDbname();
+ if (this_present_dbname || that_present_dbname) {
+ if (!(this_present_dbname && that_present_dbname))
+ return false;
+ if (!this.dbname.equals(that.dbname))
+ return false;
+ }
+
+ boolean this_present_tbl_name = true && this.isSetTbl_name();
+ boolean that_present_tbl_name = true && that.isSetTbl_name();
+ if (this_present_tbl_name || that_present_tbl_name) {
+ if (!(this_present_tbl_name && that_present_tbl_name))
+ return false;
+ if (!this.tbl_name.equals(that.tbl_name))
+ return false;
+ }
+
+ boolean this_present_new_tbl = true && this.isSetNew_tbl();
+ boolean that_present_new_tbl = true && that.isSetNew_tbl();
+ if (this_present_new_tbl || that_present_new_tbl) {
+ if (!(this_present_new_tbl && that_present_new_tbl))
+ return false;
+ if (!this.new_tbl.equals(that.new_tbl))
+ return false;
+ }
+
+ boolean this_present_cascade = true;
+ boolean that_present_cascade = true;
+ if (this_present_cascade || that_present_cascade) {
+ if (!(this_present_cascade && that_present_cascade))
+ return false;
+ if (this.cascade != that.cascade)
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ HashCodeBuilder builder = new HashCodeBuilder();
+
+ boolean present_dbname = true && (isSetDbname());
+ builder.append(present_dbname);
+ if (present_dbname)
+ builder.append(dbname);
+
+ boolean present_tbl_name = true && (isSetTbl_name());
+ builder.append(present_tbl_name);
+ if (present_tbl_name)
+ builder.append(tbl_name);
+
+ boolean present_new_tbl = true && (isSetNew_tbl());
+ builder.append(present_new_tbl);
+ if (present_new_tbl)
+ builder.append(new_tbl);
+
+ boolean present_cascade = true;
+ builder.append(present_cascade);
+ if (present_cascade)
+ builder.append(cascade);
+
+ return builder.toHashCode();
+ }
+
+ public int compareTo(alter_table_with_cascade_args other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+ alter_table_with_cascade_args typedOther = (alter_table_with_cascade_args)other;
+
+ lastComparison = Boolean.valueOf(isSetDbname()).compareTo(typedOther.isSetDbname());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetDbname()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dbname, typedOther.dbname);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetTbl_name()).compareTo(typedOther.isSetTbl_name());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetTbl_name()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tbl_name, typedOther.tbl_name);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetNew_tbl()).compareTo(typedOther.isSetNew_tbl());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetNew_tbl()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.new_tbl, typedOther.new_tbl);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetCascade()).compareTo(typedOther.isSetCascade());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetCascade()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cascade, typedOther.cascade);
+ 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("alter_table_with_cascade_args(");
+ boolean first = true;
+
+ sb.append("dbname:");
+ if (this.dbname == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.dbname);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("tbl_name:");
+ if (this.tbl_name == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.tbl_name);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("new_tbl:");
+ if (this.new_tbl == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.new_tbl);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("cascade:");
+ sb.append(this.cascade);
+ 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 (new_tbl != null) {
+ new_tbl.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 {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ 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 alter_table_with_cascade_argsStandardSchemeFactory implements SchemeFactory {
+ public alter_table_with_cascade_argsStandardScheme getScheme() {
+ return new alter_table_with_cascade_argsStandardScheme();
+ }
+ }
+
+ private static class alter_table_with_cascade_argsStandardScheme extends StandardScheme<alter_table_with_cascade_args> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, alter_table_with_cascade_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: // DBNAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.dbname = iprot.readString();
+ struct.setDbnameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // TBL_NAME
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.tbl_name = iprot.readString();
+ struct.setTbl_nameIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 3: // NEW_TBL
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.new_tbl = new Table();
+ struct.new_tbl.read(iprot);
+ struct.setNew_tblIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 4: // CASCADE
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.cascade = iprot.readBool();
+ struct.setCascadeIsSet(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, alter_table_with_cascade_args struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.dbname != null) {
+ oprot.writeFieldBegin(DBNAME_FIELD_DESC);
+ oprot.writeString(struct.dbname);
+ oprot.writeFieldEnd();
+ }
+ if (struct.tbl_name != null) {
+ oprot.writeFieldBegin(TBL_NAME_FIELD_DESC);
+ oprot.writeString(struct.tbl_name);
+ oprot.writeFieldEnd();
+ }
+ if (struct.new_tbl != null) {
+ oprot.writeFieldBegin(NEW_TBL_FIELD_DESC);
+ struct.new_tbl.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldBegin(CASCADE_FIELD_DESC);
+ oprot.writeBool(struct.cascade);
+ oprot.writeFieldEnd();
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class alter_table_with_cascade_argsTupleSchemeFactory implements SchemeFactory {
+ public alter_table_with_cascade_argsTupleScheme getScheme() {
+ return new alter_table_with_cascade_argsTupleScheme();
+ }
+ }
+
+ private static class alter_table_with_cascade_argsTupleScheme extends TupleScheme<alter_table_with_cascade_args> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, alter_table_with_cascade_args struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ BitSet optionals = new BitSet();
+ if (struct.isSetDbname()) {
+ optionals.set(0);
+ }
+ if (struct.isSetTbl_name()) {
+ optionals.set(1);
+ }
+ if (struct.isSetNew_tbl()) {
+ optionals.set(2);
+ }
+ if (struct.isSetCascade()) {
+ optionals.set(3);
+ }
+ oprot.writeBitSet(optionals, 4);
+ if (struct.isSetDbname()) {
+ oprot.writeString(struct.dbname);
+ }
+ if (struct.isSetTbl_name()) {
+ oprot.writeString(struct.tbl_name);
+ }
+ if (struct.isSetNew_tbl()) {
+ struct.new_tbl.write(oprot);
+ }
+ if (struct.isSetCascade()) {
+ oprot.writeBool(struct.cascade);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, alter_table_with_cascade_args struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ BitSet incoming = iprot.readBitSet(4);
+ if (incoming.get(0)) {
+ struct.dbname = iprot.readString();
+ struct.setDbnameIsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.tbl_name = iprot.readString();
+ struct.setTbl_nameIsSet(true);
+ }
+ if (incoming.get(2)) {
+ struct.new_tbl = new Table();
+ struct.new_tbl.read(iprot);
+ struct.setNew_tblIsSet(true);
+ }
+ if (incoming.get(3)) {
+ struct.cascade = iprot.readBool();
+ struct.setCascadeIsSet(true);
+ }
+ }
+ }
+
+ }
+
+ public static class alter_table_with_cascade_result implements org.apache.thrift.TBase<alter_table_with_cascade_result, alter_table_with_cascade_result._Fields>, java.io.Serializable, Cloneable {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("alter_table_with_cascade_result");
+
+ private static final org.apache.thrift.protocol.TField O1_FIELD_DESC = new org.apache.thrift.protocol.TField("o1", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+ private static final org.apache.thrift.protocol.TField O2_FIELD_DESC = new org.apache.thrift.protocol.TField("o2", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new alter_table_with_cascade_resultStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new alter_table_with_cascade_resultTupleSchemeFactory());
+ }
+
+ private InvalidOperationException o1; // required
+ private MetaException o2; // 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 {
+ O1((short)1, "o1"),
+ O2((short)2, "o2");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ 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: // O1
+ return O1;
+ case 2: // O2
+ return O2;
+ 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.O1, new org.apache.thrift.meta_data.FieldMetaData("o1", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+ tmpMap.put(_Fields.O2, new org.apache.thrift.meta_data.FieldMetaData("o2", org.apache.thrift.TFieldRequirementType.DEFAULT,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(alter_table_with_cascade_result.class, metaDataMap);
+ }
+
+ public alter_table_with_cascade_result() {
+ }
+
+ public alter_table_with_cascade_result(
+ InvalidOperationException o1,
+ MetaException o2)
+ {
+ this();
+ this.o1 = o1;
+ this.o2 = o2;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public alter_table_with_cascade_result(alter_table_with_cascade_result other) {
+ if (other.isSetO1()) {
+ this.o1 = new InvalidOperationException(other.o1);
+ }
+ if (other.isSetO2()) {
+ this.o2 = new MetaException(other.o2);
+ }
+ }
+
+ public alter_table_with_cascade_result deepCopy() {
+ return new alter_table_with_cascade_result(this);
+ }
+
+ @Override
+ public void clear() {
+ this.o1 = null;
+ this.o2 = null;
+ }
+
+ public InvalidOperationException getO1() {
+ return this.o1;
+ }
+
+ public void setO1(InvalidOperationException o1) {
+ this.o1 = o1;
+ }
+
+ public void unsetO1() {
+ this.o1 = null;
+ }
+
+ /** Returns true if field o1 is set (has been assigned a value) and false otherwise */
+ public boolean isSetO1() {
+ return this.o1 != null;
+ }
+
+ public void setO1IsSet(boolean value) {
+ if (!value) {
+ this.o1 = null;
+ }
+ }
+
+ public MetaException getO2() {
+ return this.o2;
+ }
+
+ public void setO2(MetaException o2) {
+ this.o2 = o2;
+ }
+
+ public void unsetO2() {
+ this.o2 = null;
+ }
+
+ /** Returns true if field o2 is set (has been assigned a value) and false otherwise */
+ public boolean isSetO2() {
+ return this.o2 != null;
+ }
+
+ public void setO2IsSet(boolean value) {
+ if (!value) {
+ this.o2 = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case O1:
+ if (value == null) {
+ unsetO1();
+ } else {
+ setO1((InvalidOperationException)value);
+ }
+ break;
+
+ case O2:
+ if (value == null) {
+ unsetO2();
+ } else {
+ setO2((MetaException)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case O1:
+ return getO1();
+
+ case O2:
+ return getO2();
+
+ }
+ 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 O1:
+ return isSetO1();
+ case O2:
+ return isSetO2();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof alter_table_with_cascade_result)
+ return this.equals((alter_table_with_cascade_result)that);
+ return false;
+ }
+
+ public boolean equals(alter_table_with_cascade_result that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_o1 = true && this.isSetO1();
+ boolean that_present_o1 = true && that.isSetO1();
+ if (this_present_o1 || that_present_o1) {
+ if (!(this_present_o1 && that_present_o1))
+ return false;
+ if (!this.o1.equals(that.o1))
+ return false;
+ }
+
+ boolean this_present_o2 = true && this.isSetO2();
+ boolean that_present_o2 = true && that.isSetO2();
+ if (this_present_o2 || that_present_o2) {
+ if (!(this_present_o2 && that_present_o2))
+ return false;
+ if (!this.o2.equals(that.o2))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ HashCodeBuilder builder = new HashCodeBuilder();
+
+ boolean present_o1 = true && (isSetO1());
+ builder.append(present_o1);
+ if (present_o1)
+ builder.append(o1);
+
+ boolean present_o2 = true && (isSetO2());
+ builder.append(present_o2);
+ if (present_o2)
+ builder.append(o2);
+
+ return builder.toHashCode();
+ }
+
+ public int compareTo(alter_table_with_cascade_result other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+ alter_table_with_cascade_result typedOther = (alter_table_with_cascade_result)other;
+
+ lastComparison = Boolean.valueOf(isSetO1()).compareTo(typedOther.isSetO1());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetO1()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.o1, typedOther.o1);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetO2()).compareTo(typedOther.isSetO2());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetO2()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.o2, typedOther.o2);
+ 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("alter_table_with_cascade_result(");
+ boolean first = true;
+
+ sb.append("o1:");
+ if (this.o1 == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.o1);
+ }
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("o2:");
+ if (this.o2 == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.o2);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ // check for sub-struct validity
+ }
+
+ 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 alter_table_with_cascade_resultStandardSchemeFactory implements SchemeFactory {
+ public alter_table_with_cascade_resultStandardScheme getScheme() {
+ return new alter_table_with_cascade_resultStandardScheme();
+ }
+ }
+
+ private static class alter_table_with_cascade_resultStandardScheme extends StandardScheme<alter_table_with_cascade_result> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, alter_table_with_cascade_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 1: // O1
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.o1 = new InvalidOperationException();
+ struct.o1.read(iprot);
+ struct.setO1IsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // O2
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.o2 = new MetaException();
+ struct.o2.read(iprot);
+ struct.setO2IsSet(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, alter_table_with_cascade_result struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.o1 != null) {
+ oprot.writeFieldBegin(O1_FIELD_DESC);
+ struct.o1.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ if (struct.o2 != null) {
+ oprot.writeFieldBegin(O2_FIELD_DESC);
+ struct.o2.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class alter_table_with_cascade_resultTupleSchemeFactory implements SchemeFactory {
+ public alter_table_with_cascade_resultTupleScheme getScheme() {
+ return new alter_table_with_cascade_resultTupleScheme();
+ }
+ }
+
+ private static class alter_table_with_cascade_resultTupleScheme extends TupleScheme<alter_table_with_cascade_result> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, alter_table_with_cascade_result struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ BitSet optionals = new BitSet();
+ if (struct.isSetO1()) {
+ optionals.set(0);
+ }
+ if (struct.isSetO2()) {
+ optionals.set(1);
+ }
+ oprot.writeBitSet(optionals, 2);
+ if (struct.isSetO1()) {
+ struct.o1.write(oprot);
+ }
+ if (struct.isSetO2()) {
+ struct.o2.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, alter_table_with_cascade_result struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ BitSet incoming = iprot.readBitSet(2);
+ if (incoming.get(0)) {
+ struct.o1 = new InvalidOperationException();
+ struct.o1.read(iprot);
+ struct.setO1IsSet(true);
+ }
+ if (incoming.get(1)) {
+ struct.o2 = new MetaException();
+ struct.o2.read(iprot);
+ struct.setO2IsSet(true);
+ }
+ }
+ }
+
+ }
+
public static class add_partition_args implements org.apache.thrift.TBase<add_partition_args, add_partition_args._Fields>, java.io.Serializable, Cloneable {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("add_partition_args");
Modified: hive/trunk/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php Tue Nov 18 20:14:29 2014
@@ -41,6 +41,7 @@ interface ThriftHiveMetastoreIf extends
public function get_table_names_by_filter($dbname, $filter, $max_tables);
public function alter_table($dbname, $tbl_name, \metastore\Table $new_tbl);
public function alter_table_with_environment_context($dbname, $tbl_name, \metastore\Table $new_tbl, \metastore\EnvironmentContext $environment_context);
+ public function alter_table_with_cascade($dbname, $tbl_name, \metastore\Table $new_tbl, $cascade);
public function add_partition(\metastore\Partition $new_part);
public function add_partition_with_environment_context(\metastore\Partition $new_part, \metastore\EnvironmentContext $environment_context);
public function add_partitions($new_parts);
@@ -1567,6 +1568,63 @@ class ThriftHiveMetastoreClient extends
return;
}
+ public function alter_table_with_cascade($dbname, $tbl_name, \metastore\Table $new_tbl, $cascade)
+ {
+ $this->send_alter_table_with_cascade($dbname, $tbl_name, $new_tbl, $cascade);
+ $this->recv_alter_table_with_cascade();
+ }
+
+ public function send_alter_table_with_cascade($dbname, $tbl_name, \metastore\Table $new_tbl, $cascade)
+ {
+ $args = new \metastore\ThriftHiveMetastore_alter_table_with_cascade_args();
+ $args->dbname = $dbname;
+ $args->tbl_name = $tbl_name;
+ $args->new_tbl = $new_tbl;
+ $args->cascade = $cascade;
+ $bin_accel = ($this->output_ instanceof TProtocol::$TBINARYPROTOCOLACCELERATED) && function_exists('thrift_protocol_write_binary');
+ if ($bin_accel)
+ {
+ thrift_protocol_write_binary($this->output_, 'alter_table_with_cascade', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+ }
+ else
+ {
+ $this->output_->writeMessageBegin('alter_table_with_cascade', TMessageType::CALL, $this->seqid_);
+ $args->write($this->output_);
+ $this->output_->writeMessageEnd();
+ $this->output_->getTransport()->flush();
+ }
+ }
+
+ public function recv_alter_table_with_cascade()
+ {
+ $bin_accel = ($this->input_ instanceof TProtocol::$TBINARYPROTOCOLACCELERATED) && function_exists('thrift_protocol_read_binary');
+ if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\metastore\ThriftHiveMetastore_alter_table_with_cascade_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 \metastore\ThriftHiveMetastore_alter_table_with_cascade_result();
+ $result->read($this->input_);
+ $this->input_->readMessageEnd();
+ }
+ if ($result->o1 !== null) {
+ throw $result->o1;
+ }
+ if ($result->o2 !== null) {
+ throw $result->o2;
+ }
+ return;
+ }
+
public function add_partition(\metastore\Partition $new_part)
{
$this->send_add_partition($new_part);
@@ -12177,6 +12235,239 @@ class ThriftHiveMetastore_alter_table_wi
}
+class ThriftHiveMetastore_alter_table_with_cascade_args {
+ static $_TSPEC;
+
+ public $dbname = null;
+ public $tbl_name = null;
+ public $new_tbl = null;
+ public $cascade = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'dbname',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'tbl_name',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'new_tbl',
+ 'type' => TType::STRUCT,
+ 'class' => '\metastore\Table',
+ ),
+ 4 => array(
+ 'var' => 'cascade',
+ 'type' => TType::BOOL,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['dbname'])) {
+ $this->dbname = $vals['dbname'];
+ }
+ if (isset($vals['tbl_name'])) {
+ $this->tbl_name = $vals['tbl_name'];
+ }
+ if (isset($vals['new_tbl'])) {
+ $this->new_tbl = $vals['new_tbl'];
+ }
+ if (isset($vals['cascade'])) {
+ $this->cascade = $vals['cascade'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'ThriftHiveMetastore_alter_table_with_cascade_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::STRING) {
+ $xfer += $input->readString($this->dbname);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->tbl_name);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRUCT) {
+ $this->new_tbl = new \metastore\Table();
+ $xfer += $this->new_tbl->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::BOOL) {
+ $xfer += $input->readBool($this->cascade);
+ } 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('ThriftHiveMetastore_alter_table_with_cascade_args');
+ if ($this->dbname !== null) {
+ $xfer += $output->writeFieldBegin('dbname', TType::STRING, 1);
+ $xfer += $output->writeString($this->dbname);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->tbl_name !== null) {
+ $xfer += $output->writeFieldBegin('tbl_name', TType::STRING, 2);
+ $xfer += $output->writeString($this->tbl_name);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->new_tbl !== null) {
+ if (!is_object($this->new_tbl)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('new_tbl', TType::STRUCT, 3);
+ $xfer += $this->new_tbl->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->cascade !== null) {
+ $xfer += $output->writeFieldBegin('cascade', TType::BOOL, 4);
+ $xfer += $output->writeBool($this->cascade);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class ThriftHiveMetastore_alter_table_with_cascade_result {
+ static $_TSPEC;
+
+ public $o1 = null;
+ public $o2 = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'o1',
+ 'type' => TType::STRUCT,
+ 'class' => '\metastore\InvalidOperationException',
+ ),
+ 2 => array(
+ 'var' => 'o2',
+ 'type' => TType::STRUCT,
+ 'class' => '\metastore\MetaException',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['o1'])) {
+ $this->o1 = $vals['o1'];
+ }
+ if (isset($vals['o2'])) {
+ $this->o2 = $vals['o2'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'ThriftHiveMetastore_alter_table_with_cascade_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 1:
+ if ($ftype == TType::STRUCT) {
+ $this->o1 = new \metastore\InvalidOperationException();
+ $xfer += $this->o1->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRUCT) {
+ $this->o2 = new \metastore\MetaException();
+ $xfer += $this->o2->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('ThriftHiveMetastore_alter_table_with_cascade_result');
+ if ($this->o1 !== null) {
+ $xfer += $output->writeFieldBegin('o1', TType::STRUCT, 1);
+ $xfer += $this->o1->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->o2 !== null) {
+ $xfer += $output->writeFieldBegin('o2', TType::STRUCT, 2);
+ $xfer += $this->o2->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
class ThriftHiveMetastore_add_partition_args {
static $_TSPEC;
Modified: hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote
URL: http://svn.apache.org/viewvc/hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote?rev=1640418&r1=1640417&r2=1640418&view=diff
==============================================================================
--- hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote (original)
+++ hive/trunk/metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote Tue Nov 18 20:14:29 2014
@@ -48,6 +48,7 @@ if len(sys.argv) <= 1 or sys.argv[1] ==
print ' get_table_names_by_filter(string dbname, string filter, i16 max_tables)'
print ' void alter_table(string dbname, string tbl_name, Table new_tbl)'
print ' void alter_table_with_environment_context(string dbname, string tbl_name, Table new_tbl, EnvironmentContext environment_context)'
+ print ' void alter_table_with_cascade(string dbname, string tbl_name, Table new_tbl, bool cascade)'
print ' Partition add_partition(Partition new_part)'
print ' Partition add_partition_with_environment_context(Partition new_part, EnvironmentContext environment_context)'
print ' i32 add_partitions( new_parts)'
@@ -340,6 +341,12 @@ elif cmd == 'alter_table_with_environmen
sys.exit(1)
pp.pprint(client.alter_table_with_environment_context(args[0],args[1],eval(args[2]),eval(args[3]),))
+elif cmd == 'alter_table_with_cascade':
+ if len(args) != 4:
+ print 'alter_table_with_cascade requires 4 args'
+ sys.exit(1)
+ pp.pprint(client.alter_table_with_cascade(args[0],args[1],eval(args[2]),eval(args[3]),))
+
elif cmd == 'add_partition':
if len(args) != 1:
print 'add_partition requires 1 args'