Что нового в 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.

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

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

Немодальные диалоги Create и Modify

Уже некоторое время нас просили о том, чтобы можно было работать с другими частями интерфейса IDE, когда редактируешь объекты в диалогах Create и Modify. В DataGrip 2024.3 эти диалоги стали немодальными. Теперь вы можете свободно просматривать базы данных, источники данных, файлы и другие части проекта, не прерывая работу над объектом в диалоговом окне.

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

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

Теперь 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 работает корректно.