Что нового в DataGrip 2024.3

Подсветка изменений после генерации кода на основе текстового запроса, обработка ошибок в SQL с помощью AI Assistant, улучшенная сетка результатов и многое другое.

Возможности AI Assistant

Обработка ошибок SQL с помощью AI Assistant

Мы добавили пару удобных действий для обработки ошибок выполнения SQL-запросов с помощью AI Assistant. Теперь справа от каждого сообщения об ошибке DataGrip показывает два возможных действия: Explain with AI и Fix with AI.

Explain with AI открывает чат с ИИ, автоматический отправляет запрос и показывает объяснение ошибки.

Fix with AI генерирует в редакторе исправление, устраняющее ошибку выполнения запроса.

Генерация SQL на основе текстового запроса и подсветка изменений в редакторе

Теперь, когда вы просите AI Assistant отредактировать фрагмент кода, в редакторе отображается diff, где виден исходный и сгенерированный код. Предложения AI Assistant выделены другим цветом, а на полях рядом с ними есть кнопка отмены.

Кроме того, вы можете самостоятельно прямо там отредактировать результаты запроса. Ваши изменения будут выделены точно так же.

Например, можно попросить AI Assistant получить больше данных с помощью запроса, а затем добавить к полученному результату условие ORDER BY.

Новые действия работают подобно Fix SQL Problem Under Caret и Explain SQL Problem Under Caret.

Чтобы получать правильные объяснения и исправления, обязательно подключите схему базы данных.

Работа с данными

Плавающая панель разбивки на страницы

Мы перенесли разделение на страницы с панели инструментов в нижнюю часть редактора данных — так заметнее и удобнее.

Чтобы вернуть элемент управления обратно на панель инструментов, откройте настройки IDE, перейдите в Database | Data Editor and Viewer, прокрутите до Position of the grid pagination control и выберите Data editor toolbar.

Более широкая сетка результатов в редакторе

Раньше ширина сетки результатов в редакторе была ограничена. Теперь она автоматически разворачивается на всю ширину окна редактора, позволяя увидеть больше данных.

Редактор кода

Подсветка вхождений выделенного текста

Теперь DataGrip по умолчанию подсвечивает все вхождения выделенного текста в файле. Так сразу хорошо видно, где в коде встречается выбранный текст.

Проверка на избыточность операторов JOIN

В некоторых случаях выполнение запроса с чрезмерным количеством операторов JOIN снижает производительность. Теперь редактор умеет выявлять и подсвечивать такие запросы.

Инспекцию можно включить в настройках IDE: откройте Editor | Inspections, разверните раздел SQL и выберите Excessive JOIN count.

Поддержка табличных функций BigQuery

Мы улучшили поддержку табличных функций (TVF) BigQuery. Теперь DataGrip правильно распознает и TVF, и столбцы, которые они возвращают.

Соединение

Частичная интроспекция и умное обновление MySQL MariaDB

Новая версия DataGrip поддерживает частичную интроспекцию.

Раньше всегда выполнялась полная интроспекция схем в MySQL и MariaDB, а обновить метаданные отдельного объекта было нельзя. Каждый раз, когда в консоли выполнялся DDL-оператор, который мог бы изменить объект в схеме базы данных, IDE начинала полную интроспекцию всей схемы. Это занимало много времени и часто мешало нормальной работе.

Теперь DataGrip анализирует DDL-запрос, определяет, какие объекты могли быть затронуты, и обновляет только их.

Если в проводнике баз данных выбрать один объект и вызвать действие Refresh, будет обновлен только этот объект, а не вся схема, как раньше.

Исправленные ошибки

  • DBE-21843: в больших таблицах больше не исчезает первая строка.
  • DBE-20350: функция автодополнения кода Qualify object with: Database работает как надо.
  • DBE-21526: исправлена проблема с доступностью контекстных шаблонов Live Template в контекстном меню объектов баз данных.
  • DBE-18445: MySQL добавлена поддержка функции ST_SRID.
  • DBE-19042: MySQL добавлена поддержка нескольких ролей в запросах GRANT.
  • DBE-19984: MySQL добавлена поддержка системной переменной block_encryption_mode.
  • DBE-16521: MariaDB улучшена поддержка временных таблиц в консоли запросов.
  • DBE-19041: MySQL MariaDB добавлена поддержка SET ROLE и SET DEFAULT ROLE.
  • DBE-14986: SQL Server разрешение синонимов в вызовах функций работает корректно.
  • DBE-15201: SQL Server квалификация схемы при автодополнении функций работает корректно.
  • DBE-21204: SQL Server добавлена поддержка ключевого слова OPTION в объявлениях CURSOR.
  • DBE-3771: Oracle добавлена инспекция для квалифицированных столбцов в запросе USING.
  • DBE-3772: Oracle добавлена инспекция для квалифицированных столбцов в запросе NATURAL JOIN.
  • DBE-5657: Oracle автодополнение для условий PARTITION работает ожидаемым образом.
  • DBE-10459: Oracle добавлена поддержка автодополнения для условия BEGIN.
  • DBE-17022: Oracle добавлена поддержка ON COMMIT PRESERVE DEFINITION.
  • DBE-21014: Oracle разрешение CURSOR, объявленного в заголовках пакетов, работает как надо.
  • DBE-20309: Oracle исправлено разрешение столбцов при вызове функций.
  • DBE-21006: Oracle разрешение столбцов для типов record работает корректно.