original_string: public static function getFullSQL($query)
      {
          $sql = $query->getSql();
          $paramsList = self::getListParamsByDql($query->getDql());
          $paramsArr = self::getParamsArray($query->getParameters());
          $fullSql = '';
          for ($i = 0; $i < strlen($sql); $i++) {
              if ($sql[$i] == '?') {
                  $nameParam = array_shift($paramsList);
  
                  if (!isset($paramsArr[$nameParam])) {
                      $fullSql .= ':' . $nameParam;
                  } elseif (is_string($paramsArr[$nameParam])) {
                      $fullSql .= '"' . addslashes($paramsArr[$nameParam]) . '"';
                  } elseif (is_array($paramsArr[$nameParam])) {
                      $sqlArr = '';
                      foreach ($paramsArr[$nameParam] as $var) {
                          if (!empty($sqlArr))
                              $sqlArr .= ',';
  
                          if (is_string($var)) {
                              $sqlArr .= '"' . addslashes($var) . '"';
                          } else
                              $sqlArr .= $var;
                      }
                      $fullSql .= $sqlArr;
                  } elseif (is_object($paramsArr[$nameParam])) {
                      switch (get_class($paramsArr[$nameParam])) {
                          case 'DateTime':
                              $fullSql .= '\'' . $paramsArr[$nameParam]->format('Y-m-d H:i:s') . '\'';
                              break;
                          default:
                              $fullSql .= $paramsArr[$nameParam]->getId();
                      }
  
                  } else
                      $fullSql .= $paramsArr[$nameParam];
  
              } else {
                  $fullSql .= $sql[$i];
              }
          }
          return $fullSql;
      }
code: public static function getFullSQL($query)
      {
          $sql = $query->getSql();
          $paramsList = self::getListParamsByDql($query->getDql());
          $paramsArr = self::getParamsArray($query->getParameters());
          $fullSql = '';
          for ($i = 0; $i < strlen($sql); $i++) {
              if ($sql[$i] == '?') {
                  $nameParam = array_shift($paramsList);
  
                  if (!isset($paramsArr[$nameParam])) {
                      $fullSql .= ':' . $nameParam;
                  } elseif (is_string($paramsArr[$nameParam])) {
                      $fullSql .= '"' . addslashes($paramsArr[$nameParam]) . '"';
                  } elseif (is_array($paramsArr[$nameParam])) {
                      $sqlArr = '';
                      foreach ($paramsArr[$nameParam] as $var) {
                          if (!empty($sqlArr))
                              $sqlArr .= ',';
  
                          if (is_string($var)) {
                              $sqlArr .= '"' . addslashes($var) . '"';
                          } else
                              $sqlArr .= $var;
                      }
                      $fullSql .= $sqlArr;
                  } elseif (is_object($paramsArr[$nameParam])) {
                      switch (get_class($paramsArr[$nameParam])) {
                          case 'DateTime':
                              $fullSql .= '\'' . $paramsArr[$nameParam]->format('Y-m-d H:i:s') . '\'';
                              break;
                          default:
                              $fullSql .= $paramsArr[$nameParam]->getId();
                      }
  
                  } else
                      $fullSql .= $paramsArr[$nameParam];
  
              } else {
                  $fullSql .= $sql[$i];
              }
          }
          return $fullSql;
      }
code_tokens: public static function getFullSQL ( $ query ) { $ sql = $ query -> getSql ( ) ; $ paramsList = self :: getListParamsByDql ( $ query -> getDql ( ) ) ; $ paramsArr = self :: getParamsArray ( $ query -> getParameters ( ) ) ; $ fullSql = '' ; for ( $ i = 0 ; $ i < strlen ( $ sql ) ; $ i ++ ) { if ( $ sql [ $ i ] == '?' ) { $ nameParam = array_shift ( $ paramsList ) ; if ( ! isset ( $ paramsArr [ $ nameParam ] ) ) { $ fullSql .= ':' . $ nameParam ; } elseif ( is_string ( $ paramsArr [ $ nameParam ] ) ) { $ fullSql .= '"' . addslashes ( $ paramsArr [ $ nameParam ] ) . '"' ; } elseif ( is_array ( $ paramsArr [ $ nameParam ] ) ) { $ sqlArr = '' ; foreach ( $ paramsArr [ $ nameParam ] as $ var ) { if ( ! empty ( $ sqlArr ) ) $ sqlArr .= ',' ; if ( is_string ( $ var ) ) { $ sqlArr .= '"' . addslashes ( $ var ) . '"' ; } else $ sqlArr .= $ var ; } $ fullSql .= $ sqlArr ; } elseif ( is_object ( $ paramsArr [ $ nameParam ] ) ) { switch ( get_class ( $ paramsArr [ $ nameParam ] ) ) { case 'DateTime' : $ fullSql .= '\'' . $ paramsArr [ $ nameParam ] -> format ( 'Y-m-d H:i:s' ) . '\'' ; break ; default : $ fullSql .= $ paramsArr [ $ nameParam ] -> getId ( ) ; } } else $ fullSql .= $ paramsArr [ $ nameParam ] ; } else { $ fullSql .= $ sql [ $ i ] ; } } return $ fullSql ; }
docstring: Get SQL from query
  
  @param \Doctrine\ORM\Query $query
  @return string
docstring_tokens: Get SQL from query