Что нового в DataGrip 2019.3

Поддержка MongoDB

Мы, наконец, начали работать над поддержкой MongoDB. Получив более 400 голосов в трекере, мы решили, что сейчас самое время поддержать основные функции.

Интроспекция

Интроспекция

В проводнике базы данных отображаются коллекции и поля. Мы анализируем первые 10 документов из каждой коллекции, чтобы иметь представление о ее полях. Если вы хотите увеличить это число, укажите его в JDBC-параметре fetch_documents_for_metainfo на вкладке Advanced в свойствах источника данных.

Консоль запросов

Консоль запросов

Сейчас нет поддержки при написании кода, но запросы работают. Для того чтобы запустить запрос, поставьте на него каретку и нажмите Ctrl+Enter или кнопку Run на панели инструментов.

Если вы работаете в IDE с поддержкой JavaScript, запросы будут подсвечены. Подсветку в DataGrip добавим позже.

Просмотр данных

Просмотр данных

Просматривать коллекции в табличном виде по страницам. Можно сортировать по значениям и использовать фильтр.

Режим дерева

Режим дерева

Специально для MongoDB мы сделали древовидный просмотр данных. Чтобы его включить, нажмите на шестеренку, затем View as… | Tree.

Отладчик PL/SQL для Oracle

Отладчик PL/SQL для Oracle

Это первая версия давно ожидаемого отладчика для Oracle. Сейчас он работает с процедурами, функциями, триггерами и анонимными блоками.

Не забудьте, что объект должен быть скомпилирован для отладки. Чтобы это сделать, используйте контекстное меню: Database tools | Recompile. Отметьте чекбокс With “debug”.

Если процедура уже скомпилирована для отладки, на ее иконке есть зеленый жучок.

Отладчик PL/SQL для Oracle

Чтобы запустить отладчик в консоли, нажмите кнопку Debug на панели инструментов.

Подробности об отладчике — у нас в документации (на английском). Мнения, комментарии, пожелания пишите, пожалуйста, сюда.

Работа с исходниками

Трехпанельное слияние

Трехпанельное слияние

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

Also, if you want to make sure that you won’t accidentally delete someone else’s work by submitting an outdated object, the Warn if editing outdated DDL option should be turned on.

Сравнение кода процедур

Сравнение кода процедур

Две процедуры можно сравнить, выделив их и нажав Ctrl+D. Раньше сравнивались только сигнатуры, теперь — и исходники.
Красивые исходники в PostgreSQL

Красивые исходники в PostgreSQL

Если настройка pretty-printed отключена, PostgreSQL отдает исходники с большим количеством избыточных скобок:

Красивые исходники в PostgreSQL

 

Мы решили включить ее по умолчанию. В нашем примере скобок не осталось:

Но обратим внимание на то, что PostgreSQL пишет в своей документации:

Код в формате pretty-printed лучше читается, но формат по умолчанию, скорее всего, будет лучше понят будущими версиями PostgreSQL. Поэтому мы советуем не использовать pretty-printed код для дампов.

Выполнение запросов

Прогресс выполнения в редакторе

Прогресс выполнения в редакторе

Раньше не всегда было понятно — запрос все еще выполняется или уже завершен. Мы добавили крутящуюся иконку на панель слева и таймер в текстовый редактор.

Флейм-чарт для планировщика

Флейм-чарт для планировщика

Это новый тип визуализации данных от планировщика. Чтобы открыть флейм-чарт, нажмите кнопку слева:

Помощь при написании кода

Инспекции

Инспекции

DataGrip предупредит, если вы:

...используете оператор COALESCE без надобности: например, если первый аргумент никогда не бывает NULL. Вам предложат удалить ненужный код.

Инспекции

 

 

...вставляете NULL в столбец, для которого это запрещено.

Инспекции

...не перечислили все столбцы в предложении INSERT.

Инспекции

...используете оператор «равно» для сравнения с NULL. Надо использовать специальный оператор IS NULL.

Инспекции

...используете предложение ORDER BY в подзапросе. Эта инспекция работает только в SQL Server.

Инспекции

...используете одновременно TOP и OFFSET. Это тоже инспекция для SQL Server.

Intention actions

Intention actions

Сравнение с AND можно конвертировать в BETWEEN, и наоборот.

Intention actions

 

JOIN ON можно конвертировать в JOIN USING, и наоборот.

Текстовый редактор

Текстовый редактор

Новое действие: сортировка строк по алфавиту. Может быть полезно при работе в CSV-файлами или поиске дубликатов в списке значений.

Текстовый редактор

 

Сделали поиск по выделенному фрагменту кода. Сначала выделите область для поиска, потом нажмите Ctrl+F. Если хотите искать по всему файлу выделенный фрагмент, нажмите сочетание клавиш еще раз.

Фильтрация объектов

Фильтрация объектов

Now, if you use filtering in the database explorer, DataGrip will not resolve any objects which are not displayed in the database tree view.

Генерация кода

Генерация кода

В меню Generate много новых объектов: материализованные представления, коллации, перечисления и не только. Меню вызывается по Alt+Ins.

Редактор данных

Редактор данных

Теперь, если в результате есть столбцы с одинаковыми именами, мы показываем, из какой таблицы они взяты. Это удобно еще и потому, что эти имена используются при экспорте: например, если вы создаете новую таблицу из результата, у вас не будет конфликта имен.

Редактор данных

Действие Modify Table работает из редактора данных. Например, если вы работаете с данными таблицы и решили добавить в нее столбец, просто нажмите Ctrl+F6 и редактируйте таблицу.