public function __construct($vals = null)
 {
     if (!isset(self::$_TSPEC)) {
         self::$_TSPEC = array(1 => array('var' => 'dbname', 'type' => TType::STRING), 2 => array('var' => 'tbl_name', 'type' => TType::STRING), 3 => array('var' => 'new_tbl', 'type' => TType::STRUCT, 'class' => 'metastore_Table'));
     }
     if (is_array($vals)) {
         if (isset($vals['dbname'])) {
             $this->dbname = $vals['dbname'];
         }
         if (isset($vals['tbl_name'])) {
             $this->tbl_name = $vals['tbl_name'];
         }
         if (isset($vals['new_tbl'])) {
             $this->new_tbl = $vals['new_tbl'];
         }
     }
 }
 protected function process_alter_table($seqid, $input, $output)
 {
     $args = new metastore_ThriftHiveMetastore_alter_table_args();
     $args->read($input);
     $input->readMessageEnd();
     $result = new metastore_ThriftHiveMetastore_alter_table_result();
     try {
         $this->handler_->alter_table($args->dbname, $args->tbl_name, $args->new_tbl);
     } catch (metastore_InvalidOperationException $o1) {
         $result->o1 = $o1;
     } catch (metastore_MetaException $o2) {
         $result->o2 = $o2;
     }
     $output->writeMessageBegin('alter_table', TMessageType::REPLY, $seqid);
     $result->write($output);
     $output->getTransport()->flush();
 }