original_string: protected function processSchema( array $tables )
      {
          $schemaDefinition = array();
          array_walk( $tables, create_function( '&$item,$key', '$item = $item[0];' ) );
  
          // strip out the prefix and only return tables with the prefix set.
          $prefix = ezcDbSchema::$options->tableNamePrefix;
  
          foreach ( $tables as $tableName )
          {
              $tableNameWithoutPrefix = substr( $tableName, strlen( $prefix ) );
              // Process table if there was no prefix, or when a prefix was
              // found. In the latter case the prefix would be missing from
              // $tableNameWithoutPrefix due to the substr() above, and hence,
              // $tableName and $tableNameWithoutPrefix would be different.
              if ( $prefix === '' || $tableName !== $tableNameWithoutPrefix )
              {
                  $fields  = $this->fetchTableFields( $tableName );
                  $indexes = $this->fetchTableIndexes( $tableName );
  
                  $schemaDefinition[$tableNameWithoutPrefix] = ezcDbSchema::createNewTable( $fields, $indexes );
              }
          }
  
          return $schemaDefinition;
      }
code: protected function processSchema( array $tables )
      {
          $schemaDefinition = array();
          array_walk( $tables, create_function( '&$item,$key', '$item = $item[0];' ) );
  
          // strip out the prefix and only return tables with the prefix set.
          $prefix = ezcDbSchema::$options->tableNamePrefix;
  
          foreach ( $tables as $tableName )
          {
              $tableNameWithoutPrefix = substr( $tableName, strlen( $prefix ) );
              // Process table if there was no prefix, or when a prefix was
              // found. In the latter case the prefix would be missing from
              // $tableNameWithoutPrefix due to the substr() above, and hence,
              // $tableName and $tableNameWithoutPrefix would be different.
              if ( $prefix === '' || $tableName !== $tableNameWithoutPrefix )
              {
                  $fields  = $this->fetchTableFields( $tableName );
                  $indexes = $this->fetchTableIndexes( $tableName );
  
                  $schemaDefinition[$tableNameWithoutPrefix] = ezcDbSchema::createNewTable( $fields, $indexes );
              }
          }
  
          return $schemaDefinition;
      }
code_tokens: protected function processSchema ( array $ tables ) { $ schemaDefinition = array ( ) ; array_walk ( $ tables , create_function ( '&$item,$key' , '$item = $item[0];' ) ) ; // strip out the prefix and only return tables with the prefix set. $ prefix = ezcDbSchema :: $ options -> tableNamePrefix ; foreach ( $ tables as $ tableName ) { $ tableNameWithoutPrefix = substr ( $ tableName , strlen ( $ prefix ) ) ; // Process table if there was no prefix, or when a prefix was // found. In the latter case the prefix would be missing from // $tableNameWithoutPrefix due to the substr() above, and hence, // $tableName and $tableNameWithoutPrefix would be different. if ( $ prefix === '' || $ tableName !== $ tableNameWithoutPrefix ) { $ fields = $ this -> fetchTableFields ( $ tableName ) ; $ indexes = $ this -> fetchTableIndexes ( $ tableName ) ; $ schemaDefinition [ $ tableNameWithoutPrefix ] = ezcDbSchema :: createNewTable ( $ fields , $ indexes ) ; } } return $ schemaDefinition ; }
docstring: Loops over all the table names in the array and extracts schema
  information.
  
  This method extracts information about a database's schema from the
  database itself and returns this schema as an ezcDbSchema object.
  
  @param array(string) $tables
  @return ezcDbSchema
docstring_tokens: Loops over all the table names in the array and extracts schema information .