public function __construct($vals = null)
 {
     if (!isset(self::$_TSPEC)) {
         self::$_TSPEC = array(1 => array('var' => 'new_part', 'type' => TType::STRUCT, 'class' => 'metastore_Partition'));
     }
     if (is_array($vals)) {
         if (isset($vals['new_part'])) {
             $this->new_part = $vals['new_part'];
         }
     }
 }
 protected function process_add_partition($seqid, $input, $output)
 {
     $args = new metastore_ThriftHiveMetastore_add_partition_args();
     $args->read($input);
     $input->readMessageEnd();
     $result = new metastore_ThriftHiveMetastore_add_partition_result();
     try {
         $result->success = $this->handler_->add_partition($args->new_part);
     } catch (metastore_InvalidObjectException $o1) {
         $result->o1 = $o1;
     } catch (metastore_AlreadyExistsException $o2) {
         $result->o2 = $o2;
     } catch (metastore_MetaException $o3) {
         $result->o3 = $o3;
     }
     $output->writeMessageBegin('add_partition', TMessageType::REPLY, $seqid);
     $result->write($output);
     $output->getTransport()->flush();
 }