public function __construct($vals = null)
 {
     if (!isset(self::$_TSPEC)) {
         self::$_TSPEC = array(1 => array('var' => 'o1', 'type' => TType::STRUCT, 'class' => 'metastore_NoSuchObjectException'), 2 => array('var' => 'o3', 'type' => TType::STRUCT, 'class' => 'metastore_MetaException'));
     }
     if (is_array($vals)) {
         if (isset($vals['o1'])) {
             $this->o1 = $vals['o1'];
         }
         if (isset($vals['o3'])) {
             $this->o3 = $vals['o3'];
         }
     }
 }
 protected function process_drop_table($seqid, $input, $output)
 {
     $args = new metastore_ThriftHiveMetastore_drop_table_args();
     $args->read($input);
     $input->readMessageEnd();
     $result = new metastore_ThriftHiveMetastore_drop_table_result();
     try {
         $this->handler_->drop_table($args->dbname, $args->name, $args->deleteData);
     } catch (metastore_NoSuchObjectException $o1) {
         $result->o1 = $o1;
     } catch (metastore_MetaException $ouch3) {
         $result->ouch3 = $ouch3;
     }
     $output->writeMessageBegin('drop_table', TMessageType::REPLY, $seqid);
     $result->write($output);
     $output->getTransport()->flush();
 }