public function __construct($vals = null)
 {
     if (!isset(self::$_TSPEC)) {
         self::$_TSPEC = array(1 => array('var' => 'db_name', 'type' => TType::STRING), 2 => array('var' => 'tbl_name', 'type' => TType::STRING), 3 => array('var' => 'part_vals', 'type' => TType::LST, 'etype' => TType::STRING, 'elem' => array('type' => TType::STRING)), 4 => array('var' => 'deleteData', 'type' => TType::BOOL));
     }
     if (is_array($vals)) {
         if (isset($vals['db_name'])) {
             $this->db_name = $vals['db_name'];
         }
         if (isset($vals['tbl_name'])) {
             $this->tbl_name = $vals['tbl_name'];
         }
         if (isset($vals['part_vals'])) {
             $this->part_vals = $vals['part_vals'];
         }
         if (isset($vals['deleteData'])) {
             $this->deleteData = $vals['deleteData'];
         }
     }
 }
 protected function process_drop_partition($seqid, $input, $output)
 {
     $args = new metastore_ThriftHiveMetastore_drop_partition_args();
     $args->read($input);
     $input->readMessageEnd();
     $result = new metastore_ThriftHiveMetastore_drop_partition_result();
     try {
         $result->success = $this->handler_->drop_partition($args->db_name, $args->tbl_name, $args->part_vals, $args->deleteData);
     } catch (metastore_NoSuchObjectException $o1) {
         $result->o1 = $o1;
     } catch (metastore_MetaException $o2) {
         $result->o2 = $o2;
     }
     $output->writeMessageBegin('drop_partition', TMessageType::REPLY, $seqid);
     $result->write($output);
     $output->getTransport()->flush();
 }