original_string: protected function processSelect(
          PlatformInterface $platform,
          DriverInterface $driver = null,
          ParameterContainer $parameterContainer = null
      ) {
          $expr = 1;
  
          // process table columns
          $columns = [];
          foreach ($this->columns as $columnIndexOrAs => $column) {
  
              $colName = '';
              if ($column === self::SQL_STAR) {
                  $columns[] = [self::SQL_STAR]; // Sphinx doesn't not support prefix column with table, yet
                  continue;
              }
  
              if ($column instanceof Expression) {
                  $columnParts = $this->processExpression(
                      $column,
                      $platform,
                      $driver,
                      $parameterContainer,
                      $this->processInfo['paramPrefix'] . ((is_string($columnIndexOrAs)) ? $columnIndexOrAs : 'column')
                  );
                  $colName .= $columnParts;
              } else {
                  // Sphinx doesn't not support prefix column with table, yet
                  $colName .= $platform->quoteIdentifier($column);
              }
  
              // process As portion
              $columnAs = null;
              if (is_string($columnIndexOrAs)) {
                  $columnAs = $columnIndexOrAs;
              } elseif (stripos($colName, ' as ') === false && !is_string($column)) {
                  $columnAs = 'Expression' . $expr++;
              }
  
              $columns[] = isset($columnAs) ? [$colName, $platform->quoteIdentifier($columnAs)] : [$colName];
          }
  
          if ($this->table) {
              $tableList = $this->table;
  
              if (is_string($tableList) && strpos($tableList, ',') !== false) {
                  $tableList = preg_split('#,\s+#', $tableList);
              } elseif (!is_array($tableList)) {
                  $tableList = [$tableList];
              }
  
              foreach ($tableList as &$table) {
  
                  // create quoted table name to use in FROM clause
                  if ($table instanceof Select) {
                      $table = '(' . $this->processSubselect($table, $platform, $driver, $parameterContainer) . ')';
                  } else {
                      $table = $platform->quoteIdentifier($table);
                  }
              }
  
              $tableList = implode(', ', $tableList);
  
              return [$columns, $tableList];
          }
  
          return [$columns];
      }
code: protected function processSelect(
          PlatformInterface $platform,
          DriverInterface $driver = null,
          ParameterContainer $parameterContainer = null
      ) {
          $expr = 1;
  
          // process table columns
          $columns = [];
          foreach ($this->columns as $columnIndexOrAs => $column) {
  
              $colName = '';
              if ($column === self::SQL_STAR) {
                  $columns[] = [self::SQL_STAR]; // Sphinx doesn't not support prefix column with table, yet
                  continue;
              }
  
              if ($column instanceof Expression) {
                  $columnParts = $this->processExpression(
                      $column,
                      $platform,
                      $driver,
                      $parameterContainer,
                      $this->processInfo['paramPrefix'] . ((is_string($columnIndexOrAs)) ? $columnIndexOrAs : 'column')
                  );
                  $colName .= $columnParts;
              } else {
                  // Sphinx doesn't not support prefix column with table, yet
                  $colName .= $platform->quoteIdentifier($column);
              }
  
              // process As portion
              $columnAs = null;
              if (is_string($columnIndexOrAs)) {
                  $columnAs = $columnIndexOrAs;
              } elseif (stripos($colName, ' as ') === false && !is_string($column)) {
                  $columnAs = 'Expression' . $expr++;
              }
  
              $columns[] = isset($columnAs) ? [$colName, $platform->quoteIdentifier($columnAs)] : [$colName];
          }
  
          if ($this->table) {
              $tableList = $this->table;
  
              if (is_string($tableList) && strpos($tableList, ',') !== false) {
                  $tableList = preg_split('#,\s+#', $tableList);
              } elseif (!is_array($tableList)) {
                  $tableList = [$tableList];
              }
  
              foreach ($tableList as &$table) {
  
                  // create quoted table name to use in FROM clause
                  if ($table instanceof Select) {
                      $table = '(' . $this->processSubselect($table, $platform, $driver, $parameterContainer) . ')';
                  } else {
                      $table = $platform->quoteIdentifier($table);
                  }
              }
  
              $tableList = implode(', ', $tableList);
  
              return [$columns, $tableList];
          }
  
          return [$columns];
      }
code_tokens: protected function processSelect ( PlatformInterface $ platform , DriverInterface $ driver = null , ParameterContainer $ parameterContainer = null ) { $ expr = 1 ; // process table columns $ columns = [ ] ; foreach ( $ this -> columns as $ columnIndexOrAs => $ column ) { $ colName = '' ; if ( $ column === self :: SQL_STAR ) { $ columns [ ] = [ self :: SQL_STAR ] ; // Sphinx doesn't not support prefix column with table, yet continue ; } if ( $ column instanceof Expression ) { $ columnParts = $ this -> processExpression ( $ column , $ platform , $ driver , $ parameterContainer , $ this -> processInfo [ 'paramPrefix' ] . ( ( is_string ( $ columnIndexOrAs ) ) ? $ columnIndexOrAs : 'column' ) ) ; $ colName .= $ columnParts ; } else { // Sphinx doesn't not support prefix column with table, yet $ colName .= $ platform -> quoteIdentifier ( $ column ) ; } // process As portion $ columnAs = null ; if ( is_string ( $ columnIndexOrAs ) ) { $ columnAs = $ columnIndexOrAs ; } elseif ( stripos ( $ colName , ' as ' ) === false && ! is_string ( $ column ) ) { $ columnAs = 'Expression' . $ expr ++ ; } $ columns [ ] = isset ( $ columnAs ) ? [ $ colName , $ platform -> quoteIdentifier ( $ columnAs ) ] : [ $ colName ] ; } if ( $ this -> table ) { $ tableList = $ this -> table ; if ( is_string ( $ tableList ) && strpos ( $ tableList , ',' ) !== false ) { $ tableList = preg_split ( '#,\s+#' , $ tableList ) ; } elseif ( ! is_array ( $ tableList ) ) { $ tableList = [ $ tableList ] ; } foreach ( $ tableList as & $ table ) { // create quoted table name to use in FROM clause if ( $ table instanceof Select ) { $ table = '(' . $ this -> processSubselect ( $ table , $ platform , $ driver , $ parameterContainer ) . ')' ; } else { $ table = $ platform -> quoteIdentifier ( $ table ) ; } } $ tableList = implode ( ', ' , $ tableList ) ; return [ $ columns , $ tableList ] ; } return [ $ columns ] ; }
docstring: Process the select part
  
  @param  PlatformInterface $platform
  @param  DriverInterface $driver
  @param  ParameterContainer $parameterContainer
  @return null|array
docstring_tokens: Process the select part