original_string: public function concat()
      {
          $args = func_get_args();
          $cols = ezcQuerySelect::arrayFlatten( $args );
  
          if ( count( $cols ) < 1 )
          {
              throw new ezcQueryVariableParameterException( 'concat', count( $args ), 1 );
          }
  
          $cols = $this->getIdentifiers( $cols );
          return join( ' + ', $cols );
      }
code: public function concat()
      {
          $args = func_get_args();
          $cols = ezcQuerySelect::arrayFlatten( $args );
  
          if ( count( $cols ) < 1 )
          {
              throw new ezcQueryVariableParameterException( 'concat', count( $args ), 1 );
          }
  
          $cols = $this->getIdentifiers( $cols );
          return join( ' + ', $cols );
      }
code_tokens: public function concat ( ) { $ args = func_get_args ( ) ; $ cols = ezcQuerySelect :: arrayFlatten ( $ args ) ; if ( count ( $ cols ) < 1 ) { throw new ezcQueryVariableParameterException ( 'concat' , count ( $ args ) , 1 ) ; } $ cols = $ this -> getIdentifiers ( $ cols ) ; return join ( ' + ' , $ cols ) ; }
docstring: Returns a series of strings concatinated
  
  concat() accepts an arbitrary number of parameters. Each parameter
  must contain an expression or an array with expressions.
  
  @param string|array(string) $... strings that will be concatinated.
docstring_tokens: Returns a series of strings concatinated