public function read($input)
 {
     $xfer = 0;
     $fname = null;
     $ftype = 0;
     $fid = 0;
     $xfer += $input->readStructBegin($fname);
     while (true) {
         $xfer += $input->readFieldBegin($fname, $ftype, $fid);
         if ($ftype == TType::STOP) {
             break;
         }
         switch ($fid) {
             case 0:
                 if ($ftype == TType::LST) {
                     $this->success = array();
                     $_size360 = 0;
                     $_etype363 = 0;
                     $xfer += $input->readListBegin($_etype363, $_size360);
                     for ($_i364 = 0; $_i364 < $_size360; ++$_i364) {
                         $elem365 = null;
                         $elem365 = new metastore_Index();
                         $xfer += $elem365->read($input);
                         $this->success[] = $elem365;
                     }
                     $xfer += $input->readListEnd();
                 } else {
                     $xfer += $input->skip($ftype);
                 }
                 break;
             case 1:
                 if ($ftype == TType::STRUCT) {
                     $this->o1 = new metastore_NoSuchObjectException();
                     $xfer += $this->o1->read($input);
                 } else {
                     $xfer += $input->skip($ftype);
                 }
                 break;
             case 2:
                 if ($ftype == TType::STRUCT) {
                     $this->o2 = new metastore_MetaException();
                     $xfer += $this->o2->read($input);
                 } else {
                     $xfer += $input->skip($ftype);
                 }
                 break;
             default:
                 $xfer += $input->skip($ftype);
                 break;
         }
         $xfer += $input->readFieldEnd();
     }
     $xfer += $input->readStructEnd();
     return $xfer;
 }
 public function __construct($vals = null)
 {
     if (!isset(self::$_TSPEC)) {
         self::$_TSPEC = array(1 => array('var' => 'indexName', 'type' => TType::STRING), 2 => array('var' => 'indexType', 'type' => TType::I32), 3 => array('var' => 'tableName', 'type' => TType::STRING), 4 => array('var' => 'dbName', 'type' => TType::STRING), 5 => array('var' => 'colNames', 'type' => TType::LST, 'etype' => TType::STRING, 'elem' => array('type' => TType::STRING)), 6 => array('var' => 'partName', 'type' => TType::STRING));
     }
     if (is_array($vals)) {
         if (isset($vals['indexName'])) {
             $this->indexName = $vals['indexName'];
         }
         if (isset($vals['indexType'])) {
             $this->indexType = $vals['indexType'];
         }
         if (isset($vals['tableName'])) {
             $this->tableName = $vals['tableName'];
         }
         if (isset($vals['dbName'])) {
             $this->dbName = $vals['dbName'];
         }
         if (isset($vals['colNames'])) {
             $this->colNames = $vals['colNames'];
         }
         if (isset($vals['partName'])) {
             $this->partName = $vals['partName'];
         }
     }
 }
 public function __construct($vals = null)
 {
     if (!isset(self::$_TSPEC)) {
         self::$_TSPEC = array(1 => array('var' => 'indexName', 'type' => TType::STRING), 2 => array('var' => 'indexHandlerClass', 'type' => TType::STRING), 3 => array('var' => 'dbName', 'type' => TType::STRING), 4 => array('var' => 'origTableName', 'type' => TType::STRING), 5 => array('var' => 'createTime', 'type' => TType::I32), 6 => array('var' => 'lastAccessTime', 'type' => TType::I32), 7 => array('var' => 'indexTableName', 'type' => TType::STRING), 8 => array('var' => 'sd', 'type' => TType::STRUCT, 'class' => 'metastore_StorageDescriptor'), 9 => array('var' => 'parameters', 'type' => TType::MAP, 'ktype' => TType::STRING, 'vtype' => TType::STRING, 'key' => array('type' => TType::STRING), 'val' => array('type' => TType::STRING)), 10 => array('var' => 'deferredRebuild', 'type' => TType::BOOL));
     }
     if (is_array($vals)) {
         if (isset($vals['indexName'])) {
             $this->indexName = $vals['indexName'];
         }
         if (isset($vals['indexHandlerClass'])) {
             $this->indexHandlerClass = $vals['indexHandlerClass'];
         }
         if (isset($vals['dbName'])) {
             $this->dbName = $vals['dbName'];
         }
         if (isset($vals['origTableName'])) {
             $this->origTableName = $vals['origTableName'];
         }
         if (isset($vals['createTime'])) {
             $this->createTime = $vals['createTime'];
         }
         if (isset($vals['lastAccessTime'])) {
             $this->lastAccessTime = $vals['lastAccessTime'];
         }
         if (isset($vals['indexTableName'])) {
             $this->indexTableName = $vals['indexTableName'];
         }
         if (isset($vals['sd'])) {
             $this->sd = $vals['sd'];
         }
         if (isset($vals['parameters'])) {
             $this->parameters = $vals['parameters'];
         }
         if (isset($vals['deferredRebuild'])) {
             $this->deferredRebuild = $vals['deferredRebuild'];
         }
     }
 }