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 2013/03/12 18:45:12 UTC

svn commit: r1455646 [24/25] - in /hive/trunk/service/src/gen/thrift: gen-cpp/ gen-javabean/org/apache/hive/ gen-javabean/org/apache/hive/service/ gen-javabean/org/apache/hive/service/cli/ gen-javabean/org/apache/hive/service/cli/thrift/ gen-php/ gen-p...

Added: hive/trunk/service/src/gen/thrift/gen-py/TCLIService/ttypes.py
URL: http://svn.apache.org/viewvc/hive/trunk/service/src/gen/thrift/gen-py/TCLIService/ttypes.py?rev=1455646&view=auto
==============================================================================
--- hive/trunk/service/src/gen/thrift/gen-py/TCLIService/ttypes.py (added)
+++ hive/trunk/service/src/gen/thrift/gen-py/TCLIService/ttypes.py Tue Mar 12 17:45:10 2013
@@ -0,0 +1,5058 @@
+#
+# Autogenerated by Thrift Compiler (0.9.0)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+#  options string: py
+#
+
+from thrift.Thrift import TType, TMessageType, TException, TApplicationException
+
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol, TProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class TProtocolVersion:
+  HIVE_CLI_SERVICE_PROTOCOL_V1 = 0
+
+  _VALUES_TO_NAMES = {
+    0: "HIVE_CLI_SERVICE_PROTOCOL_V1",
+  }
+
+  _NAMES_TO_VALUES = {
+    "HIVE_CLI_SERVICE_PROTOCOL_V1": 0,
+  }
+
+class TTypeId:
+  BOOLEAN_TYPE = 0
+  TINYINT_TYPE = 1
+  SMALLINT_TYPE = 2
+  INT_TYPE = 3
+  BIGINT_TYPE = 4
+  FLOAT_TYPE = 5
+  DOUBLE_TYPE = 6
+  STRING_TYPE = 7
+  TIMESTAMP_TYPE = 8
+  BINARY_TYPE = 9
+  ARRAY_TYPE = 10
+  MAP_TYPE = 11
+  STRUCT_TYPE = 12
+  UNION_TYPE = 13
+  USER_DEFINED_TYPE = 14
+  DECIMAL_TYPE = 15
+
+  _VALUES_TO_NAMES = {
+    0: "BOOLEAN_TYPE",
+    1: "TINYINT_TYPE",
+    2: "SMALLINT_TYPE",
+    3: "INT_TYPE",
+    4: "BIGINT_TYPE",
+    5: "FLOAT_TYPE",
+    6: "DOUBLE_TYPE",
+    7: "STRING_TYPE",
+    8: "TIMESTAMP_TYPE",
+    9: "BINARY_TYPE",
+    10: "ARRAY_TYPE",
+    11: "MAP_TYPE",
+    12: "STRUCT_TYPE",
+    13: "UNION_TYPE",
+    14: "USER_DEFINED_TYPE",
+    15: "DECIMAL_TYPE",
+  }
+
+  _NAMES_TO_VALUES = {
+    "BOOLEAN_TYPE": 0,
+    "TINYINT_TYPE": 1,
+    "SMALLINT_TYPE": 2,
+    "INT_TYPE": 3,
+    "BIGINT_TYPE": 4,
+    "FLOAT_TYPE": 5,
+    "DOUBLE_TYPE": 6,
+    "STRING_TYPE": 7,
+    "TIMESTAMP_TYPE": 8,
+    "BINARY_TYPE": 9,
+    "ARRAY_TYPE": 10,
+    "MAP_TYPE": 11,
+    "STRUCT_TYPE": 12,
+    "UNION_TYPE": 13,
+    "USER_DEFINED_TYPE": 14,
+    "DECIMAL_TYPE": 15,
+  }
+
+class TStatusCode:
+  SUCCESS_STATUS = 0
+  SUCCESS_WITH_INFO_STATUS = 1
+  STILL_EXECUTING_STATUS = 2
+  ERROR_STATUS = 3
+  INVALID_HANDLE_STATUS = 4
+
+  _VALUES_TO_NAMES = {
+    0: "SUCCESS_STATUS",
+    1: "SUCCESS_WITH_INFO_STATUS",
+    2: "STILL_EXECUTING_STATUS",
+    3: "ERROR_STATUS",
+    4: "INVALID_HANDLE_STATUS",
+  }
+
+  _NAMES_TO_VALUES = {
+    "SUCCESS_STATUS": 0,
+    "SUCCESS_WITH_INFO_STATUS": 1,
+    "STILL_EXECUTING_STATUS": 2,
+    "ERROR_STATUS": 3,
+    "INVALID_HANDLE_STATUS": 4,
+  }
+
+class TOperationState:
+  INITIALIZED_STATE = 0
+  RUNNING_STATE = 1
+  FINISHED_STATE = 2
+  CANCELED_STATE = 3
+  CLOSED_STATE = 4
+  ERROR_STATE = 5
+  UKNOWN_STATE = 6
+
+  _VALUES_TO_NAMES = {
+    0: "INITIALIZED_STATE",
+    1: "RUNNING_STATE",
+    2: "FINISHED_STATE",
+    3: "CANCELED_STATE",
+    4: "CLOSED_STATE",
+    5: "ERROR_STATE",
+    6: "UKNOWN_STATE",
+  }
+
+  _NAMES_TO_VALUES = {
+    "INITIALIZED_STATE": 0,
+    "RUNNING_STATE": 1,
+    "FINISHED_STATE": 2,
+    "CANCELED_STATE": 3,
+    "CLOSED_STATE": 4,
+    "ERROR_STATE": 5,
+    "UKNOWN_STATE": 6,
+  }
+
+class TOperationType:
+  EXECUTE_STATEMENT = 0
+  GET_TYPE_INFO = 1
+  GET_CATALOGS = 2
+  GET_SCHEMAS = 3
+  GET_TABLES = 4
+  GET_TABLE_TYPES = 5
+  GET_COLUMNS = 6
+  GET_FUNCTIONS = 7
+  UNKNOWN = 8
+
+  _VALUES_TO_NAMES = {
+    0: "EXECUTE_STATEMENT",
+    1: "GET_TYPE_INFO",
+    2: "GET_CATALOGS",
+    3: "GET_SCHEMAS",
+    4: "GET_TABLES",
+    5: "GET_TABLE_TYPES",
+    6: "GET_COLUMNS",
+    7: "GET_FUNCTIONS",
+    8: "UNKNOWN",
+  }
+
+  _NAMES_TO_VALUES = {
+    "EXECUTE_STATEMENT": 0,
+    "GET_TYPE_INFO": 1,
+    "GET_CATALOGS": 2,
+    "GET_SCHEMAS": 3,
+    "GET_TABLES": 4,
+    "GET_TABLE_TYPES": 5,
+    "GET_COLUMNS": 6,
+    "GET_FUNCTIONS": 7,
+    "UNKNOWN": 8,
+  }
+
+class TGetInfoType:
+  CLI_MAX_DRIVER_CONNECTIONS = 0
+  CLI_MAX_CONCURRENT_ACTIVITIES = 1
+  CLI_DATA_SOURCE_NAME = 2
+  CLI_FETCH_DIRECTION = 8
+  CLI_SERVER_NAME = 13
+  CLI_SEARCH_PATTERN_ESCAPE = 14
+  CLI_DBMS_NAME = 17
+  CLI_DBMS_VER = 18
+  CLI_ACCESSIBLE_TABLES = 19
+  CLI_ACCESSIBLE_PROCEDURES = 20
+  CLI_CURSOR_COMMIT_BEHAVIOR = 23
+  CLI_DATA_SOURCE_READ_ONLY = 25
+  CLI_DEFAULT_TXN_ISOLATION = 26
+  CLI_IDENTIFIER_CASE = 28
+  CLI_IDENTIFIER_QUOTE_CHAR = 29
+  CLI_MAX_COLUMN_NAME_LEN = 30
+  CLI_MAX_CURSOR_NAME_LEN = 31
+  CLI_MAX_SCHEMA_NAME_LEN = 32
+  CLI_MAX_CATALOG_NAME_LEN = 34
+  CLI_MAX_TABLE_NAME_LEN = 35
+  CLI_SCROLL_CONCURRENCY = 43
+  CLI_TXN_CAPABLE = 46
+  CLI_USER_NAME = 47
+  CLI_TXN_ISOLATION_OPTION = 72
+  CLI_INTEGRITY = 73
+  CLI_GETDATA_EXTENSIONS = 81
+  CLI_NULL_COLLATION = 85
+  CLI_ALTER_TABLE = 86
+  CLI_ORDER_BY_COLUMNS_IN_SELECT = 90
+  CLI_SPECIAL_CHARACTERS = 94
+  CLI_MAX_COLUMNS_IN_GROUP_BY = 97
+  CLI_MAX_COLUMNS_IN_INDEX = 98
+  CLI_MAX_COLUMNS_IN_ORDER_BY = 99
+  CLI_MAX_COLUMNS_IN_SELECT = 100
+  CLI_MAX_COLUMNS_IN_TABLE = 101
+  CLI_MAX_INDEX_SIZE = 102
+  CLI_MAX_ROW_SIZE = 104
+  CLI_MAX_STATEMENT_LEN = 105
+  CLI_MAX_TABLES_IN_SELECT = 106
+  CLI_MAX_USER_NAME_LEN = 107
+  CLI_OJ_CAPABILITIES = 115
+  CLI_XOPEN_CLI_YEAR = 10000
+  CLI_CURSOR_SENSITIVITY = 10001
+  CLI_DESCRIBE_PARAMETER = 10002
+  CLI_CATALOG_NAME = 10003
+  CLI_COLLATION_SEQ = 10004
+  CLI_MAX_IDENTIFIER_LEN = 10005
+
+  _VALUES_TO_NAMES = {
+    0: "CLI_MAX_DRIVER_CONNECTIONS",
+    1: "CLI_MAX_CONCURRENT_ACTIVITIES",
+    2: "CLI_DATA_SOURCE_NAME",
+    8: "CLI_FETCH_DIRECTION",
+    13: "CLI_SERVER_NAME",
+    14: "CLI_SEARCH_PATTERN_ESCAPE",
+    17: "CLI_DBMS_NAME",
+    18: "CLI_DBMS_VER",
+    19: "CLI_ACCESSIBLE_TABLES",
+    20: "CLI_ACCESSIBLE_PROCEDURES",
+    23: "CLI_CURSOR_COMMIT_BEHAVIOR",
+    25: "CLI_DATA_SOURCE_READ_ONLY",
+    26: "CLI_DEFAULT_TXN_ISOLATION",
+    28: "CLI_IDENTIFIER_CASE",
+    29: "CLI_IDENTIFIER_QUOTE_CHAR",
+    30: "CLI_MAX_COLUMN_NAME_LEN",
+    31: "CLI_MAX_CURSOR_NAME_LEN",
+    32: "CLI_MAX_SCHEMA_NAME_LEN",
+    34: "CLI_MAX_CATALOG_NAME_LEN",
+    35: "CLI_MAX_TABLE_NAME_LEN",
+    43: "CLI_SCROLL_CONCURRENCY",
+    46: "CLI_TXN_CAPABLE",
+    47: "CLI_USER_NAME",
+    72: "CLI_TXN_ISOLATION_OPTION",
+    73: "CLI_INTEGRITY",
+    81: "CLI_GETDATA_EXTENSIONS",
+    85: "CLI_NULL_COLLATION",
+    86: "CLI_ALTER_TABLE",
+    90: "CLI_ORDER_BY_COLUMNS_IN_SELECT",
+    94: "CLI_SPECIAL_CHARACTERS",
+    97: "CLI_MAX_COLUMNS_IN_GROUP_BY",
+    98: "CLI_MAX_COLUMNS_IN_INDEX",
+    99: "CLI_MAX_COLUMNS_IN_ORDER_BY",
+    100: "CLI_MAX_COLUMNS_IN_SELECT",
+    101: "CLI_MAX_COLUMNS_IN_TABLE",
+    102: "CLI_MAX_INDEX_SIZE",
+    104: "CLI_MAX_ROW_SIZE",
+    105: "CLI_MAX_STATEMENT_LEN",
+    106: "CLI_MAX_TABLES_IN_SELECT",
+    107: "CLI_MAX_USER_NAME_LEN",
+    115: "CLI_OJ_CAPABILITIES",
+    10000: "CLI_XOPEN_CLI_YEAR",
+    10001: "CLI_CURSOR_SENSITIVITY",
+    10002: "CLI_DESCRIBE_PARAMETER",
+    10003: "CLI_CATALOG_NAME",
+    10004: "CLI_COLLATION_SEQ",
+    10005: "CLI_MAX_IDENTIFIER_LEN",
+  }
+
+  _NAMES_TO_VALUES = {
+    "CLI_MAX_DRIVER_CONNECTIONS": 0,
+    "CLI_MAX_CONCURRENT_ACTIVITIES": 1,
+    "CLI_DATA_SOURCE_NAME": 2,
+    "CLI_FETCH_DIRECTION": 8,
+    "CLI_SERVER_NAME": 13,
+    "CLI_SEARCH_PATTERN_ESCAPE": 14,
+    "CLI_DBMS_NAME": 17,
+    "CLI_DBMS_VER": 18,
+    "CLI_ACCESSIBLE_TABLES": 19,
+    "CLI_ACCESSIBLE_PROCEDURES": 20,
+    "CLI_CURSOR_COMMIT_BEHAVIOR": 23,
+    "CLI_DATA_SOURCE_READ_ONLY": 25,
+    "CLI_DEFAULT_TXN_ISOLATION": 26,
+    "CLI_IDENTIFIER_CASE": 28,
+    "CLI_IDENTIFIER_QUOTE_CHAR": 29,
+    "CLI_MAX_COLUMN_NAME_LEN": 30,
+    "CLI_MAX_CURSOR_NAME_LEN": 31,
+    "CLI_MAX_SCHEMA_NAME_LEN": 32,
+    "CLI_MAX_CATALOG_NAME_LEN": 34,
+    "CLI_MAX_TABLE_NAME_LEN": 35,
+    "CLI_SCROLL_CONCURRENCY": 43,
+    "CLI_TXN_CAPABLE": 46,
+    "CLI_USER_NAME": 47,
+    "CLI_TXN_ISOLATION_OPTION": 72,
+    "CLI_INTEGRITY": 73,
+    "CLI_GETDATA_EXTENSIONS": 81,
+    "CLI_NULL_COLLATION": 85,
+    "CLI_ALTER_TABLE": 86,
+    "CLI_ORDER_BY_COLUMNS_IN_SELECT": 90,
+    "CLI_SPECIAL_CHARACTERS": 94,
+    "CLI_MAX_COLUMNS_IN_GROUP_BY": 97,
+    "CLI_MAX_COLUMNS_IN_INDEX": 98,
+    "CLI_MAX_COLUMNS_IN_ORDER_BY": 99,
+    "CLI_MAX_COLUMNS_IN_SELECT": 100,
+    "CLI_MAX_COLUMNS_IN_TABLE": 101,
+    "CLI_MAX_INDEX_SIZE": 102,
+    "CLI_MAX_ROW_SIZE": 104,
+    "CLI_MAX_STATEMENT_LEN": 105,
+    "CLI_MAX_TABLES_IN_SELECT": 106,
+    "CLI_MAX_USER_NAME_LEN": 107,
+    "CLI_OJ_CAPABILITIES": 115,
+    "CLI_XOPEN_CLI_YEAR": 10000,
+    "CLI_CURSOR_SENSITIVITY": 10001,
+    "CLI_DESCRIBE_PARAMETER": 10002,
+    "CLI_CATALOG_NAME": 10003,
+    "CLI_COLLATION_SEQ": 10004,
+    "CLI_MAX_IDENTIFIER_LEN": 10005,
+  }
+
+class TFetchOrientation:
+  FETCH_NEXT = 0
+  FETCH_PRIOR = 1
+  FETCH_RELATIVE = 2
+  FETCH_ABSOLUTE = 3
+  FETCH_FIRST = 4
+  FETCH_LAST = 5
+
+  _VALUES_TO_NAMES = {
+    0: "FETCH_NEXT",
+    1: "FETCH_PRIOR",
+    2: "FETCH_RELATIVE",
+    3: "FETCH_ABSOLUTE",
+    4: "FETCH_FIRST",
+    5: "FETCH_LAST",
+  }
+
+  _NAMES_TO_VALUES = {
+    "FETCH_NEXT": 0,
+    "FETCH_PRIOR": 1,
+    "FETCH_RELATIVE": 2,
+    "FETCH_ABSOLUTE": 3,
+    "FETCH_FIRST": 4,
+    "FETCH_LAST": 5,
+  }
+
+
+class TPrimitiveTypeEntry:
+  """
+  Attributes:
+   - type
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'type', None, None, ), # 1
+  )
+
+  def __init__(self, type=None,):
+    self.type = type
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.type = iprot.readI32();
+        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('TPrimitiveTypeEntry')
+    if self.type is not None:
+      oprot.writeFieldBegin('type', TType.I32, 1)
+      oprot.writeI32(self.type)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.type is None:
+      raise TProtocol.TProtocolException(message='Required field type is unset!')
+    return
+
+
+  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 TArrayTypeEntry:
+  """
+  Attributes:
+   - objectTypePtr
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'objectTypePtr', None, None, ), # 1
+  )
+
+  def __init__(self, objectTypePtr=None,):
+    self.objectTypePtr = objectTypePtr
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.objectTypePtr = iprot.readI32();
+        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('TArrayTypeEntry')
+    if self.objectTypePtr is not None:
+      oprot.writeFieldBegin('objectTypePtr', TType.I32, 1)
+      oprot.writeI32(self.objectTypePtr)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.objectTypePtr is None:
+      raise TProtocol.TProtocolException(message='Required field objectTypePtr is unset!')
+    return
+
+
+  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 TMapTypeEntry:
+  """
+  Attributes:
+   - keyTypePtr
+   - valueTypePtr
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'keyTypePtr', None, None, ), # 1
+    (2, TType.I32, 'valueTypePtr', None, None, ), # 2
+  )
+
+  def __init__(self, keyTypePtr=None, valueTypePtr=None,):
+    self.keyTypePtr = keyTypePtr
+    self.valueTypePtr = valueTypePtr
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.keyTypePtr = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.valueTypePtr = iprot.readI32();
+        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('TMapTypeEntry')
+    if self.keyTypePtr is not None:
+      oprot.writeFieldBegin('keyTypePtr', TType.I32, 1)
+      oprot.writeI32(self.keyTypePtr)
+      oprot.writeFieldEnd()
+    if self.valueTypePtr is not None:
+      oprot.writeFieldBegin('valueTypePtr', TType.I32, 2)
+      oprot.writeI32(self.valueTypePtr)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.keyTypePtr is None:
+      raise TProtocol.TProtocolException(message='Required field keyTypePtr is unset!')
+    if self.valueTypePtr is None:
+      raise TProtocol.TProtocolException(message='Required field valueTypePtr is unset!')
+    return
+
+
+  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 TStructTypeEntry:
+  """
+  Attributes:
+   - nameToTypePtr
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.MAP, 'nameToTypePtr', (TType.STRING,None,TType.I32,None), None, ), # 1
+  )
+
+  def __init__(self, nameToTypePtr=None,):
+    self.nameToTypePtr = nameToTypePtr
+
+  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.MAP:
+          self.nameToTypePtr = {}
+          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin() 
+          for _i4 in xrange(_size0):
+            _key5 = iprot.readString();
+            _val6 = iprot.readI32();
+            self.nameToTypePtr[_key5] = _val6
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TStructTypeEntry')
+    if self.nameToTypePtr is not None:
+      oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1)
+      oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr))
+      for kiter7,viter8 in self.nameToTypePtr.items():
+        oprot.writeString(kiter7)
+        oprot.writeI32(viter8)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.nameToTypePtr is None:
+      raise TProtocol.TProtocolException(message='Required field nameToTypePtr is unset!')
+    return
+
+
+  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 TUnionTypeEntry:
+  """
+  Attributes:
+   - nameToTypePtr
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.MAP, 'nameToTypePtr', (TType.STRING,None,TType.I32,None), None, ), # 1
+  )
+
+  def __init__(self, nameToTypePtr=None,):
+    self.nameToTypePtr = nameToTypePtr
+
+  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.MAP:
+          self.nameToTypePtr = {}
+          (_ktype10, _vtype11, _size9 ) = iprot.readMapBegin() 
+          for _i13 in xrange(_size9):
+            _key14 = iprot.readString();
+            _val15 = iprot.readI32();
+            self.nameToTypePtr[_key14] = _val15
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TUnionTypeEntry')
+    if self.nameToTypePtr is not None:
+      oprot.writeFieldBegin('nameToTypePtr', TType.MAP, 1)
+      oprot.writeMapBegin(TType.STRING, TType.I32, len(self.nameToTypePtr))
+      for kiter16,viter17 in self.nameToTypePtr.items():
+        oprot.writeString(kiter16)
+        oprot.writeI32(viter17)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.nameToTypePtr is None:
+      raise TProtocol.TProtocolException(message='Required field nameToTypePtr is unset!')
+    return
+
+
+  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 TUserDefinedTypeEntry:
+  """
+  Attributes:
+   - typeClassName
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'typeClassName', None, None, ), # 1
+  )
+
+  def __init__(self, typeClassName=None,):
+    self.typeClassName = typeClassName
+
+  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.STRING:
+          self.typeClassName = 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('TUserDefinedTypeEntry')
+    if self.typeClassName is not None:
+      oprot.writeFieldBegin('typeClassName', TType.STRING, 1)
+      oprot.writeString(self.typeClassName)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.typeClassName is None:
+      raise TProtocol.TProtocolException(message='Required field typeClassName is unset!')
+    return
+
+
+  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 TTypeEntry:
+  """
+  Attributes:
+   - primitiveEntry
+   - arrayEntry
+   - mapEntry
+   - structEntry
+   - unionEntry
+   - userDefinedTypeEntry
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'primitiveEntry', (TPrimitiveTypeEntry, TPrimitiveTypeEntry.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'arrayEntry', (TArrayTypeEntry, TArrayTypeEntry.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'mapEntry', (TMapTypeEntry, TMapTypeEntry.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'structEntry', (TStructTypeEntry, TStructTypeEntry.thrift_spec), None, ), # 4
+    (5, TType.STRUCT, 'unionEntry', (TUnionTypeEntry, TUnionTypeEntry.thrift_spec), None, ), # 5
+    (6, TType.STRUCT, 'userDefinedTypeEntry', (TUserDefinedTypeEntry, TUserDefinedTypeEntry.thrift_spec), None, ), # 6
+  )
+
+  def __init__(self, primitiveEntry=None, arrayEntry=None, mapEntry=None, structEntry=None, unionEntry=None, userDefinedTypeEntry=None,):
+    self.primitiveEntry = primitiveEntry
+    self.arrayEntry = arrayEntry
+    self.mapEntry = mapEntry
+    self.structEntry = structEntry
+    self.unionEntry = unionEntry
+    self.userDefinedTypeEntry = userDefinedTypeEntry
+
+  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.primitiveEntry = TPrimitiveTypeEntry()
+          self.primitiveEntry.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.arrayEntry = TArrayTypeEntry()
+          self.arrayEntry.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.mapEntry = TMapTypeEntry()
+          self.mapEntry.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.structEntry = TStructTypeEntry()
+          self.structEntry.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRUCT:
+          self.unionEntry = TUnionTypeEntry()
+          self.unionEntry.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRUCT:
+          self.userDefinedTypeEntry = TUserDefinedTypeEntry()
+          self.userDefinedTypeEntry.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('TTypeEntry')
+    if self.primitiveEntry is not None:
+      oprot.writeFieldBegin('primitiveEntry', TType.STRUCT, 1)
+      self.primitiveEntry.write(oprot)
+      oprot.writeFieldEnd()
+    if self.arrayEntry is not None:
+      oprot.writeFieldBegin('arrayEntry', TType.STRUCT, 2)
+      self.arrayEntry.write(oprot)
+      oprot.writeFieldEnd()
+    if self.mapEntry is not None:
+      oprot.writeFieldBegin('mapEntry', TType.STRUCT, 3)
+      self.mapEntry.write(oprot)
+      oprot.writeFieldEnd()
+    if self.structEntry is not None:
+      oprot.writeFieldBegin('structEntry', TType.STRUCT, 4)
+      self.structEntry.write(oprot)
+      oprot.writeFieldEnd()
+    if self.unionEntry is not None:
+      oprot.writeFieldBegin('unionEntry', TType.STRUCT, 5)
+      self.unionEntry.write(oprot)
+      oprot.writeFieldEnd()
+    if self.userDefinedTypeEntry is not None:
+      oprot.writeFieldBegin('userDefinedTypeEntry', TType.STRUCT, 6)
+      self.userDefinedTypeEntry.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TTypeDesc:
+  """
+  Attributes:
+   - types
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.LIST, 'types', (TType.STRUCT,(TTypeEntry, TTypeEntry.thrift_spec)), None, ), # 1
+  )
+
+  def __init__(self, types=None,):
+    self.types = types
+
+  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.LIST:
+          self.types = []
+          (_etype21, _size18) = iprot.readListBegin()
+          for _i22 in xrange(_size18):
+            _elem23 = TTypeEntry()
+            _elem23.read(iprot)
+            self.types.append(_elem23)
+          iprot.readListEnd()
+        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('TTypeDesc')
+    if self.types is not None:
+      oprot.writeFieldBegin('types', TType.LIST, 1)
+      oprot.writeListBegin(TType.STRUCT, len(self.types))
+      for iter24 in self.types:
+        iter24.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.types is None:
+      raise TProtocol.TProtocolException(message='Required field types is unset!')
+    return
+
+
+  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 TColumnDesc:
+  """
+  Attributes:
+   - columnName
+   - typeDesc
+   - position
+   - comment
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'columnName', None, None, ), # 1
+    (2, TType.STRUCT, 'typeDesc', (TTypeDesc, TTypeDesc.thrift_spec), None, ), # 2
+    (3, TType.I32, 'position', None, None, ), # 3
+    (4, TType.STRING, 'comment', None, None, ), # 4
+  )
+
+  def __init__(self, columnName=None, typeDesc=None, position=None, comment=None,):
+    self.columnName = columnName
+    self.typeDesc = typeDesc
+    self.position = position
+    self.comment = comment
+
+  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.STRING:
+          self.columnName = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.typeDesc = TTypeDesc()
+          self.typeDesc.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.I32:
+          self.position = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRING:
+          self.comment = 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('TColumnDesc')
+    if self.columnName is not None:
+      oprot.writeFieldBegin('columnName', TType.STRING, 1)
+      oprot.writeString(self.columnName)
+      oprot.writeFieldEnd()
+    if self.typeDesc is not None:
+      oprot.writeFieldBegin('typeDesc', TType.STRUCT, 2)
+      self.typeDesc.write(oprot)
+      oprot.writeFieldEnd()
+    if self.position is not None:
+      oprot.writeFieldBegin('position', TType.I32, 3)
+      oprot.writeI32(self.position)
+      oprot.writeFieldEnd()
+    if self.comment is not None:
+      oprot.writeFieldBegin('comment', TType.STRING, 4)
+      oprot.writeString(self.comment)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.columnName is None:
+      raise TProtocol.TProtocolException(message='Required field columnName is unset!')
+    if self.typeDesc is None:
+      raise TProtocol.TProtocolException(message='Required field typeDesc is unset!')
+    if self.position is None:
+      raise TProtocol.TProtocolException(message='Required field position is unset!')
+    return
+
+
+  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 TTableSchema:
+  """
+  Attributes:
+   - columns
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.LIST, 'columns', (TType.STRUCT,(TColumnDesc, TColumnDesc.thrift_spec)), None, ), # 1
+  )
+
+  def __init__(self, columns=None,):
+    self.columns = columns
+
+  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.LIST:
+          self.columns = []
+          (_etype28, _size25) = iprot.readListBegin()
+          for _i29 in xrange(_size25):
+            _elem30 = TColumnDesc()
+            _elem30.read(iprot)
+            self.columns.append(_elem30)
+          iprot.readListEnd()
+        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('TTableSchema')
+    if self.columns is not None:
+      oprot.writeFieldBegin('columns', TType.LIST, 1)
+      oprot.writeListBegin(TType.STRUCT, len(self.columns))
+      for iter31 in self.columns:
+        iter31.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.columns is None:
+      raise TProtocol.TProtocolException(message='Required field columns is unset!')
+    return
+
+
+  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 TBoolValue:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.BOOL, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  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.BOOL:
+          self.value = iprot.readBool();
+        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('TBoolValue')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.BOOL, 1)
+      oprot.writeBool(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TByteValue:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.BYTE, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  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.BYTE:
+          self.value = iprot.readByte();
+        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('TByteValue')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.BYTE, 1)
+      oprot.writeByte(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TI16Value:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I16, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  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.I16:
+          self.value = iprot.readI16();
+        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('TI16Value')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.I16, 1)
+      oprot.writeI16(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TI32Value:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.value = iprot.readI32();
+        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('TI32Value')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.I32, 1)
+      oprot.writeI32(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TI64Value:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I64, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  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.I64:
+          self.value = iprot.readI64();
+        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('TI64Value')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.I64, 1)
+      oprot.writeI64(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TDoubleValue:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.DOUBLE, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  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.DOUBLE:
+          self.value = iprot.readDouble();
+        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('TDoubleValue')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.DOUBLE, 1)
+      oprot.writeDouble(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TStringValue:
+  """
+  Attributes:
+   - value
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'value', None, None, ), # 1
+  )
+
+  def __init__(self, value=None,):
+    self.value = value
+
+  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.STRING:
+          self.value = 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('TStringValue')
+    if self.value is not None:
+      oprot.writeFieldBegin('value', TType.STRING, 1)
+      oprot.writeString(self.value)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TColumn:
+  """
+  Attributes:
+   - boolColumn
+   - byteColumn
+   - i16Column
+   - i32Column
+   - i64Column
+   - doubleColumn
+   - stringColumn
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.LIST, 'boolColumn', (TType.STRUCT,(TBoolValue, TBoolValue.thrift_spec)), None, ), # 1
+    (2, TType.LIST, 'byteColumn', (TType.STRUCT,(TByteValue, TByteValue.thrift_spec)), None, ), # 2
+    (3, TType.LIST, 'i16Column', (TType.STRUCT,(TI16Value, TI16Value.thrift_spec)), None, ), # 3
+    (4, TType.LIST, 'i32Column', (TType.STRUCT,(TI32Value, TI32Value.thrift_spec)), None, ), # 4
+    (5, TType.LIST, 'i64Column', (TType.STRUCT,(TI64Value, TI64Value.thrift_spec)), None, ), # 5
+    (6, TType.LIST, 'doubleColumn', (TType.STRUCT,(TDoubleValue, TDoubleValue.thrift_spec)), None, ), # 6
+    (7, TType.LIST, 'stringColumn', (TType.STRUCT,(TStringValue, TStringValue.thrift_spec)), None, ), # 7
+  )
+
+  def __init__(self, boolColumn=None, byteColumn=None, i16Column=None, i32Column=None, i64Column=None, doubleColumn=None, stringColumn=None,):
+    self.boolColumn = boolColumn
+    self.byteColumn = byteColumn
+    self.i16Column = i16Column
+    self.i32Column = i32Column
+    self.i64Column = i64Column
+    self.doubleColumn = doubleColumn
+    self.stringColumn = stringColumn
+
+  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.LIST:
+          self.boolColumn = []
+          (_etype35, _size32) = iprot.readListBegin()
+          for _i36 in xrange(_size32):
+            _elem37 = TBoolValue()
+            _elem37.read(iprot)
+            self.boolColumn.append(_elem37)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.LIST:
+          self.byteColumn = []
+          (_etype41, _size38) = iprot.readListBegin()
+          for _i42 in xrange(_size38):
+            _elem43 = TByteValue()
+            _elem43.read(iprot)
+            self.byteColumn.append(_elem43)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.LIST:
+          self.i16Column = []
+          (_etype47, _size44) = iprot.readListBegin()
+          for _i48 in xrange(_size44):
+            _elem49 = TI16Value()
+            _elem49.read(iprot)
+            self.i16Column.append(_elem49)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.LIST:
+          self.i32Column = []
+          (_etype53, _size50) = iprot.readListBegin()
+          for _i54 in xrange(_size50):
+            _elem55 = TI32Value()
+            _elem55.read(iprot)
+            self.i32Column.append(_elem55)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.LIST:
+          self.i64Column = []
+          (_etype59, _size56) = iprot.readListBegin()
+          for _i60 in xrange(_size56):
+            _elem61 = TI64Value()
+            _elem61.read(iprot)
+            self.i64Column.append(_elem61)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.LIST:
+          self.doubleColumn = []
+          (_etype65, _size62) = iprot.readListBegin()
+          for _i66 in xrange(_size62):
+            _elem67 = TDoubleValue()
+            _elem67.read(iprot)
+            self.doubleColumn.append(_elem67)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.LIST:
+          self.stringColumn = []
+          (_etype71, _size68) = iprot.readListBegin()
+          for _i72 in xrange(_size68):
+            _elem73 = TStringValue()
+            _elem73.read(iprot)
+            self.stringColumn.append(_elem73)
+          iprot.readListEnd()
+        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('TColumn')
+    if self.boolColumn is not None:
+      oprot.writeFieldBegin('boolColumn', TType.LIST, 1)
+      oprot.writeListBegin(TType.STRUCT, len(self.boolColumn))
+      for iter74 in self.boolColumn:
+        iter74.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.byteColumn is not None:
+      oprot.writeFieldBegin('byteColumn', TType.LIST, 2)
+      oprot.writeListBegin(TType.STRUCT, len(self.byteColumn))
+      for iter75 in self.byteColumn:
+        iter75.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.i16Column is not None:
+      oprot.writeFieldBegin('i16Column', TType.LIST, 3)
+      oprot.writeListBegin(TType.STRUCT, len(self.i16Column))
+      for iter76 in self.i16Column:
+        iter76.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.i32Column is not None:
+      oprot.writeFieldBegin('i32Column', TType.LIST, 4)
+      oprot.writeListBegin(TType.STRUCT, len(self.i32Column))
+      for iter77 in self.i32Column:
+        iter77.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.i64Column is not None:
+      oprot.writeFieldBegin('i64Column', TType.LIST, 5)
+      oprot.writeListBegin(TType.STRUCT, len(self.i64Column))
+      for iter78 in self.i64Column:
+        iter78.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.doubleColumn is not None:
+      oprot.writeFieldBegin('doubleColumn', TType.LIST, 6)
+      oprot.writeListBegin(TType.STRUCT, len(self.doubleColumn))
+      for iter79 in self.doubleColumn:
+        iter79.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.stringColumn is not None:
+      oprot.writeFieldBegin('stringColumn', TType.LIST, 7)
+      oprot.writeListBegin(TType.STRUCT, len(self.stringColumn))
+      for iter80 in self.stringColumn:
+        iter80.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TColumnValue:
+  """
+  Attributes:
+   - boolVal
+   - byteVal
+   - i16Val
+   - i32Val
+   - i64Val
+   - doubleVal
+   - stringVal
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'boolVal', (TBoolValue, TBoolValue.thrift_spec), None, ), # 1
+    (2, TType.STRUCT, 'byteVal', (TByteValue, TByteValue.thrift_spec), None, ), # 2
+    (3, TType.STRUCT, 'i16Val', (TI16Value, TI16Value.thrift_spec), None, ), # 3
+    (4, TType.STRUCT, 'i32Val', (TI32Value, TI32Value.thrift_spec), None, ), # 4
+    (5, TType.STRUCT, 'i64Val', (TI64Value, TI64Value.thrift_spec), None, ), # 5
+    (6, TType.STRUCT, 'doubleVal', (TDoubleValue, TDoubleValue.thrift_spec), None, ), # 6
+    (7, TType.STRUCT, 'stringVal', (TStringValue, TStringValue.thrift_spec), None, ), # 7
+  )
+
+  def __init__(self, boolVal=None, byteVal=None, i16Val=None, i32Val=None, i64Val=None, doubleVal=None, stringVal=None,):
+    self.boolVal = boolVal
+    self.byteVal = byteVal
+    self.i16Val = i16Val
+    self.i32Val = i32Val
+    self.i64Val = i64Val
+    self.doubleVal = doubleVal
+    self.stringVal = stringVal
+
+  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.boolVal = TBoolValue()
+          self.boolVal.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRUCT:
+          self.byteVal = TByteValue()
+          self.byteVal.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.i16Val = TI16Value()
+          self.i16Val.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.STRUCT:
+          self.i32Val = TI32Value()
+          self.i32Val.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRUCT:
+          self.i64Val = TI64Value()
+          self.i64Val.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRUCT:
+          self.doubleVal = TDoubleValue()
+          self.doubleVal.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 7:
+        if ftype == TType.STRUCT:
+          self.stringVal = TStringValue()
+          self.stringVal.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('TColumnValue')
+    if self.boolVal is not None:
+      oprot.writeFieldBegin('boolVal', TType.STRUCT, 1)
+      self.boolVal.write(oprot)
+      oprot.writeFieldEnd()
+    if self.byteVal is not None:
+      oprot.writeFieldBegin('byteVal', TType.STRUCT, 2)
+      self.byteVal.write(oprot)
+      oprot.writeFieldEnd()
+    if self.i16Val is not None:
+      oprot.writeFieldBegin('i16Val', TType.STRUCT, 3)
+      self.i16Val.write(oprot)
+      oprot.writeFieldEnd()
+    if self.i32Val is not None:
+      oprot.writeFieldBegin('i32Val', TType.STRUCT, 4)
+      self.i32Val.write(oprot)
+      oprot.writeFieldEnd()
+    if self.i64Val is not None:
+      oprot.writeFieldBegin('i64Val', TType.STRUCT, 5)
+      self.i64Val.write(oprot)
+      oprot.writeFieldEnd()
+    if self.doubleVal is not None:
+      oprot.writeFieldBegin('doubleVal', TType.STRUCT, 6)
+      self.doubleVal.write(oprot)
+      oprot.writeFieldEnd()
+    if self.stringVal is not None:
+      oprot.writeFieldBegin('stringVal', TType.STRUCT, 7)
+      self.stringVal.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    return
+
+
+  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 TRow:
+  """
+  Attributes:
+   - colVals
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.LIST, 'colVals', (TType.STRUCT,(TColumnValue, TColumnValue.thrift_spec)), None, ), # 1
+  )
+
+  def __init__(self, colVals=None,):
+    self.colVals = colVals
+
+  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.LIST:
+          self.colVals = []
+          (_etype84, _size81) = iprot.readListBegin()
+          for _i85 in xrange(_size81):
+            _elem86 = TColumnValue()
+            _elem86.read(iprot)
+            self.colVals.append(_elem86)
+          iprot.readListEnd()
+        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('TRow')
+    if self.colVals is not None:
+      oprot.writeFieldBegin('colVals', TType.LIST, 1)
+      oprot.writeListBegin(TType.STRUCT, len(self.colVals))
+      for iter87 in self.colVals:
+        iter87.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.colVals is None:
+      raise TProtocol.TProtocolException(message='Required field colVals is unset!')
+    return
+
+
+  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 TRowSet:
+  """
+  Attributes:
+   - startRowOffset
+   - rows
+   - columns
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I64, 'startRowOffset', None, None, ), # 1
+    (2, TType.LIST, 'rows', (TType.STRUCT,(TRow, TRow.thrift_spec)), None, ), # 2
+    (3, TType.LIST, 'columns', (TType.STRUCT,(TColumn, TColumn.thrift_spec)), None, ), # 3
+  )
+
+  def __init__(self, startRowOffset=None, rows=None, columns=None,):
+    self.startRowOffset = startRowOffset
+    self.rows = rows
+    self.columns = columns
+
+  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.I64:
+          self.startRowOffset = iprot.readI64();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.LIST:
+          self.rows = []
+          (_etype91, _size88) = iprot.readListBegin()
+          for _i92 in xrange(_size88):
+            _elem93 = TRow()
+            _elem93.read(iprot)
+            self.rows.append(_elem93)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.LIST:
+          self.columns = []
+          (_etype97, _size94) = iprot.readListBegin()
+          for _i98 in xrange(_size94):
+            _elem99 = TColumn()
+            _elem99.read(iprot)
+            self.columns.append(_elem99)
+          iprot.readListEnd()
+        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('TRowSet')
+    if self.startRowOffset is not None:
+      oprot.writeFieldBegin('startRowOffset', TType.I64, 1)
+      oprot.writeI64(self.startRowOffset)
+      oprot.writeFieldEnd()
+    if self.rows is not None:
+      oprot.writeFieldBegin('rows', TType.LIST, 2)
+      oprot.writeListBegin(TType.STRUCT, len(self.rows))
+      for iter100 in self.rows:
+        iter100.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.columns is not None:
+      oprot.writeFieldBegin('columns', TType.LIST, 3)
+      oprot.writeListBegin(TType.STRUCT, len(self.columns))
+      for iter101 in self.columns:
+        iter101.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.startRowOffset is None:
+      raise TProtocol.TProtocolException(message='Required field startRowOffset is unset!')
+    if self.rows is None:
+      raise TProtocol.TProtocolException(message='Required field rows is unset!')
+    return
+
+
+  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 TStatus:
+  """
+  Attributes:
+   - statusCode
+   - infoMessages
+   - sqlState
+   - errorCode
+   - errorMessage
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'statusCode', None, None, ), # 1
+    (2, TType.LIST, 'infoMessages', (TType.STRING,None), None, ), # 2
+    (3, TType.STRING, 'sqlState', None, None, ), # 3
+    (4, TType.I32, 'errorCode', None, None, ), # 4
+    (5, TType.STRING, 'errorMessage', None, None, ), # 5
+  )
+
+  def __init__(self, statusCode=None, infoMessages=None, sqlState=None, errorCode=None, errorMessage=None,):
+    self.statusCode = statusCode
+    self.infoMessages = infoMessages
+    self.sqlState = sqlState
+    self.errorCode = errorCode
+    self.errorMessage = errorMessage
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.statusCode = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.LIST:
+          self.infoMessages = []
+          (_etype105, _size102) = iprot.readListBegin()
+          for _i106 in xrange(_size102):
+            _elem107 = iprot.readString();
+            self.infoMessages.append(_elem107)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.sqlState = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.I32:
+          self.errorCode = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 5:
+        if ftype == TType.STRING:
+          self.errorMessage = 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('TStatus')
+    if self.statusCode is not None:
+      oprot.writeFieldBegin('statusCode', TType.I32, 1)
+      oprot.writeI32(self.statusCode)
+      oprot.writeFieldEnd()
+    if self.infoMessages is not None:
+      oprot.writeFieldBegin('infoMessages', TType.LIST, 2)
+      oprot.writeListBegin(TType.STRING, len(self.infoMessages))
+      for iter108 in self.infoMessages:
+        oprot.writeString(iter108)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.sqlState is not None:
+      oprot.writeFieldBegin('sqlState', TType.STRING, 3)
+      oprot.writeString(self.sqlState)
+      oprot.writeFieldEnd()
+    if self.errorCode is not None:
+      oprot.writeFieldBegin('errorCode', TType.I32, 4)
+      oprot.writeI32(self.errorCode)
+      oprot.writeFieldEnd()
+    if self.errorMessage is not None:
+      oprot.writeFieldBegin('errorMessage', TType.STRING, 5)
+      oprot.writeString(self.errorMessage)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.statusCode is None:
+      raise TProtocol.TProtocolException(message='Required field statusCode is unset!')
+    return
+
+
+  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 THandleIdentifier:
+  """
+  Attributes:
+   - guid
+   - secret
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRING, 'guid', None, None, ), # 1
+    (2, TType.STRING, 'secret', None, None, ), # 2
+  )
+
+  def __init__(self, guid=None, secret=None,):
+    self.guid = guid
+    self.secret = secret
+
+  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.STRING:
+          self.guid = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.secret = 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('THandleIdentifier')
+    if self.guid is not None:
+      oprot.writeFieldBegin('guid', TType.STRING, 1)
+      oprot.writeString(self.guid)
+      oprot.writeFieldEnd()
+    if self.secret is not None:
+      oprot.writeFieldBegin('secret', TType.STRING, 2)
+      oprot.writeString(self.secret)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.guid is None:
+      raise TProtocol.TProtocolException(message='Required field guid is unset!')
+    if self.secret is None:
+      raise TProtocol.TProtocolException(message='Required field secret is unset!')
+    return
+
+
+  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 TSessionHandle:
+  """
+  Attributes:
+   - sessionId
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'sessionId', (THandleIdentifier, THandleIdentifier.thrift_spec), None, ), # 1
+  )
+
+  def __init__(self, sessionId=None,):
+    self.sessionId = sessionId
+
+  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.sessionId = THandleIdentifier()
+          self.sessionId.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('TSessionHandle')
+    if self.sessionId is not None:
+      oprot.writeFieldBegin('sessionId', TType.STRUCT, 1)
+      self.sessionId.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.sessionId is None:
+      raise TProtocol.TProtocolException(message='Required field sessionId is unset!')
+    return
+
+
+  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 TOperationHandle:
+  """
+  Attributes:
+   - operationId
+   - operationType
+   - hasResultSet
+   - modifiedRowCount
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'operationId', (THandleIdentifier, THandleIdentifier.thrift_spec), None, ), # 1
+    (2, TType.I32, 'operationType', None, None, ), # 2
+    (3, TType.BOOL, 'hasResultSet', None, None, ), # 3
+    (4, TType.DOUBLE, 'modifiedRowCount', None, None, ), # 4
+  )
+
+  def __init__(self, operationId=None, operationType=None, hasResultSet=None, modifiedRowCount=None,):
+    self.operationId = operationId
+    self.operationType = operationType
+    self.hasResultSet = hasResultSet
+    self.modifiedRowCount = modifiedRowCount
+
+  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.operationId = THandleIdentifier()
+          self.operationId.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.operationType = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.BOOL:
+          self.hasResultSet = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.DOUBLE:
+          self.modifiedRowCount = iprot.readDouble();
+        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('TOperationHandle')
+    if self.operationId is not None:
+      oprot.writeFieldBegin('operationId', TType.STRUCT, 1)
+      self.operationId.write(oprot)
+      oprot.writeFieldEnd()
+    if self.operationType is not None:
+      oprot.writeFieldBegin('operationType', TType.I32, 2)
+      oprot.writeI32(self.operationType)
+      oprot.writeFieldEnd()
+    if self.hasResultSet is not None:
+      oprot.writeFieldBegin('hasResultSet', TType.BOOL, 3)
+      oprot.writeBool(self.hasResultSet)
+      oprot.writeFieldEnd()
+    if self.modifiedRowCount is not None:
+      oprot.writeFieldBegin('modifiedRowCount', TType.DOUBLE, 4)
+      oprot.writeDouble(self.modifiedRowCount)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.operationId is None:
+      raise TProtocol.TProtocolException(message='Required field operationId is unset!')
+    if self.operationType is None:
+      raise TProtocol.TProtocolException(message='Required field operationType is unset!')
+    if self.hasResultSet is None:
+      raise TProtocol.TProtocolException(message='Required field hasResultSet is unset!')
+    return
+
+
+  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 TOpenSessionReq:
+  """
+  Attributes:
+   - client_protocol
+   - username
+   - password
+   - configuration
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.I32, 'client_protocol', None,     0, ), # 1
+    (2, TType.STRING, 'username', None, None, ), # 2
+    (3, TType.STRING, 'password', None, None, ), # 3
+    (4, TType.MAP, 'configuration', (TType.STRING,None,TType.STRING,None), None, ), # 4
+  )
+
+  def __init__(self, client_protocol=thrift_spec[1][4], username=None, password=None, configuration=None,):
+    self.client_protocol = client_protocol
+    self.username = username
+    self.password = password
+    self.configuration = configuration
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.I32:
+          self.client_protocol = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.STRING:
+          self.username = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRING:
+          self.password = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.MAP:
+          self.configuration = {}
+          (_ktype110, _vtype111, _size109 ) = iprot.readMapBegin() 
+          for _i113 in xrange(_size109):
+            _key114 = iprot.readString();
+            _val115 = iprot.readString();
+            self.configuration[_key114] = _val115
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TOpenSessionReq')
+    if self.client_protocol is not None:
+      oprot.writeFieldBegin('client_protocol', TType.I32, 1)
+      oprot.writeI32(self.client_protocol)
+      oprot.writeFieldEnd()
+    if self.username is not None:
+      oprot.writeFieldBegin('username', TType.STRING, 2)
+      oprot.writeString(self.username)
+      oprot.writeFieldEnd()
+    if self.password is not None:
+      oprot.writeFieldBegin('password', TType.STRING, 3)
+      oprot.writeString(self.password)
+      oprot.writeFieldEnd()
+    if self.configuration is not None:
+      oprot.writeFieldBegin('configuration', TType.MAP, 4)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration))
+      for kiter116,viter117 in self.configuration.items():
+        oprot.writeString(kiter116)
+        oprot.writeString(viter117)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.client_protocol is None:
+      raise TProtocol.TProtocolException(message='Required field client_protocol is unset!')
+    return
+
+
+  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 TOpenSessionResp:
+  """
+  Attributes:
+   - status
+   - serverProtocolVersion
+   - sessionHandle
+   - configuration
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'status', (TStatus, TStatus.thrift_spec), None, ), # 1
+    (2, TType.I32, 'serverProtocolVersion', None,     0, ), # 2
+    (3, TType.STRUCT, 'sessionHandle', (TSessionHandle, TSessionHandle.thrift_spec), None, ), # 3
+    (4, TType.MAP, 'configuration', (TType.STRING,None,TType.STRING,None), None, ), # 4
+  )
+
+  def __init__(self, status=None, serverProtocolVersion=thrift_spec[2][4], sessionHandle=None, configuration=None,):
+    self.status = status
+    self.serverProtocolVersion = serverProtocolVersion
+    self.sessionHandle = sessionHandle
+    self.configuration = configuration
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 1:
+        if ftype == TType.STRUCT:
+          self.status = TStatus()
+          self.status.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 2:
+        if ftype == TType.I32:
+          self.serverProtocolVersion = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 3:
+        if ftype == TType.STRUCT:
+          self.sessionHandle = TSessionHandle()
+          self.sessionHandle.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == 4:
+        if ftype == TType.MAP:
+          self.configuration = {}
+          (_ktype119, _vtype120, _size118 ) = iprot.readMapBegin() 
+          for _i122 in xrange(_size118):
+            _key123 = iprot.readString();
+            _val124 = iprot.readString();
+            self.configuration[_key123] = _val124
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      else:
+        iprot.skip(ftype)
+      iprot.readFieldEnd()
+    iprot.readStructEnd()
+
+  def write(self, oprot):
+    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
+      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
+      return
+    oprot.writeStructBegin('TOpenSessionResp')
+    if self.status is not None:
+      oprot.writeFieldBegin('status', TType.STRUCT, 1)
+      self.status.write(oprot)
+      oprot.writeFieldEnd()
+    if self.serverProtocolVersion is not None:
+      oprot.writeFieldBegin('serverProtocolVersion', TType.I32, 2)
+      oprot.writeI32(self.serverProtocolVersion)
+      oprot.writeFieldEnd()
+    if self.sessionHandle is not None:
+      oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 3)
+      self.sessionHandle.write(oprot)
+      oprot.writeFieldEnd()
+    if self.configuration is not None:
+      oprot.writeFieldBegin('configuration', TType.MAP, 4)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.configuration))
+      for kiter125,viter126 in self.configuration.items():
+        oprot.writeString(kiter125)
+        oprot.writeString(viter126)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def validate(self):
+    if self.status is None:
+      raise TProtocol.TProtocolException(message='Required field status is unset!')
+    if self.serverProtocolVersion is None:
+      raise TProtocol.TProtocolException(message='Required field serverProtocolVersion is unset!')
+    return
+
+
+  def __repr__(self):
+    L = ['%s=%r' % (key, value)
+      for key, value in self.__dict__.iteritems()]
+    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class TCloseSessionReq:
+  """
+  Attributes:
+   - sessionHandle
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'sessionHandle', (TSessionHandle, TSessionHandle.thrift_spec), None, ), # 1
+  )
+
+  def __init__(self, sessionHandle=None,):
+    self.sessionHandle = sessionHandle
+
+  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)
+      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('TCloseSessionReq')
+    if self.sessionHandle is not None:
+      oprot.writeFieldBegin('sessionHandle', TType.STRUCT, 1)
+      self.sessionHandle.write(oprot)
+      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 __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 TCloseSessionResp:
+  """
+  Attributes:
+   - status
+  """
+
+  thrift_spec = (
+    None, # 0
+    (1, TType.STRUCT, 'status', (TStatus, TStatus.thrift_spec), None, ), # 1
+  )
+
+  def __init__(self, status=None,):
+    self.status = status
+
+  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)
+      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('TCloseSessionResp')

[... 2321 lines stripped ...]