You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by dh...@apache.org on 2008/09/16 00:55:43 UTC

svn commit: r695679 [5/6] - in /hadoop/core/trunk: ./ src/contrib/hive/ src/contrib/hive/conf/ src/contrib/hive/metastore/if/ src/contrib/hive/metastore/src/gen-py/hive_metastore/ src/contrib/hive/metastore/src/java/org/apache/hadoop/hive/metastore/

Added: hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore-remote
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore-remote?rev=695679&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore-remote (added)
+++ hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore-remote Mon Sep 15 15:55:43 2008
@@ -0,0 +1,149 @@
+#!/usr/bin/env python
+#
+# Autogenerated by Thrift
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+
+import sys
+import pprint
+from urlparse import urlparse
+from thrift.transport import TTransport
+from thrift.transport import TSocket
+from thrift.transport import THttpClient
+from thrift.protocol import TBinaryProtocol
+
+import ThriftMetaStore
+from ttypes import *
+
+if len(sys.argv) <= 1 or sys.argv[1] == '--help':
+  print ''
+  print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
+  print ''
+  print 'Functions:'
+  print '   get_fields(string db_name, string table_name)'
+  print '   get_tables(string db_name, string pattern)'
+  print '   get_schema(string table_name)'
+  print '  void alter_table(string db_name, string table_name,  schema)'
+  print '  void create_table(string db_name, string table_name,  schema)'
+  print '  void drop_table(string db_name, string table_name)'
+  print '  void truncate_table(string db_name, string table_name, string partition)'
+  print '  bool table_exists(string db_name, string table_name)'
+  print '   get_partitions(string db_name, string table_name)'
+  print '   get_dbs()'
+  print '   cat(string db_name, string table_name, string partition, i32 high)'
+  print ''
+  sys.exit(0)
+
+pp = pprint.PrettyPrinter(indent = 2)
+host = 'localhost'
+port = 9090
+uri = ''
+framed = False
+http = False
+argi = 1
+
+if sys.argv[argi] == '-h':
+  parts = sys.argv[argi+1].split(':') 
+  host = parts[0]
+  port = int(parts[1])
+  argi += 2
+
+if sys.argv[argi] == '-u':
+  url = urlparse(sys.argv[argi+1])
+  parts = url[1].split(':') 
+  host = parts[0]
+  if len(parts) > 1:
+    port = int(parts[1])
+  else:
+    port = 80
+  uri = url[2]
+  http = True
+  argi += 2
+
+if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
+  framed = True
+  argi += 1
+
+cmd = sys.argv[argi]
+args = sys.argv[argi+1:]
+
+if http:
+  transport = THttpClient.THttpClient(host, port, uri)
+else:
+  socket = TSocket.TSocket(host, port)
+  if framed:
+    transport = TTransport.TFramedTransport(socket)
+  else:
+    transport = TTransport.TBufferedTransport(socket)
+protocol = TBinaryProtocol.TBinaryProtocol(transport)
+client = ThriftMetaStore.Client(protocol)
+transport.open()
+
+if cmd == 'get_fields':
+  if len(args) != 2:
+    print 'get_fields requires 2 args'
+    sys.exit(1)
+  pp.pprint(client.get_fields(args[0],args[1],))
+
+elif cmd == 'get_tables':
+  if len(args) != 2:
+    print 'get_tables requires 2 args'
+    sys.exit(1)
+  pp.pprint(client.get_tables(args[0],args[1],))
+
+elif cmd == 'get_schema':
+  if len(args) != 1:
+    print 'get_schema requires 1 args'
+    sys.exit(1)
+  pp.pprint(client.get_schema(args[0],))
+
+elif cmd == 'alter_table':
+  if len(args) != 3:
+    print 'alter_table requires 3 args'
+    sys.exit(1)
+  pp.pprint(client.alter_table(args[0],args[1],eval(args[2]),))
+
+elif cmd == 'create_table':
+  if len(args) != 3:
+    print 'create_table requires 3 args'
+    sys.exit(1)
+  pp.pprint(client.create_table(args[0],args[1],eval(args[2]),))
+
+elif cmd == 'drop_table':
+  if len(args) != 2:
+    print 'drop_table requires 2 args'
+    sys.exit(1)
+  pp.pprint(client.drop_table(args[0],args[1],))
+
+elif cmd == 'truncate_table':
+  if len(args) != 3:
+    print 'truncate_table requires 3 args'
+    sys.exit(1)
+  pp.pprint(client.truncate_table(args[0],args[1],args[2],))
+
+elif cmd == 'table_exists':
+  if len(args) != 2:
+    print 'table_exists requires 2 args'
+    sys.exit(1)
+  pp.pprint(client.table_exists(args[0],args[1],))
+
+elif cmd == 'get_partitions':
+  if len(args) != 2:
+    print 'get_partitions requires 2 args'
+    sys.exit(1)
+  pp.pprint(client.get_partitions(args[0],args[1],))
+
+elif cmd == 'get_dbs':
+  if len(args) != 0:
+    print 'get_dbs requires 0 args'
+    sys.exit(1)
+  pp.pprint(client.get_dbs())
+
+elif cmd == 'cat':
+  if len(args) != 4:
+    print 'cat requires 4 args'
+    sys.exit(1)
+  pp.pprint(client.cat(args[0],args[1],args[2],eval(args[3]),))
+
+transport.close()

