You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by vg...@apache.org on 2016/01/08 03:03:53 UTC

[21/51] [partial] hive git commit: Revert "HIVE-12442: Refactor/repackage HiveServer2's Thrift code so that it can be used in the tasks (Rohit Dholakia reviewed by Vaibhav Gumashta)"

http://git-wip-us.apache.org/repos/asf/hive/blob/a28f6cd8/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
deleted file mode 100644
index efee8ef..0000000
--- a/service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py
+++ /dev/null
@@ -1,6857 +0,0 @@
-#
-# Autogenerated by Thrift Compiler (0.9.2)
-#
-# 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
-  HIVE_CLI_SERVICE_PROTOCOL_V2 = 1
-  HIVE_CLI_SERVICE_PROTOCOL_V3 = 2
-  HIVE_CLI_SERVICE_PROTOCOL_V4 = 3
-  HIVE_CLI_SERVICE_PROTOCOL_V5 = 4
-  HIVE_CLI_SERVICE_PROTOCOL_V6 = 5
-  HIVE_CLI_SERVICE_PROTOCOL_V7 = 6
-  HIVE_CLI_SERVICE_PROTOCOL_V8 = 7
-
-  _VALUES_TO_NAMES = {
-    0: "HIVE_CLI_SERVICE_PROTOCOL_V1",
-    1: "HIVE_CLI_SERVICE_PROTOCOL_V2",
-    2: "HIVE_CLI_SERVICE_PROTOCOL_V3",
-    3: "HIVE_CLI_SERVICE_PROTOCOL_V4",
-    4: "HIVE_CLI_SERVICE_PROTOCOL_V5",
-    5: "HIVE_CLI_SERVICE_PROTOCOL_V6",
-    6: "HIVE_CLI_SERVICE_PROTOCOL_V7",
-    7: "HIVE_CLI_SERVICE_PROTOCOL_V8",
-  }
-
-  _NAMES_TO_VALUES = {
-    "HIVE_CLI_SERVICE_PROTOCOL_V1": 0,
-    "HIVE_CLI_SERVICE_PROTOCOL_V2": 1,
-    "HIVE_CLI_SERVICE_PROTOCOL_V3": 2,
-    "HIVE_CLI_SERVICE_PROTOCOL_V4": 3,
-    "HIVE_CLI_SERVICE_PROTOCOL_V5": 4,
-    "HIVE_CLI_SERVICE_PROTOCOL_V6": 5,
-    "HIVE_CLI_SERVICE_PROTOCOL_V7": 6,
-    "HIVE_CLI_SERVICE_PROTOCOL_V8": 7,
-  }
-
-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
-  NULL_TYPE = 16
-  DATE_TYPE = 17
-  VARCHAR_TYPE = 18
-  CHAR_TYPE = 19
-  INTERVAL_YEAR_MONTH_TYPE = 20
-  INTERVAL_DAY_TIME_TYPE = 21
-
-  _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",
-    16: "NULL_TYPE",
-    17: "DATE_TYPE",
-    18: "VARCHAR_TYPE",
-    19: "CHAR_TYPE",
-    20: "INTERVAL_YEAR_MONTH_TYPE",
-    21: "INTERVAL_DAY_TIME_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,
-    "NULL_TYPE": 16,
-    "DATE_TYPE": 17,
-    "VARCHAR_TYPE": 18,
-    "CHAR_TYPE": 19,
-    "INTERVAL_YEAR_MONTH_TYPE": 20,
-    "INTERVAL_DAY_TIME_TYPE": 21,
-  }
-
-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
-  PENDING_STATE = 7
-
-  _VALUES_TO_NAMES = {
-    0: "INITIALIZED_STATE",
-    1: "RUNNING_STATE",
-    2: "FINISHED_STATE",
-    3: "CANCELED_STATE",
-    4: "CLOSED_STATE",
-    5: "ERROR_STATE",
-    6: "UKNOWN_STATE",
-    7: "PENDING_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,
-    "PENDING_STATE": 7,
-  }
-
-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 TTypeQualifierValue:
-  """
-  Attributes:
-   - i32Value
-   - stringValue
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.I32, 'i32Value', None, None, ), # 1
-    (2, TType.STRING, 'stringValue', None, None, ), # 2
-  )
-
-  def __init__(self, i32Value=None, stringValue=None,):
-    self.i32Value = i32Value
-    self.stringValue = stringValue
-
-  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.i32Value = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.stringValue = 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('TTypeQualifierValue')
-    if self.i32Value is not None:
-      oprot.writeFieldBegin('i32Value', TType.I32, 1)
-      oprot.writeI32(self.i32Value)
-      oprot.writeFieldEnd()
-    if self.stringValue is not None:
-      oprot.writeFieldBegin('stringValue', TType.STRING, 2)
-      oprot.writeString(self.stringValue)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.i32Value)
-    value = (value * 31) ^ hash(self.stringValue)
-    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 TTypeQualifiers:
-  """
-  Attributes:
-   - qualifiers
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.MAP, 'qualifiers', (TType.STRING,None,TType.STRUCT,(TTypeQualifierValue, TTypeQualifierValue.thrift_spec)), None, ), # 1
-  )
-
-  def __init__(self, qualifiers=None,):
-    self.qualifiers = qualifiers
-
-  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.qualifiers = {}
-          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
-          for _i4 in xrange(_size0):
-            _key5 = iprot.readString();
-            _val6 = TTypeQualifierValue()
-            _val6.read(iprot)
-            self.qualifiers[_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('TTypeQualifiers')
-    if self.qualifiers is not None:
-      oprot.writeFieldBegin('qualifiers', TType.MAP, 1)
-      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.qualifiers))
-      for kiter7,viter8 in self.qualifiers.items():
-        oprot.writeString(kiter7)
-        viter8.write(oprot)
-      oprot.writeMapEnd()
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.qualifiers is None:
-      raise TProtocol.TProtocolException(message='Required field qualifiers is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.qualifiers)
-    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 TPrimitiveTypeEntry:
-  """
-  Attributes:
-   - type
-   - typeQualifiers
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.I32, 'type', None, None, ), # 1
-    (2, TType.STRUCT, 'typeQualifiers', (TTypeQualifiers, TTypeQualifiers.thrift_spec), None, ), # 2
-  )
-
-  def __init__(self, type=None, typeQualifiers=None,):
-    self.type = type
-    self.typeQualifiers = typeQualifiers
-
-  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)
-      elif fid == 2:
-        if ftype == TType.STRUCT:
-          self.typeQualifiers = TTypeQualifiers()
-          self.typeQualifiers.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('TPrimitiveTypeEntry')
-    if self.type is not None:
-      oprot.writeFieldBegin('type', TType.I32, 1)
-      oprot.writeI32(self.type)
-      oprot.writeFieldEnd()
-    if self.typeQualifiers is not None:
-      oprot.writeFieldBegin('typeQualifiers', TType.STRUCT, 2)
-      self.typeQualifiers.write(oprot)
-      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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.type)
-    value = (value * 31) ^ hash(self.typeQualifiers)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.objectTypePtr)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.keyTypePtr)
-    value = (value * 31) ^ hash(self.valueTypePtr)
-    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 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 = {}
-          (_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('TStructTypeEntry')
-    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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.nameToTypePtr)
-    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 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 = {}
-          (_ktype19, _vtype20, _size18 ) = iprot.readMapBegin()
-          for _i22 in xrange(_size18):
-            _key23 = iprot.readString();
-            _val24 = iprot.readI32();
-            self.nameToTypePtr[_key23] = _val24
-          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 kiter25,viter26 in self.nameToTypePtr.items():
-        oprot.writeString(kiter25)
-        oprot.writeI32(viter26)
-      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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.nameToTypePtr)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.typeClassName)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.primitiveEntry)
-    value = (value * 31) ^ hash(self.arrayEntry)
-    value = (value * 31) ^ hash(self.mapEntry)
-    value = (value * 31) ^ hash(self.structEntry)
-    value = (value * 31) ^ hash(self.unionEntry)
-    value = (value * 31) ^ hash(self.userDefinedTypeEntry)
-    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 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 = []
-          (_etype30, _size27) = iprot.readListBegin()
-          for _i31 in xrange(_size27):
-            _elem32 = TTypeEntry()
-            _elem32.read(iprot)
-            self.types.append(_elem32)
-          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 iter33 in self.types:
-        iter33.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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.types)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.columnName)
-    value = (value * 31) ^ hash(self.typeDesc)
-    value = (value * 31) ^ hash(self.position)
-    value = (value * 31) ^ hash(self.comment)
-    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 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 = []
-          (_etype37, _size34) = iprot.readListBegin()
-          for _i38 in xrange(_size34):
-            _elem39 = TColumnDesc()
-            _elem39.read(iprot)
-            self.columns.append(_elem39)
-          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 iter40 in self.columns:
-        iter40.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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.columns)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.value)
-    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 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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.boolVal)
-    value = (value * 31) ^ hash(self.byteVal)
-    value = (value * 31) ^ hash(self.i16Val)
-    value = (value * 31) ^ hash(self.i32Val)
-    value = (value * 31) ^ hash(self.i64Val)
-    value = (value * 31) ^ hash(self.doubleVal)
-    value = (value * 31) ^ hash(self.stringVal)
-    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 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 = []
-          (_etype44, _size41) = iprot.readListBegin()
-          for _i45 in xrange(_size41):
-            _elem46 = TColumnValue()
-            _elem46.read(iprot)
-            self.colVals.append(_elem46)
-          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 iter47 in self.colVals:
-        iter47.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 __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.colVals)
-    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 TBoolColumn:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.BOOL,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype51, _size48) = iprot.readListBegin()
-          for _i52 in xrange(_size48):
-            _elem53 = iprot.readBool();
-            self.values.append(_elem53)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TBoolColumn')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.BOOL, len(self.values))
-      for iter54 in self.values:
-        oprot.writeBool(iter54)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TByteColumn:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.BYTE,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype58, _size55) = iprot.readListBegin()
-          for _i59 in xrange(_size55):
-            _elem60 = iprot.readByte();
-            self.values.append(_elem60)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TByteColumn')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.BYTE, len(self.values))
-      for iter61 in self.values:
-        oprot.writeByte(iter61)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TI16Column:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.I16,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype65, _size62) = iprot.readListBegin()
-          for _i66 in xrange(_size62):
-            _elem67 = iprot.readI16();
-            self.values.append(_elem67)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TI16Column')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.I16, len(self.values))
-      for iter68 in self.values:
-        oprot.writeI16(iter68)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TI32Column:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.I32,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype72, _size69) = iprot.readListBegin()
-          for _i73 in xrange(_size69):
-            _elem74 = iprot.readI32();
-            self.values.append(_elem74)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TI32Column')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.I32, len(self.values))
-      for iter75 in self.values:
-        oprot.writeI32(iter75)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TI64Column:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.I64,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype79, _size76) = iprot.readListBegin()
-          for _i80 in xrange(_size76):
-            _elem81 = iprot.readI64();
-            self.values.append(_elem81)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TI64Column')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.I64, len(self.values))
-      for iter82 in self.values:
-        oprot.writeI64(iter82)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TDoubleColumn:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.DOUBLE,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype86, _size83) = iprot.readListBegin()
-          for _i87 in xrange(_size83):
-            _elem88 = iprot.readDouble();
-            self.values.append(_elem88)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TDoubleColumn')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.DOUBLE, len(self.values))
-      for iter89 in self.values:
-        oprot.writeDouble(iter89)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TStringColumn:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.STRING,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype93, _size90) = iprot.readListBegin()
-          for _i94 in xrange(_size90):
-            _elem95 = iprot.readString();
-            self.values.append(_elem95)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TStringColumn')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.STRING, len(self.values))
-      for iter96 in self.values:
-        oprot.writeString(iter96)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TBinaryColumn:
-  """
-  Attributes:
-   - values
-   - nulls
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.LIST, 'values', (TType.STRING,None), None, ), # 1
-    (2, TType.STRING, 'nulls', None, None, ), # 2
-  )
-
-  def __init__(self, values=None, nulls=None,):
-    self.values = values
-    self.nulls = nulls
-
-  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.values = []
-          (_etype100, _size97) = iprot.readListBegin()
-          for _i101 in xrange(_size97):
-            _elem102 = iprot.readString();
-            self.values.append(_elem102)
-          iprot.readListEnd()
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.nulls = 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('TBinaryColumn')
-    if self.values is not None:
-      oprot.writeFieldBegin('values', TType.LIST, 1)
-      oprot.writeListBegin(TType.STRING, len(self.values))
-      for iter103 in self.values:
-        oprot.writeString(iter103)
-      oprot.writeListEnd()
-      oprot.writeFieldEnd()
-    if self.nulls is not None:
-      oprot.writeFieldBegin('nulls', TType.STRING, 2)
-      oprot.writeString(self.nulls)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.values is None:
-      raise TProtocol.TProtocolException(message='Required field values is unset!')
-    if self.nulls is None:
-      raise TProtocol.TProtocolException(message='Required field nulls is unset!')
-    return
-
-
-  def __hash__(self):
-    value = 17
-    value = (value * 31) ^ hash(self.values)
-    value = (value * 31) ^ hash(self.nulls)
-    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 TColumn:
-  """
-  Attributes:
-   - boolVal
-   - byteVal
-   - i16Val
-   - i32Val
-   - i64Val
-   - doubleVal
-   - stringVal
-   - binaryVal
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRUCT, 'boolVal', (TBoolColumn, TBoolColumn.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'byteVal', (TByteColumn, TByteColumn.thrift_spec), None, ), # 2
-    (3, TType.STRUCT, 'i16Val', (TI16Column, TI16Column.thrift_spec), None, ), # 3
-    (4, TType.STRUCT, 'i32Val', (TI32Column, TI32Column.thrift_spec), None, ), # 4
-    (5, TType.STRUCT, 'i64Val', (TI64Column, TI64Column.thrift_spec), None, ), # 5
-    (6, TType.STRUCT, 'doubleVal', (TDoubleColumn, TDoubleColumn.thrift_spec), None, ), # 6
-    (7, TType.STRUCT, 'stringVal', (TStringColumn, TStringColumn.thrift_spec), None, ), # 7
-    (8, TType.STRUCT, 'binaryVal', (TBinaryColumn, TBinaryColumn.thrift_spec), None, ), #

<TRUNCATED>