You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2016/04/25 21:11:07 UTC
[2/6] hive git commit: HIVE-13130: HS2 changes : API calls for
retrieving primary keys and foreign keys information (Hari Subramaniyan,
reviewed by Ashutosh Chauhan)
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TGetPrimaryKeysResp.java
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TGetPrimaryKeysResp.java b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TGetPrimaryKeysResp.java
new file mode 100644
index 0000000..72d9507
--- /dev/null
+++ b/service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TGetPrimaryKeysResp.java
@@ -0,0 +1,509 @@
+/**
+ * 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.rpc.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 TGetPrimaryKeysResp implements org.apache.thrift.TBase<TGetPrimaryKeysResp, TGetPrimaryKeysResp._Fields>, java.io.Serializable, Cloneable, Comparable<TGetPrimaryKeysResp> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TGetPrimaryKeysResp");
+
+ 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 OPERATION_HANDLE_FIELD_DESC = new org.apache.thrift.protocol.TField("operationHandle", 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 TGetPrimaryKeysRespStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new TGetPrimaryKeysRespTupleSchemeFactory());
+ }
+
+ private TStatus status; // required
+ private TOperationHandle operationHandle; // 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"),
+ OPERATION_HANDLE((short)2, "operationHandle");
+
+ 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: // STATUS
+ return STATUS;
+ case 2: // OPERATION_HANDLE
+ return OPERATION_HANDLE;
+ 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.OPERATION_HANDLE};
+ 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.OPERATION_HANDLE, new org.apache.thrift.meta_data.FieldMetaData("operationHandle", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TOperationHandle.class)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TGetPrimaryKeysResp.class, metaDataMap);
+ }
+
+ public TGetPrimaryKeysResp() {
+ }
+
+ public TGetPrimaryKeysResp(
+ TStatus status)
+ {
+ this();
+ this.status = status;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public TGetPrimaryKeysResp(TGetPrimaryKeysResp other) {
+ if (other.isSetStatus()) {
+ this.status = new TStatus(other.status);
+ }
+ if (other.isSetOperationHandle()) {
+ this.operationHandle = new TOperationHandle(other.operationHandle);
+ }
+ }
+
+ public TGetPrimaryKeysResp deepCopy() {
+ return new TGetPrimaryKeysResp(this);
+ }
+
+ @Override
+ public void clear() {
+ this.status = null;
+ this.operationHandle = 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;
+ }
+ }
+
+ public TOperationHandle getOperationHandle() {
+ return this.operationHandle;
+ }
+
+ public void setOperationHandle(TOperationHandle operationHandle) {
+ this.operationHandle = operationHandle;
+ }
+
+ public void unsetOperationHandle() {
+ this.operationHandle = null;
+ }
+
+ /** Returns true if field operationHandle is set (has been assigned a value) and false otherwise */
+ public boolean isSetOperationHandle() {
+ return this.operationHandle != null;
+ }
+
+ public void setOperationHandleIsSet(boolean value) {
+ if (!value) {
+ this.operationHandle = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case STATUS:
+ if (value == null) {
+ unsetStatus();
+ } else {
+ setStatus((TStatus)value);
+ }
+ break;
+
+ case OPERATION_HANDLE:
+ if (value == null) {
+ unsetOperationHandle();
+ } else {
+ setOperationHandle((TOperationHandle)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case STATUS:
+ return getStatus();
+
+ case OPERATION_HANDLE:
+ return getOperationHandle();
+
+ }
+ 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 OPERATION_HANDLE:
+ return isSetOperationHandle();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof TGetPrimaryKeysResp)
+ return this.equals((TGetPrimaryKeysResp)that);
+ return false;
+ }
+
+ public boolean equals(TGetPrimaryKeysResp 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_operationHandle = true && this.isSetOperationHandle();
+ boolean that_present_operationHandle = true && that.isSetOperationHandle();
+ if (this_present_operationHandle || that_present_operationHandle) {
+ if (!(this_present_operationHandle && that_present_operationHandle))
+ return false;
+ if (!this.operationHandle.equals(that.operationHandle))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ List<Object> list = new ArrayList<Object>();
+
+ boolean present_status = true && (isSetStatus());
+ list.add(present_status);
+ if (present_status)
+ list.add(status);
+
+ boolean present_operationHandle = true && (isSetOperationHandle());
+ list.add(present_operationHandle);
+ if (present_operationHandle)
+ list.add(operationHandle);
+
+ return list.hashCode();
+ }
+
+ @Override
+ public int compareTo(TGetPrimaryKeysResp 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(isSetOperationHandle()).compareTo(other.isSetOperationHandle());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetOperationHandle()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.operationHandle, other.operationHandle);
+ 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("TGetPrimaryKeysResp(");
+ boolean first = true;
+
+ sb.append("status:");
+ if (this.status == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.status);
+ }
+ first = false;
+ if (isSetOperationHandle()) {
+ if (!first) sb.append(", ");
+ sb.append("operationHandle:");
+ if (this.operationHandle == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.operationHandle);
+ }
+ 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());
+ }
+
+ // check for sub-struct validity
+ if (status != null) {
+ status.validate();
+ }
+ if (operationHandle != null) {
+ operationHandle.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 TGetPrimaryKeysRespStandardSchemeFactory implements SchemeFactory {
+ public TGetPrimaryKeysRespStandardScheme getScheme() {
+ return new TGetPrimaryKeysRespStandardScheme();
+ }
+ }
+
+ private static class TGetPrimaryKeysRespStandardScheme extends StandardScheme<TGetPrimaryKeysResp> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, TGetPrimaryKeysResp 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: // OPERATION_HANDLE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.operationHandle = new TOperationHandle();
+ struct.operationHandle.read(iprot);
+ struct.setOperationHandleIsSet(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, TGetPrimaryKeysResp 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.operationHandle != null) {
+ if (struct.isSetOperationHandle()) {
+ oprot.writeFieldBegin(OPERATION_HANDLE_FIELD_DESC);
+ struct.operationHandle.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class TGetPrimaryKeysRespTupleSchemeFactory implements SchemeFactory {
+ public TGetPrimaryKeysRespTupleScheme getScheme() {
+ return new TGetPrimaryKeysRespTupleScheme();
+ }
+ }
+
+ private static class TGetPrimaryKeysRespTupleScheme extends TupleScheme<TGetPrimaryKeysResp> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, TGetPrimaryKeysResp struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ struct.status.write(oprot);
+ BitSet optionals = new BitSet();
+ if (struct.isSetOperationHandle()) {
+ optionals.set(0);
+ }
+ oprot.writeBitSet(optionals, 1);
+ if (struct.isSetOperationHandle()) {
+ struct.operationHandle.write(oprot);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, TGetPrimaryKeysResp struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.status = new TStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ BitSet incoming = iprot.readBitSet(1);
+ if (incoming.get(0)) {
+ struct.operationHandle = new TOperationHandle();
+ struct.operationHandle.read(iprot);
+ struct.setOperationHandleIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-php/TCLIService.php
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-php/TCLIService.php b/service-rpc/src/gen/thrift/gen-php/TCLIService.php
index eba62f1..d283145 100644
--- a/service-rpc/src/gen/thrift/gen-php/TCLIService.php
+++ b/service-rpc/src/gen/thrift/gen-php/TCLIService.php
@@ -72,6 +72,16 @@ interface TCLIServiceIf {
*/
public function GetFunctions(\TGetFunctionsReq $req);
/**
+ * @param \TGetPrimaryKeysReq $req
+ * @return \TGetPrimaryKeysResp
+ */
+ public function GetPrimaryKeys(\TGetPrimaryKeysReq $req);
+ /**
+ * @param \TGetCrossReferenceReq $req
+ * @return \TGetCrossReferenceResp
+ */
+ public function GetCrossReference(\TGetCrossReferenceReq $req);
+ /**
* @param \TGetOperationStatusReq $req
* @return \TGetOperationStatusResp
*/
@@ -685,6 +695,108 @@ class TCLIServiceClient implements \TCLIServiceIf {
throw new \Exception("GetFunctions failed: unknown result");
}
+ public function GetPrimaryKeys(\TGetPrimaryKeysReq $req)
+ {
+ $this->send_GetPrimaryKeys($req);
+ return $this->recv_GetPrimaryKeys();
+ }
+
+ public function send_GetPrimaryKeys(\TGetPrimaryKeysReq $req)
+ {
+ $args = new \TCLIService_GetPrimaryKeys_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_, 'GetPrimaryKeys', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+ }
+ else
+ {
+ $this->output_->writeMessageBegin('GetPrimaryKeys', TMessageType::CALL, $this->seqid_);
+ $args->write($this->output_);
+ $this->output_->writeMessageEnd();
+ $this->output_->getTransport()->flush();
+ }
+ }
+
+ public function recv_GetPrimaryKeys()
+ {
+ $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+ if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\TCLIService_GetPrimaryKeys_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_GetPrimaryKeys_result();
+ $result->read($this->input_);
+ $this->input_->readMessageEnd();
+ }
+ if ($result->success !== null) {
+ return $result->success;
+ }
+ throw new \Exception("GetPrimaryKeys failed: unknown result");
+ }
+
+ public function GetCrossReference(\TGetCrossReferenceReq $req)
+ {
+ $this->send_GetCrossReference($req);
+ return $this->recv_GetCrossReference();
+ }
+
+ public function send_GetCrossReference(\TGetCrossReferenceReq $req)
+ {
+ $args = new \TCLIService_GetCrossReference_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_, 'GetCrossReference', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+ }
+ else
+ {
+ $this->output_->writeMessageBegin('GetCrossReference', TMessageType::CALL, $this->seqid_);
+ $args->write($this->output_);
+ $this->output_->writeMessageEnd();
+ $this->output_->getTransport()->flush();
+ }
+ }
+
+ public function recv_GetCrossReference()
+ {
+ $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+ if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\TCLIService_GetCrossReference_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_GetCrossReference_result();
+ $result->read($this->input_);
+ $this->input_->readMessageEnd();
+ }
+ if ($result->success !== null) {
+ return $result->success;
+ }
+ throw new \Exception("GetCrossReference failed: unknown result");
+ }
+
public function GetOperationStatus(\TGetOperationStatusReq $req)
{
$this->send_GetOperationStatus($req);
@@ -2857,6 +2969,326 @@ class TCLIService_GetFunctions_result {
}
+class TCLIService_GetPrimaryKeys_args {
+ static $_TSPEC;
+
+ /**
+ * @var \TGetPrimaryKeysReq
+ */
+ public $req = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'req',
+ 'type' => TType::STRUCT,
+ 'class' => '\TGetPrimaryKeysReq',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['req'])) {
+ $this->req = $vals['req'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TCLIService_GetPrimaryKeys_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 \TGetPrimaryKeysReq();
+ $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_GetPrimaryKeys_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_GetPrimaryKeys_result {
+ static $_TSPEC;
+
+ /**
+ * @var \TGetPrimaryKeysResp
+ */
+ public $success = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 0 => array(
+ 'var' => 'success',
+ 'type' => TType::STRUCT,
+ 'class' => '\TGetPrimaryKeysResp',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['success'])) {
+ $this->success = $vals['success'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TCLIService_GetPrimaryKeys_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 \TGetPrimaryKeysResp();
+ $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_GetPrimaryKeys_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_GetCrossReference_args {
+ static $_TSPEC;
+
+ /**
+ * @var \TGetCrossReferenceReq
+ */
+ public $req = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'req',
+ 'type' => TType::STRUCT,
+ 'class' => '\TGetCrossReferenceReq',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['req'])) {
+ $this->req = $vals['req'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TCLIService_GetCrossReference_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 \TGetCrossReferenceReq();
+ $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_GetCrossReference_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_GetCrossReference_result {
+ static $_TSPEC;
+
+ /**
+ * @var \TGetCrossReferenceResp
+ */
+ public $success = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 0 => array(
+ 'var' => 'success',
+ 'type' => TType::STRUCT,
+ 'class' => '\TGetCrossReferenceResp',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['success'])) {
+ $this->success = $vals['success'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TCLIService_GetCrossReference_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 \TGetCrossReferenceResp();
+ $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_GetCrossReference_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_GetOperationStatus_args {
static $_TSPEC;
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-php/Types.php
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-php/Types.php b/service-rpc/src/gen/thrift/gen-php/Types.php
index fc12770..7f1f99f 100644
--- a/service-rpc/src/gen/thrift/gen-php/Types.php
+++ b/service-rpc/src/gen/thrift/gen-php/Types.php
@@ -7359,6 +7359,589 @@ class TGetFunctionsResp {
}
+class TGetPrimaryKeysReq {
+ static $_TSPEC;
+
+ /**
+ * @var \TSessionHandle
+ */
+ public $sessionHandle = null;
+ /**
+ * @var string
+ */
+ public $catalogName = null;
+ /**
+ * @var string
+ */
+ public $schemaName = null;
+ /**
+ * @var string
+ */
+ public $tableName = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'sessionHandle',
+ 'type' => TType::STRUCT,
+ 'class' => '\TSessionHandle',
+ ),
+ 2 => array(
+ 'var' => 'catalogName',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'schemaName',
+ 'type' => TType::STRING,
+ ),
+ 4 => array(
+ 'var' => 'tableName',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['sessionHandle'])) {
+ $this->sessionHandle = $vals['sessionHandle'];
+ }
+ if (isset($vals['catalogName'])) {
+ $this->catalogName = $vals['catalogName'];
+ }
+ if (isset($vals['schemaName'])) {
+ $this->schemaName = $vals['schemaName'];
+ }
+ if (isset($vals['tableName'])) {
+ $this->tableName = $vals['tableName'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TGetPrimaryKeysReq';
+ }
+
+ 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->sessionHandle = new \TSessionHandle();
+ $xfer += $this->sessionHandle->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->catalogName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->schemaName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->tableName);
+ } 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('TGetPrimaryKeysReq');
+ if ($this->sessionHandle !== null) {
+ if (!is_object($this->sessionHandle)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('sessionHandle', TType::STRUCT, 1);
+ $xfer += $this->sessionHandle->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->catalogName !== null) {
+ $xfer += $output->writeFieldBegin('catalogName', TType::STRING, 2);
+ $xfer += $output->writeString($this->catalogName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->schemaName !== null) {
+ $xfer += $output->writeFieldBegin('schemaName', TType::STRING, 3);
+ $xfer += $output->writeString($this->schemaName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->tableName !== null) {
+ $xfer += $output->writeFieldBegin('tableName', TType::STRING, 4);
+ $xfer += $output->writeString($this->tableName);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class TGetPrimaryKeysResp {
+ static $_TSPEC;
+
+ /**
+ * @var \TStatus
+ */
+ public $status = null;
+ /**
+ * @var \TOperationHandle
+ */
+ public $operationHandle = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'status',
+ 'type' => TType::STRUCT,
+ 'class' => '\TStatus',
+ ),
+ 2 => array(
+ 'var' => 'operationHandle',
+ 'type' => TType::STRUCT,
+ 'class' => '\TOperationHandle',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['status'])) {
+ $this->status = $vals['status'];
+ }
+ if (isset($vals['operationHandle'])) {
+ $this->operationHandle = $vals['operationHandle'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TGetPrimaryKeysResp';
+ }
+
+ 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->status = new \TStatus();
+ $xfer += $this->status->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRUCT) {
+ $this->operationHandle = new \TOperationHandle();
+ $xfer += $this->operationHandle->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('TGetPrimaryKeysResp');
+ if ($this->status !== null) {
+ if (!is_object($this->status)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('status', TType::STRUCT, 1);
+ $xfer += $this->status->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->operationHandle !== null) {
+ if (!is_object($this->operationHandle)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('operationHandle', TType::STRUCT, 2);
+ $xfer += $this->operationHandle->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class TGetCrossReferenceReq {
+ static $_TSPEC;
+
+ /**
+ * @var \TSessionHandle
+ */
+ public $sessionHandle = null;
+ /**
+ * @var string
+ */
+ public $parentCatalogName = null;
+ /**
+ * @var string
+ */
+ public $parentSchemaName = null;
+ /**
+ * @var string
+ */
+ public $parentTableName = null;
+ /**
+ * @var string
+ */
+ public $foreignCatalogName = null;
+ /**
+ * @var string
+ */
+ public $foreignSchemaName = null;
+ /**
+ * @var string
+ */
+ public $foreignTableName = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'sessionHandle',
+ 'type' => TType::STRUCT,
+ 'class' => '\TSessionHandle',
+ ),
+ 2 => array(
+ 'var' => 'parentCatalogName',
+ 'type' => TType::STRING,
+ ),
+ 3 => array(
+ 'var' => 'parentSchemaName',
+ 'type' => TType::STRING,
+ ),
+ 4 => array(
+ 'var' => 'parentTableName',
+ 'type' => TType::STRING,
+ ),
+ 5 => array(
+ 'var' => 'foreignCatalogName',
+ 'type' => TType::STRING,
+ ),
+ 6 => array(
+ 'var' => 'foreignSchemaName',
+ 'type' => TType::STRING,
+ ),
+ 7 => array(
+ 'var' => 'foreignTableName',
+ 'type' => TType::STRING,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['sessionHandle'])) {
+ $this->sessionHandle = $vals['sessionHandle'];
+ }
+ if (isset($vals['parentCatalogName'])) {
+ $this->parentCatalogName = $vals['parentCatalogName'];
+ }
+ if (isset($vals['parentSchemaName'])) {
+ $this->parentSchemaName = $vals['parentSchemaName'];
+ }
+ if (isset($vals['parentTableName'])) {
+ $this->parentTableName = $vals['parentTableName'];
+ }
+ if (isset($vals['foreignCatalogName'])) {
+ $this->foreignCatalogName = $vals['foreignCatalogName'];
+ }
+ if (isset($vals['foreignSchemaName'])) {
+ $this->foreignSchemaName = $vals['foreignSchemaName'];
+ }
+ if (isset($vals['foreignTableName'])) {
+ $this->foreignTableName = $vals['foreignTableName'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TGetCrossReferenceReq';
+ }
+
+ 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->sessionHandle = new \TSessionHandle();
+ $xfer += $this->sessionHandle->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->parentCatalogName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->parentSchemaName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->parentTableName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 5:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->foreignCatalogName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->foreignSchemaName);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 7:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->foreignTableName);
+ } 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('TGetCrossReferenceReq');
+ if ($this->sessionHandle !== null) {
+ if (!is_object($this->sessionHandle)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('sessionHandle', TType::STRUCT, 1);
+ $xfer += $this->sessionHandle->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->parentCatalogName !== null) {
+ $xfer += $output->writeFieldBegin('parentCatalogName', TType::STRING, 2);
+ $xfer += $output->writeString($this->parentCatalogName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->parentSchemaName !== null) {
+ $xfer += $output->writeFieldBegin('parentSchemaName', TType::STRING, 3);
+ $xfer += $output->writeString($this->parentSchemaName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->parentTableName !== null) {
+ $xfer += $output->writeFieldBegin('parentTableName', TType::STRING, 4);
+ $xfer += $output->writeString($this->parentTableName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->foreignCatalogName !== null) {
+ $xfer += $output->writeFieldBegin('foreignCatalogName', TType::STRING, 5);
+ $xfer += $output->writeString($this->foreignCatalogName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->foreignSchemaName !== null) {
+ $xfer += $output->writeFieldBegin('foreignSchemaName', TType::STRING, 6);
+ $xfer += $output->writeString($this->foreignSchemaName);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->foreignTableName !== null) {
+ $xfer += $output->writeFieldBegin('foreignTableName', TType::STRING, 7);
+ $xfer += $output->writeString($this->foreignTableName);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class TGetCrossReferenceResp {
+ static $_TSPEC;
+
+ /**
+ * @var \TStatus
+ */
+ public $status = null;
+ /**
+ * @var \TOperationHandle
+ */
+ public $operationHandle = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'status',
+ 'type' => TType::STRUCT,
+ 'class' => '\TStatus',
+ ),
+ 2 => array(
+ 'var' => 'operationHandle',
+ 'type' => TType::STRUCT,
+ 'class' => '\TOperationHandle',
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['status'])) {
+ $this->status = $vals['status'];
+ }
+ if (isset($vals['operationHandle'])) {
+ $this->operationHandle = $vals['operationHandle'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'TGetCrossReferenceResp';
+ }
+
+ 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->status = new \TStatus();
+ $xfer += $this->status->read($input);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::STRUCT) {
+ $this->operationHandle = new \TOperationHandle();
+ $xfer += $this->operationHandle->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('TGetCrossReferenceResp');
+ if ($this->status !== null) {
+ if (!is_object($this->status)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('status', TType::STRUCT, 1);
+ $xfer += $this->status->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->operationHandle !== null) {
+ if (!is_object($this->operationHandle)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('operationHandle', TType::STRUCT, 2);
+ $xfer += $this->operationHandle->write($output);
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
class TGetOperationStatusReq {
static $_TSPEC;
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService-remote
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService-remote b/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService-remote
index 56f5c5d..62b87a3 100755
--- a/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService-remote
+++ b/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService-remote
@@ -35,6 +35,8 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print(' TGetTableTypesResp GetTableTypes(TGetTableTypesReq req)')
print(' TGetColumnsResp GetColumns(TGetColumnsReq req)')
print(' TGetFunctionsResp GetFunctions(TGetFunctionsReq req)')
+ print(' TGetPrimaryKeysResp GetPrimaryKeys(TGetPrimaryKeysReq req)')
+ print(' TGetCrossReferenceResp GetCrossReference(TGetCrossReferenceReq req)')
print(' TGetOperationStatusResp GetOperationStatus(TGetOperationStatusReq req)')
print(' TCancelOperationResp CancelOperation(TCancelOperationReq req)')
print(' TCloseOperationResp CloseOperation(TCloseOperationReq req)')
@@ -165,6 +167,18 @@ elif cmd == 'GetFunctions':
sys.exit(1)
pp.pprint(client.GetFunctions(eval(args[0]),))
+elif cmd == 'GetPrimaryKeys':
+ if len(args) != 1:
+ print('GetPrimaryKeys requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.GetPrimaryKeys(eval(args[0]),))
+
+elif cmd == 'GetCrossReference':
+ if len(args) != 1:
+ print('GetCrossReference requires 1 args')
+ sys.exit(1)
+ pp.pprint(client.GetCrossReference(eval(args[0]),))
+
elif cmd == 'GetOperationStatus':
if len(args) != 1:
print('GetOperationStatus requires 1 args')
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService.py
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService.py b/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService.py
index ad2d71d..35f2ae4 100644
--- a/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService.py
+++ b/service-rpc/src/gen/thrift/gen-py/TCLIService/TCLIService.py
@@ -96,6 +96,20 @@ class Iface:
"""
pass
+ def GetPrimaryKeys(self, req):
+ """
+ Parameters:
+ - req
+ """
+ pass
+
+ def GetCrossReference(self, req):
+ """
+ Parameters:
+ - req
+ """
+ pass
+
def GetOperationStatus(self, req):
"""
Parameters:
@@ -501,6 +515,68 @@ class Client(Iface):
return result.success
raise TApplicationException(TApplicationException.MISSING_RESULT, "GetFunctions failed: unknown result")
+ def GetPrimaryKeys(self, req):
+ """
+ Parameters:
+ - req
+ """
+ self.send_GetPrimaryKeys(req)
+ return self.recv_GetPrimaryKeys()
+
+ def send_GetPrimaryKeys(self, req):
+ self._oprot.writeMessageBegin('GetPrimaryKeys', TMessageType.CALL, self._seqid)
+ args = GetPrimaryKeys_args()
+ args.req = req
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_GetPrimaryKeys(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = GetPrimaryKeys_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "GetPrimaryKeys failed: unknown result")
+
+ def GetCrossReference(self, req):
+ """
+ Parameters:
+ - req
+ """
+ self.send_GetCrossReference(req)
+ return self.recv_GetCrossReference()
+
+ def send_GetCrossReference(self, req):
+ self._oprot.writeMessageBegin('GetCrossReference', TMessageType.CALL, self._seqid)
+ args = GetCrossReference_args()
+ args.req = req
+ args.write(self._oprot)
+ self._oprot.writeMessageEnd()
+ self._oprot.trans.flush()
+
+ def recv_GetCrossReference(self):
+ iprot = self._iprot
+ (fname, mtype, rseqid) = iprot.readMessageBegin()
+ if mtype == TMessageType.EXCEPTION:
+ x = TApplicationException()
+ x.read(iprot)
+ iprot.readMessageEnd()
+ raise x
+ result = GetCrossReference_result()
+ result.read(iprot)
+ iprot.readMessageEnd()
+ if result.success is not None:
+ return result.success
+ raise TApplicationException(TApplicationException.MISSING_RESULT, "GetCrossReference failed: unknown result")
+
def GetOperationStatus(self, req):
"""
Parameters:
@@ -765,6 +841,8 @@ class Processor(Iface, TProcessor):
self._processMap["GetTableTypes"] = Processor.process_GetTableTypes
self._processMap["GetColumns"] = Processor.process_GetColumns
self._processMap["GetFunctions"] = Processor.process_GetFunctions
+ self._processMap["GetPrimaryKeys"] = Processor.process_GetPrimaryKeys
+ self._processMap["GetCrossReference"] = Processor.process_GetCrossReference
self._processMap["GetOperationStatus"] = Processor.process_GetOperationStatus
self._processMap["CancelOperation"] = Processor.process_CancelOperation
self._processMap["CloseOperation"] = Processor.process_CloseOperation
@@ -998,6 +1076,44 @@ class Processor(Iface, TProcessor):
oprot.writeMessageEnd()
oprot.trans.flush()
+ def process_GetPrimaryKeys(self, seqid, iprot, oprot):
+ args = GetPrimaryKeys_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = GetPrimaryKeys_result()
+ try:
+ result.success = self._handler.GetPrimaryKeys(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("GetPrimaryKeys", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
+ def process_GetCrossReference(self, seqid, iprot, oprot):
+ args = GetCrossReference_args()
+ args.read(iprot)
+ iprot.readMessageEnd()
+ result = GetCrossReference_result()
+ try:
+ result.success = self._handler.GetCrossReference(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("GetCrossReference", msg_type, seqid)
+ result.write(oprot)
+ oprot.writeMessageEnd()
+ oprot.trans.flush()
+
def process_GetOperationStatus(self, seqid, iprot, oprot):
args = GetOperationStatus_args()
args.read(iprot)
@@ -2594,6 +2710,268 @@ class GetFunctions_result:
def __ne__(self, other):
return not (self == other)
+class GetPrimaryKeys_args:
+ """
+ Attributes:
+ - req
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'req', (TGetPrimaryKeysReq, TGetPrimaryKeysReq.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 = TGetPrimaryKeysReq()
+ 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('GetPrimaryKeys_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 GetPrimaryKeys_result:
+ """
+ Attributes:
+ - success
+ """
+
+ thrift_spec = (
+ (0, TType.STRUCT, 'success', (TGetPrimaryKeysResp, TGetPrimaryKeysResp.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 = TGetPrimaryKeysResp()
+ 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('GetPrimaryKeys_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 GetCrossReference_args:
+ """
+ Attributes:
+ - req
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'req', (TGetCrossReferenceReq, TGetCrossReferenceReq.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 = TGetCrossReferenceReq()
+ 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('GetCrossReference_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 GetCrossReference_result:
+ """
+ Attributes:
+ - success
+ """
+
+ thrift_spec = (
+ (0, TType.STRUCT, 'success', (TGetCrossReferenceResp, TGetCrossReferenceResp.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 = TGetCrossReferenceResp()
+ 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('GetCrossReference_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 GetOperationStatus_args:
"""
Attributes:
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py b/service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py
index 231d001..3bb20b8 100644
--- a/service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py
+++ b/service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py
@@ -5585,6 +5585,423 @@ class TGetFunctionsResp:
def __ne__(self, other):
return not (self == other)
+class TGetPrimaryKeysReq:
+ """
+ Attributes:
+ - sessionHandle
+ - catalogName
+ - schemaName
+ - tableName
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'sessionHandle', (TSessionHandle, TSessionHandle.thrift_spec), None, ), # 1
+ (2, TType.STRING, 'catalogName', None, None, ), # 2
+ (3, TType.STRING, 'schemaName', None, None, ), # 3
+ (4, TType.STRING, 'tableName', None, None, ), # 4
+ )
+
+ def __init__(self, sessionHandle=None, catalogName=None, schemaName=None, tableName=None,):
+ self.sessionHandle = sessionHandle
+ self.catalogName = catalogName
+ self.schemaName = schemaName
+ self.tableName = tableName
+
+ 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.sessionHandle = TSessionHandle()
+ self.sessionHandle.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.catalogName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.schemaName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.tableName = iprot.readString()
+ 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('TGetPrimaryKeysReq')
+ if self.sessionHandle is not None:
+ oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1)
+ self.sessionHandle.write(oprot)
+ oprot.writeFieldEnd()
+ if self.catalogName is not None:
+ oprot.writeFieldBegin('catalogName', TType.STRING, 2)
+ oprot.writeString(self.catalogName)
+ oprot.writeFieldEnd()
+ if self.schemaName is not None:
+ oprot.writeFieldBegin('schemaName', TType.STRING, 3)
+ oprot.writeString(self.schemaName)
+ oprot.writeFieldEnd()
+ if self.tableName is not None:
+ oprot.writeFieldBegin('tableName', TType.STRING, 4)
+ oprot.writeString(self.tableName)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ 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.sessionHandle)
+ value = (value * 31) ^ hash(self.catalogName)
+ value = (value * 31) ^ hash(self.schemaName)
+ value = (value * 31) ^ hash(self.tableName)
+ 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 TGetPrimaryKeysResp:
+ """
+ Attributes:
+ - status
+ - operationHandle
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'status', (TStatus, TStatus.thrift_spec), None, ), # 1
+ (2, TType.STRUCT, 'operationHandle', (TOperationHandle, TOperationHandle.thrift_spec), None, ), # 2
+ )
+
+ def __init__(self, status=None, operationHandle=None,):
+ self.status = status
+ self.operationHandle = operationHandle
+
+ 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.STRUCT:
+ self.operationHandle = TOperationHandle()
+ self.operationHandle.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('TGetPrimaryKeysResp')
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 1)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.operationHandle is not None:
+ oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2)
+ self.operationHandle.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.status is None:
+ raise TProtocol.TProtocolException(message='Required field status is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.status)
+ value = (value * 31) ^ hash(self.operationHandle)
+ 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 TGetCrossReferenceReq:
+ """
+ Attributes:
+ - sessionHandle
+ - parentCatalogName
+ - parentSchemaName
+ - parentTableName
+ - foreignCatalogName
+ - foreignSchemaName
+ - foreignTableName
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'sessionHandle', (TSessionHandle, TSessionHandle.thrift_spec), None, ), # 1
+ (2, TType.STRING, 'parentCatalogName', None, None, ), # 2
+ (3, TType.STRING, 'parentSchemaName', None, None, ), # 3
+ (4, TType.STRING, 'parentTableName', None, None, ), # 4
+ (5, TType.STRING, 'foreignCatalogName', None, None, ), # 5
+ (6, TType.STRING, 'foreignSchemaName', None, None, ), # 6
+ (7, TType.STRING, 'foreignTableName', None, None, ), # 7
+ )
+
+ def __init__(self, sessionHandle=None, parentCatalogName=None, parentSchemaName=None, parentTableName=None, foreignCatalogName=None, foreignSchemaName=None, foreignTableName=None,):
+ self.sessionHandle = sessionHandle
+ self.parentCatalogName = parentCatalogName
+ self.parentSchemaName = parentSchemaName
+ self.parentTableName = parentTableName
+ self.foreignCatalogName = foreignCatalogName
+ self.foreignSchemaName = foreignSchemaName
+ self.foreignTableName = foreignTableName
+
+ 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.sessionHandle = TSessionHandle()
+ self.sessionHandle.read(iprot)
+ else:
+ iprot.skip(ftype)
+ elif fid == 2:
+ if ftype == TType.STRING:
+ self.parentCatalogName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 3:
+ if ftype == TType.STRING:
+ self.parentSchemaName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 4:
+ if ftype == TType.STRING:
+ self.parentTableName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 5:
+ if ftype == TType.STRING:
+ self.foreignCatalogName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 6:
+ if ftype == TType.STRING:
+ self.foreignSchemaName = iprot.readString()
+ else:
+ iprot.skip(ftype)
+ elif fid == 7:
+ if ftype == TType.STRING:
+ self.foreignTableName = iprot.readString()
+ 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('TGetCrossReferenceReq')
+ if self.sessionHandle is not None:
+ oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1)
+ self.sessionHandle.write(oprot)
+ oprot.writeFieldEnd()
+ if self.parentCatalogName is not None:
+ oprot.writeFieldBegin('parentCatalogName', TType.STRING, 2)
+ oprot.writeString(self.parentCatalogName)
+ oprot.writeFieldEnd()
+ if self.parentSchemaName is not None:
+ oprot.writeFieldBegin('parentSchemaName', TType.STRING, 3)
+ oprot.writeString(self.parentSchemaName)
+ oprot.writeFieldEnd()
+ if self.parentTableName is not None:
+ oprot.writeFieldBegin('parentTableName', TType.STRING, 4)
+ oprot.writeString(self.parentTableName)
+ oprot.writeFieldEnd()
+ if self.foreignCatalogName is not None:
+ oprot.writeFieldBegin('foreignCatalogName', TType.STRING, 5)
+ oprot.writeString(self.foreignCatalogName)
+ oprot.writeFieldEnd()
+ if self.foreignSchemaName is not None:
+ oprot.writeFieldBegin('foreignSchemaName', TType.STRING, 6)
+ oprot.writeString(self.foreignSchemaName)
+ oprot.writeFieldEnd()
+ if self.foreignTableName is not None:
+ oprot.writeFieldBegin('foreignTableName', TType.STRING, 7)
+ oprot.writeString(self.foreignTableName)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ 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.sessionHandle)
+ value = (value * 31) ^ hash(self.parentCatalogName)
+ value = (value * 31) ^ hash(self.parentSchemaName)
+ value = (value * 31) ^ hash(self.parentTableName)
+ value = (value * 31) ^ hash(self.foreignCatalogName)
+ value = (value * 31) ^ hash(self.foreignSchemaName)
+ value = (value * 31) ^ hash(self.foreignTableName)
+ 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 TGetCrossReferenceResp:
+ """
+ Attributes:
+ - status
+ - operationHandle
+ """
+
+ thrift_spec = (
+ None, # 0
+ (1, TType.STRUCT, 'status', (TStatus, TStatus.thrift_spec), None, ), # 1
+ (2, TType.STRUCT, 'operationHandle', (TOperationHandle, TOperationHandle.thrift_spec), None, ), # 2
+ )
+
+ def __init__(self, status=None, operationHandle=None,):
+ self.status = status
+ self.operationHandle = operationHandle
+
+ 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.STRUCT:
+ self.operationHandle = TOperationHandle()
+ self.operationHandle.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('TGetCrossReferenceResp')
+ if self.status is not None:
+ oprot.writeFieldBegin('status', TType.STRUCT, 1)
+ self.status.write(oprot)
+ oprot.writeFieldEnd()
+ if self.operationHandle is not None:
+ oprot.writeFieldBegin('operationHandle', TType.STRUCT, 2)
+ self.operationHandle.write(oprot)
+ oprot.writeFieldEnd()
+ oprot.writeFieldStop()
+ oprot.writeStructEnd()
+
+ def validate(self):
+ if self.status is None:
+ raise TProtocol.TProtocolException(message='Required field status is unset!')
+ return
+
+
+ def __hash__(self):
+ value = 17
+ value = (value * 31) ^ hash(self.status)
+ value = (value * 31) ^ hash(self.operationHandle)
+ 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 TGetOperationStatusReq:
"""
Attributes:
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service.rb
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service.rb b/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service.rb
index 7d7f7a7..a50fe25 100644
--- a/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service.rb
+++ b/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service.rb
@@ -176,6 +176,36 @@ module TCLIService
raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'GetFunctions failed: unknown result')
end
+ def GetPrimaryKeys(req)
+ send_GetPrimaryKeys(req)
+ return recv_GetPrimaryKeys()
+ end
+
+ def send_GetPrimaryKeys(req)
+ send_message('GetPrimaryKeys', GetPrimaryKeys_args, :req => req)
+ end
+
+ def recv_GetPrimaryKeys()
+ result = receive_message(GetPrimaryKeys_result)
+ return result.success unless result.success.nil?
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'GetPrimaryKeys failed: unknown result')
+ end
+
+ def GetCrossReference(req)
+ send_GetCrossReference(req)
+ return recv_GetCrossReference()
+ end
+
+ def send_GetCrossReference(req)
+ send_message('GetCrossReference', GetCrossReference_args, :req => req)
+ end
+
+ def recv_GetCrossReference()
+ result = receive_message(GetCrossReference_result)
+ return result.success unless result.success.nil?
+ raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'GetCrossReference failed: unknown result')
+ end
+
def GetOperationStatus(req)
send_GetOperationStatus(req)
return recv_GetOperationStatus()
@@ -378,6 +408,20 @@ module TCLIService
write_result(result, oprot, 'GetFunctions', seqid)
end
+ def process_GetPrimaryKeys(seqid, iprot, oprot)
+ args = read_args(iprot, GetPrimaryKeys_args)
+ result = GetPrimaryKeys_result.new()
+ result.success = @handler.GetPrimaryKeys(args.req)
+ write_result(result, oprot, 'GetPrimaryKeys', seqid)
+ end
+
+ def process_GetCrossReference(seqid, iprot, oprot)
+ args = read_args(iprot, GetCrossReference_args)
+ result = GetCrossReference_result.new()
+ result.success = @handler.GetCrossReference(args.req)
+ write_result(result, oprot, 'GetCrossReference', seqid)
+ end
+
def process_GetOperationStatus(seqid, iprot, oprot)
args = read_args(iprot, GetOperationStatus_args)
result = GetOperationStatus_result.new()
@@ -790,6 +834,70 @@ module TCLIService
::Thrift::Struct.generate_accessors self
end
+ class GetPrimaryKeys_args
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ REQ = 1
+
+ FIELDS = {
+ REQ => {:type => ::Thrift::Types::STRUCT, :name => 'req', :class => ::TGetPrimaryKeysReq}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ end
+
+ ::Thrift::Struct.generate_accessors self
+ end
+
+ class GetPrimaryKeys_result
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ SUCCESS = 0
+
+ FIELDS = {
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::TGetPrimaryKeysResp}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ end
+
+ ::Thrift::Struct.generate_accessors self
+ end
+
+ class GetCrossReference_args
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ REQ = 1
+
+ FIELDS = {
+ REQ => {:type => ::Thrift::Types::STRUCT, :name => 'req', :class => ::TGetCrossReferenceReq}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ end
+
+ ::Thrift::Struct.generate_accessors self
+ end
+
+ class GetCrossReference_result
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ SUCCESS = 0
+
+ FIELDS = {
+ SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::TGetCrossReferenceResp}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ end
+
+ ::Thrift::Struct.generate_accessors self
+ end
+
class GetOperationStatus_args
include ::Thrift::Struct, ::Thrift::Struct_Union
REQ = 1
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb
----------------------------------------------------------------------
diff --git a/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb b/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb
index 28cae72..7208bae 100644
--- a/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb
+++ b/service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb
@@ -1451,6 +1451,96 @@ class TGetFunctionsResp
::Thrift::Struct.generate_accessors self
end
+class TGetPrimaryKeysReq
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ SESSIONHANDLE = 1
+ CATALOGNAME = 2
+ SCHEMANAME = 3
+ TABLENAME = 4
+
+ FIELDS = {
+ SESSIONHANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'sessionHandle', :class => ::TSessionHandle},
+ CATALOGNAME => {:type => ::Thrift::Types::STRING, :name => 'catalogName', :optional => true},
+ SCHEMANAME => {:type => ::Thrift::Types::STRING, :name => 'schemaName', :optional => true},
+ TABLENAME => {:type => ::Thrift::Types::STRING, :name => 'tableName', :optional => true}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field sessionHandle is unset!') unless @sessionHandle
+ end
+
+ ::Thrift::Struct.generate_accessors self
+end
+
+class TGetPrimaryKeysResp
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ STATUS = 1
+ OPERATIONHANDLE = 2
+
+ FIELDS = {
+ STATUS => {:type => ::Thrift::Types::STRUCT, :name => 'status', :class => ::TStatus},
+ OPERATIONHANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'operationHandle', :class => ::TOperationHandle, :optional => true}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field status is unset!') unless @status
+ end
+
+ ::Thrift::Struct.generate_accessors self
+end
+
+class TGetCrossReferenceReq
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ SESSIONHANDLE = 1
+ PARENTCATALOGNAME = 2
+ PARENTSCHEMANAME = 3
+ PARENTTABLENAME = 4
+ FOREIGNCATALOGNAME = 5
+ FOREIGNSCHEMANAME = 6
+ FOREIGNTABLENAME = 7
+
+ FIELDS = {
+ SESSIONHANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'sessionHandle', :class => ::TSessionHandle},
+ PARENTCATALOGNAME => {:type => ::Thrift::Types::STRING, :name => 'parentCatalogName', :optional => true},
+ PARENTSCHEMANAME => {:type => ::Thrift::Types::STRING, :name => 'parentSchemaName', :optional => true},
+ PARENTTABLENAME => {:type => ::Thrift::Types::STRING, :name => 'parentTableName', :optional => true},
+ FOREIGNCATALOGNAME => {:type => ::Thrift::Types::STRING, :name => 'foreignCatalogName', :optional => true},
+ FOREIGNSCHEMANAME => {:type => ::Thrift::Types::STRING, :name => 'foreignSchemaName', :optional => true},
+ FOREIGNTABLENAME => {:type => ::Thrift::Types::STRING, :name => 'foreignTableName', :optional => true}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field sessionHandle is unset!') unless @sessionHandle
+ end
+
+ ::Thrift::Struct.generate_accessors self
+end
+
+class TGetCrossReferenceResp
+ include ::Thrift::Struct, ::Thrift::Struct_Union
+ STATUS = 1
+ OPERATIONHANDLE = 2
+
+ FIELDS = {
+ STATUS => {:type => ::Thrift::Types::STRUCT, :name => 'status', :class => ::TStatus},
+ OPERATIONHANDLE => {:type => ::Thrift::Types::STRUCT, :name => 'operationHandle', :class => ::TOperationHandle, :optional => true}
+ }
+
+ def struct_fields; FIELDS; end
+
+ def validate
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field status is unset!') unless @status
+ end
+
+ ::Thrift::Struct.generate_accessors self
+end
+
class TGetOperationStatusReq
include ::Thrift::Struct, ::Thrift::Struct_Union
OPERATIONHANDLE = 1
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service/src/java/org/apache/hive/service/cli/CLIService.java
----------------------------------------------------------------------
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 ab30ae2..4a83e38 100644
--- a/service/src/java/org/apache/hive/service/cli/CLIService.java
+++ b/service/src/java/org/apache/hive/service/cli/CLIService.java
@@ -365,6 +365,36 @@ public class CLIService extends CompositeService implements ICLIService {
}
/* (non-Javadoc)
+ * @see org.apache.hive.service.cli.ICLIService#getPrimaryKeys(org.apache.hive.service.cli.SessionHandle)
+ */
+ @Override
+ public OperationHandle getPrimaryKeys(SessionHandle sessionHandle,
+ String catalog, String schema, String table)
+ throws HiveSQLException {
+ OperationHandle opHandle = sessionManager.getSession(sessionHandle)
+ .getPrimaryKeys(catalog, schema, table);
+ LOG.debug(sessionHandle + ": getPrimaryKeys()");
+ return opHandle;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.hive.service.cli.ICLIService#getCrossReference(org.apache.hive.service.cli.SessionHandle)
+ */
+ @Override
+ public OperationHandle getCrossReference(SessionHandle sessionHandle,
+ String primaryCatalog,
+ String primarySchema, String primaryTable, String foreignCatalog,
+ String foreignSchema, String foreignTable)
+ throws HiveSQLException {
+ OperationHandle opHandle = sessionManager.getSession(sessionHandle)
+ .getCrossReference(primaryCatalog, primarySchema, primaryTable,
+ foreignCatalog,
+ foreignSchema, foreignTable);
+ LOG.debug(sessionHandle + ": getCrossReference()");
+ return opHandle;
+ }
+
+ /* (non-Javadoc)
* @see org.apache.hive.service.cli.ICLIService#getOperationStatus(org.apache.hive.service.cli.OperationHandle)
*/
@Override
http://git-wip-us.apache.org/repos/asf/hive/blob/f13ee089/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java
----------------------------------------------------------------------
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 9cad5be..79e0024 100644
--- a/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java
+++ b/service/src/java/org/apache/hive/service/cli/EmbeddedCLIServiceClient.java
@@ -205,4 +205,19 @@ public class EmbeddedCLIServiceClient extends CLIServiceClient {
String tokenStr) throws HiveSQLException {
cliService.renewDelegationToken(sessionHandle, authFactory, tokenStr);
}
+
+ @Override
+ public OperationHandle getPrimaryKeys(SessionHandle sessionHandle,
+ String catalog, String schema, String table) throws HiveSQLException {
+ return cliService.getPrimaryKeys(sessionHandle, catalog, schema, table);
+ }
+
+ @Override
+ public OperationHandle getCrossReference(SessionHandle sessionHandle,
+ String primaryCatalog, String primarySchema, String primaryTable,
+ String foreignCatalog, String foreignSchema, String foreignTable)
+ throws HiveSQLException {
+ return cliService.getCrossReference(sessionHandle, primaryCatalog, primarySchema,
+ primaryTable, foreignCatalog, foreignSchema, foreignTable);
+ }
}