Added: hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore.py
URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore.py?rev=695679&view=auto
==============================================================================
--- hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore.py (added)
+++ hadoop/core/trunk/src/contrib/hive/metastore/src/gen-py/hive_metastore/ThriftMetaStore.py Mon Sep 15 15:55:43 2008
@@ -0,0 +1,2333 @@
+#
+# Autogenerated by Thrift
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+
+from thrift.Thrift import *
+import fb303.FacebookService
+from ttypes import *
+from thrift.Thrift import TProcessor
+from thrift.transport import TTransport
+from thrift.protocol import TBinaryProtocol
+try:
+  from thrift.protocol import fastbinary
+except:
+  fastbinary = None
+
+
+class Iface(fb303.FacebookService.Iface):
+  def get_fields(self, db_name, table_name):
+    pass
+
+  def get_tables(self, db_name, pattern):
+    pass
+
+  def get_schema(self, table_name):
+    pass
+
+  def alter_table(self, db_name, table_name, schema):
+    pass
+
+  def create_table(self, db_name, table_name, schema):
+    pass
+
+  def drop_table(self, db_name, table_name):
+    pass
+
+  def truncate_table(self, db_name, table_name, partition):
+    pass
+
+  def table_exists(self, db_name, table_name):
+    pass
+
+  def get_partitions(self, db_name, table_name):
+    pass
+
+  def get_dbs(self, ):
+    pass
+
+  def cat(self, db_name, table_name, partition, high):
+    pass
+
+
+class Client(fb303.FacebookService.Client, Iface):
+  def __init__(self, iprot, oprot=None):
+    fb303.FacebookService.Client.__init__(self, iprot, oprot)
+
+  def get_fields(self, db_name, table_name):
+    self.send_get_fields(db_name, table_name)
+    return self.recv_get_fields()
+
+  def send_get_fields(self, db_name, table_name):
+    self._oprot.writeMessageBegin('get_fields', TMessageType.CALL, self._seqid)
+    args = get_fields_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_get_fields(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = get_fields_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_fields failed: unknown result");
+
+  def get_tables(self, db_name, pattern):
+    self.send_get_tables(db_name, pattern)
+    return self.recv_get_tables()
+
+  def send_get_tables(self, db_name, pattern):
+    self._oprot.writeMessageBegin('get_tables', TMessageType.CALL, self._seqid)
+    args = get_tables_args()
+    args.db_name = db_name
+    args.pattern = pattern
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_get_tables(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = get_tables_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_tables failed: unknown result");
+
+  def get_schema(self, table_name):
+    self.send_get_schema(table_name)
+    return self.recv_get_schema()
+
+  def send_get_schema(self, table_name):
+    self._oprot.writeMessageBegin('get_schema', TMessageType.CALL, self._seqid)
+    args = get_schema_args()
+    args.table_name = table_name
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_get_schema(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = get_schema_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_schema failed: unknown result");
+
+  def alter_table(self, db_name, table_name, schema):
+    self.send_alter_table(db_name, table_name, schema)
+    self.recv_alter_table()
+
+  def send_alter_table(self, db_name, table_name, schema):
+    self._oprot.writeMessageBegin('alter_table', TMessageType.CALL, self._seqid)
+    args = alter_table_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.schema = schema
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_alter_table(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = alter_table_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    return
+
+  def create_table(self, db_name, table_name, schema):
+    self.send_create_table(db_name, table_name, schema)
+    self.recv_create_table()
+
+  def send_create_table(self, db_name, table_name, schema):
+    self._oprot.writeMessageBegin('create_table', TMessageType.CALL, self._seqid)
+    args = create_table_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.schema = schema
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_create_table(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = create_table_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    return
+
+  def drop_table(self, db_name, table_name):
+    self.send_drop_table(db_name, table_name)
+    self.recv_drop_table()
+
+  def send_drop_table(self, db_name, table_name):
+    self._oprot.writeMessageBegin('drop_table', TMessageType.CALL, self._seqid)
+    args = drop_table_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_drop_table(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = drop_table_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    return
+
+  def truncate_table(self, db_name, table_name, partition):
+    self.send_truncate_table(db_name, table_name, partition)
+    self.recv_truncate_table()
+
+  def send_truncate_table(self, db_name, table_name, partition):
+    self._oprot.writeMessageBegin('truncate_table', TMessageType.CALL, self._seqid)
+    args = truncate_table_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.partition = partition
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_truncate_table(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = truncate_table_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    return
+
+  def table_exists(self, db_name, table_name):
+    self.send_table_exists(db_name, table_name)
+    return self.recv_table_exists()
+
+  def send_table_exists(self, db_name, table_name):
+    self._oprot.writeMessageBegin('table_exists', TMessageType.CALL, self._seqid)
+    args = table_exists_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_table_exists(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = table_exists_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "table_exists failed: unknown result");
+
+  def get_partitions(self, db_name, table_name):
+    self.send_get_partitions(db_name, table_name)
+    return self.recv_get_partitions()
+
+  def send_get_partitions(self, db_name, table_name):
+    self._oprot.writeMessageBegin('get_partitions', TMessageType.CALL, self._seqid)
+    args = get_partitions_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_get_partitions(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = get_partitions_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_partitions failed: unknown result");
+
+  def get_dbs(self, ):
+    self.send_get_dbs()
+    return self.recv_get_dbs()
+
+  def send_get_dbs(self, ):
+    self._oprot.writeMessageBegin('get_dbs', TMessageType.CALL, self._seqid)
+    args = get_dbs_args()
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_get_dbs(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = get_dbs_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch != None:
+      raise result.ouch
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "get_dbs failed: unknown result");
+
+  def cat(self, db_name, table_name, partition, high):
+    self.send_cat(db_name, table_name, partition, high)
+    return self.recv_cat()
+
+  def send_cat(self, db_name, table_name, partition, high):
+    self._oprot.writeMessageBegin('cat', TMessageType.CALL, self._seqid)
+    args = cat_args()
+    args.db_name = db_name
+    args.table_name = table_name
+    args.partition = partition
+    args.high = high
+    args.write(self._oprot)
+    self._oprot.writeMessageEnd()
+    self._oprot.trans.flush()
+
+  def recv_cat(self, ):
+    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+    if mtype == TMessageType.EXCEPTION:
+      x = TApplicationException()
+      x.read(self._iprot)
+      self._iprot.readMessageEnd()
+      raise x
+    result = cat_result()
+    result.read(self._iprot)
+    self._iprot.readMessageEnd()
+    if result.success != None:
+      return result.success
+    if result.ouch1 != None:
+      raise result.ouch1
+    if result.ouch2 != None:
+      raise result.ouch2
+    if result.ouch3 != None:
+      raise result.ouch3
+    raise TApplicationException(TApplicationException.MISSING_RESULT, "cat failed: unknown result");
+
+
+class Processor(fb303.FacebookService.Processor, Iface, TProcessor):
+  def __init__(self, handler):
+    fb303.FacebookService.Processor.__init__(self, handler)
+    self._processMap["get_fields"] = Processor.process_get_fields
+    self._processMap["get_tables"] = Processor.process_get_tables
+    self._processMap["get_schema"] = Processor.process_get_schema
+    self._processMap["alter_table"] = Processor.process_alter_table
+    self._processMap["create_table"] = Processor.process_create_table
+    self._processMap["drop_table"] = Processor.process_drop_table
+    self._processMap["truncate_table"] = Processor.process_truncate_table
+    self._processMap["table_exists"] = Processor.process_table_exists
+    self._processMap["get_partitions"] = Processor.process_get_partitions
+    self._processMap["get_dbs"] = Processor.process_get_dbs
+    self._processMap["cat"] = Processor.process_cat
+
+  def process(self, iprot, oprot):
+    (name, type, seqid) = iprot.readMessageBegin()
+    if name not in self._processMap:
+      iprot.skip(TType.STRUCT)
+      iprot.readMessageEnd()
+      x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name))
+      oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid)
+      x.write(oprot)
+      oprot.writeMessageEnd()
+      oprot.trans.flush()
+      return
+    else:
+      self._processMap[name](self, seqid, iprot, oprot)
+    return True
+
+  def process_get_fields(self, seqid, iprot, oprot):
+    args = get_fields_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = get_fields_result()
+    try:
+      result.success = self._handler.get_fields(args.db_name, args.table_name)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("get_fields", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_get_tables(self, seqid, iprot, oprot):
+    args = get_tables_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = get_tables_result()
+    try:
+      result.success = self._handler.get_tables(args.db_name, args.pattern)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("get_tables", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_get_schema(self, seqid, iprot, oprot):
+    args = get_schema_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = get_schema_result()
+    try:
+      result.success = self._handler.get_schema(args.table_name)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("get_schema", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_alter_table(self, seqid, iprot, oprot):
+    args = alter_table_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = alter_table_result()
+    try:
+      self._handler.alter_table(args.db_name, args.table_name, args.schema)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("alter_table", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_create_table(self, seqid, iprot, oprot):
+    args = create_table_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = create_table_result()
+    try:
+      self._handler.create_table(args.db_name, args.table_name, args.schema)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownDBException, ouch2:
+      result.ouch2 = ouch2
+    oprot.writeMessageBegin("create_table", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_drop_table(self, seqid, iprot, oprot):
+    args = drop_table_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = drop_table_result()
+    try:
+      self._handler.drop_table(args.db_name, args.table_name)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("drop_table", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_truncate_table(self, seqid, iprot, oprot):
+    args = truncate_table_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = truncate_table_result()
+    try:
+      self._handler.truncate_table(args.db_name, args.table_name, args.partition)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("truncate_table", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_table_exists(self, seqid, iprot, oprot):
+    args = table_exists_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = table_exists_result()
+    try:
+      result.success = self._handler.table_exists(args.db_name, args.table_name)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownDBException, ouch2:
+      result.ouch2 = ouch2
+    oprot.writeMessageBegin("table_exists", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_get_partitions(self, seqid, iprot, oprot):
+    args = get_partitions_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = get_partitions_result()
+    try:
+      result.success = self._handler.get_partitions(args.db_name, args.table_name)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownTableException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownDBException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("get_partitions", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_get_dbs(self, seqid, iprot, oprot):
+    args = get_dbs_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = get_dbs_result()
+    try:
+      result.success = self._handler.get_dbs()
+    except MetaException, ouch:
+      result.ouch = ouch
+    oprot.writeMessageBegin("get_dbs", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+  def process_cat(self, seqid, iprot, oprot):
+    args = cat_args()
+    args.read(iprot)
+    iprot.readMessageEnd()
+    result = cat_result()
+    try:
+      result.success = self._handler.cat(args.db_name, args.table_name, args.partition, args.high)
+    except MetaException, ouch1:
+      result.ouch1 = ouch1
+    except UnknownDBException, ouch2:
+      result.ouch2 = ouch2
+    except UnknownTableException, ouch3:
+      result.ouch3 = ouch3
+    oprot.writeMessageBegin("cat", TMessageType.REPLY, seqid)
+    result.write(oprot)
+    oprot.writeMessageEnd()
+    oprot.trans.flush()
+
+
+# HELPER FUNCTIONS AND STRUCTURES
+
+class get_fields_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = 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('get_fields_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_fields_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype178, _size175) = iprot.readListBegin()
+          for _i179 in xrange(_size175):
+            _elem180 = FieldSchema()
+            _elem180.read(iprot)
+            self.success.append(_elem180)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('get_fields_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRUCT, len(self.success))
+      for iter181 in self.success:
+        iter181.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -3)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -4)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -5)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_tables_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.pattern = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'pattern' in d:
+        self.pattern = d['pattern']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.pattern = 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('get_tables_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.pattern != None:
+      oprot.writeFieldBegin('pattern', TType.STRING, -2)
+      oprot.writeString(self.pattern)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_tables_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype185, _size182) = iprot.readListBegin()
+          for _i186 in xrange(_size182):
+            _elem187 = iprot.readString();
+            self.success.append(_elem187)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('get_tables_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRING, len(self.success))
+      for iter188 in self.success:
+        oprot.writeString(iter188)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -3)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -4)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -5)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_schema_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.table_name = None
+    if isinstance(d, dict):
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+
+  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.table_name = 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('get_schema_args')
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -1)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_schema_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.MAP:
+          self.success = {}
+          (_ktype190, _vtype191, _size189 ) = iprot.readMapBegin() 
+          for _i193 in xrange(_size189):
+            _key194 = iprot.readString();
+            _val195 = iprot.readString();
+            self.success[_key194] = _val195
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('get_schema_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.MAP, 0)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success))
+      for kiter196,viter197 in self.success.items():
+        oprot.writeString(kiter196)
+        oprot.writeString(viter197)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -2)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -3)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -4)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class alter_table_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    self.schema = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+      if 'schema' in d:
+        self.schema = d['schema']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.MAP:
+          self.schema = {}
+          (_ktype199, _vtype200, _size198 ) = iprot.readMapBegin() 
+          for _i202 in xrange(_size198):
+            _key203 = iprot.readString();
+            _val204 = iprot.readString();
+            self.schema[_key203] = _val204
+          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('alter_table_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    if self.schema != None:
+      oprot.writeFieldBegin('schema', TType.MAP, -3)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.schema))
+      for kiter205,viter206 in self.schema.items():
+        oprot.writeString(kiter205)
+        oprot.writeString(viter206)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class alter_table_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  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 == -4:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -6:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('alter_table_result')
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -4)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -5)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -6)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class create_table_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    self.schema = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+      if 'schema' in d:
+        self.schema = d['schema']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.MAP:
+          self.schema = {}
+          (_ktype208, _vtype209, _size207 ) = iprot.readMapBegin() 
+          for _i211 in xrange(_size207):
+            _key212 = iprot.readString();
+            _val213 = iprot.readString();
+            self.schema[_key212] = _val213
+          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('create_table_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    if self.schema != None:
+      oprot.writeFieldBegin('schema', TType.MAP, -3)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.schema))
+      for kiter214,viter215 in self.schema.items():
+        oprot.writeString(kiter214)
+        oprot.writeString(viter215)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class create_table_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.ouch1 = None
+    self.ouch2 = None
+    if isinstance(d, dict):
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+
+  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 == -4:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownDBException()
+          self.ouch2.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('create_table_result')
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -4)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -5)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class drop_table_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = 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('drop_table_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class drop_table_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  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 == -3:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('drop_table_result')
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -3)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -4)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -5)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class truncate_table_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    self.partition = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+      if 'partition' in d:
+        self.partition = d['partition']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRING:
+          self.partition = 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('truncate_table_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    if self.partition != None:
+      oprot.writeFieldBegin('partition', TType.STRING, -3)
+      oprot.writeString(self.partition)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class truncate_table_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  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 == -4:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -6:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('truncate_table_result')
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -4)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -5)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -6)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class table_exists_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = 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('table_exists_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class table_exists_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch1 = None
+    self.ouch2 = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.BOOL:
+          self.success = iprot.readBool();
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownDBException()
+          self.ouch2.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('table_exists_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.BOOL, 0)
+      oprot.writeBool(self.success)
+      oprot.writeFieldEnd()
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -3)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -4)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_partitions_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = 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('get_partitions_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_partitions_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype219, _size216) = iprot.readListBegin()
+          for _i220 in xrange(_size216):
+            _elem221 = iprot.readString();
+            self.success.append(_elem221)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownTableException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownDBException()
+          self.ouch3.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('get_partitions_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRING, len(self.success))
+      for iter222 in self.success:
+        oprot.writeString(iter222)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -3)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -4)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -5)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_dbs_args:
+
+  thrift_spec = (
+  )
+
+  def __init__(self, d=None):
+    pass
+
+  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
+      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('get_dbs_args')
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class get_dbs_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch' in d:
+        self.ouch = d['ouch']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype226, _size223) = iprot.readListBegin()
+          for _i227 in xrange(_size223):
+            _elem228 = iprot.readString();
+            self.success.append(_elem228)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == -1:
+        if ftype == TType.STRUCT:
+          self.ouch = MetaException()
+          self.ouch.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('get_dbs_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRING, len(self.success))
+      for iter229 in self.success:
+        oprot.writeString(iter229)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.ouch != None:
+      oprot.writeFieldBegin('ouch', TType.STRUCT, -1)
+      self.ouch.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class cat_args:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.db_name = None
+    self.table_name = None
+    self.partition = None
+    self.high = None
+    if isinstance(d, dict):
+      if 'db_name' in d:
+        self.db_name = d['db_name']
+      if 'table_name' in d:
+        self.table_name = d['table_name']
+      if 'partition' in d:
+        self.partition = d['partition']
+      if 'high' in d:
+        self.high = d['high']
+
+  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.db_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -2:
+        if ftype == TType.STRING:
+          self.table_name = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -3:
+        if ftype == TType.STRING:
+          self.partition = iprot.readString();
+        else:
+          iprot.skip(ftype)
+      elif fid == -4:
+        if ftype == TType.I32:
+          self.high = 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('cat_args')
+    if self.db_name != None:
+      oprot.writeFieldBegin('db_name', TType.STRING, -1)
+      oprot.writeString(self.db_name)
+      oprot.writeFieldEnd()
+    if self.table_name != None:
+      oprot.writeFieldBegin('table_name', TType.STRING, -2)
+      oprot.writeString(self.table_name)
+      oprot.writeFieldEnd()
+    if self.partition != None:
+      oprot.writeFieldBegin('partition', TType.STRING, -3)
+      oprot.writeString(self.partition)
+      oprot.writeFieldEnd()
+    if self.high != None:
+      oprot.writeFieldBegin('high', TType.I32, -4)
+      oprot.writeI32(self.high)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+class cat_result:
+
+  thrift_spec = None
+  def __init__(self, d=None):
+    self.success = None
+    self.ouch1 = None
+    self.ouch2 = None
+    self.ouch3 = None
+    if isinstance(d, dict):
+      if 'success' in d:
+        self.success = d['success']
+      if 'ouch1' in d:
+        self.ouch1 = d['ouch1']
+      if 'ouch2' in d:
+        self.ouch2 = d['ouch2']
+      if 'ouch3' in d:
+        self.ouch3 = d['ouch3']
+
+  def read(self, iprot):
+    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
+      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
+      return
+    iprot.readStructBegin()
+    while True:
+      (fname, ftype, fid) = iprot.readFieldBegin()
+      if ftype == TType.STOP:
+        break
+      if fid == 0:
+        if ftype == TType.LIST:
+          self.success = []
+          (_etype233, _size230) = iprot.readListBegin()
+          for _i234 in xrange(_size230):
+            _elem235 = iprot.readString();
+            self.success.append(_elem235)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == -5:
+        if ftype == TType.STRUCT:
+          self.ouch1 = MetaException()
+          self.ouch1.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -6:
+        if ftype == TType.STRUCT:
+          self.ouch2 = UnknownDBException()
+          self.ouch2.read(iprot)
+        else:
+          iprot.skip(ftype)
+      elif fid == -7:
+        if ftype == TType.STRUCT:
+          self.ouch3 = UnknownTableException()
+          self.ouch3.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('cat_result')
+    if self.success != None:
+      oprot.writeFieldBegin('success', TType.LIST, 0)
+      oprot.writeListBegin(TType.STRING, len(self.success))
+      for iter236 in self.success:
+        oprot.writeString(iter236)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
+    if self.ouch1 != None:
+      oprot.writeFieldBegin('ouch1', TType.STRUCT, -5)
+      self.ouch1.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch2 != None:
+      oprot.writeFieldBegin('ouch2', TType.STRUCT, -6)
+      self.ouch2.write(oprot)
+      oprot.writeFieldEnd()
+    if self.ouch3 != None:
+      oprot.writeFieldBegin('ouch3', TType.STRUCT, -7)
+      self.ouch3.write(oprot)
+      oprot.writeFieldEnd()
+    oprot.writeFieldStop()
+    oprot.writeStructEnd()
+
+  def __str__(self): 
+    return str(self.__dict__)
+
+  def __repr__(self): 
+    return repr(self.__dict__)
+
+  def __eq__(self, other):
+    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
+
+  def __ne__(self, other):
+    return not (self == other)
+
+