What's New in DataGrip 2019.3

MongoDB support

Finally, the day has come for us to start working on MongoDB support. After more than 400 votes we have decided now is a good time to begin including the basic functionality.

Introspection

You can observe collections and fields in the database explorer. We fetch the first 10 documents from each collection to get information about the fields. This can be customized via the JDBC parameter fetch_documents_for_metainfo which is available in the Advanced tab of the data source properties dialog.

Query console

There is currently no coding assistance, but this doesn’t stop you from running queries and getting the results. To run a statement, put the caret on it and run it via Ctrl+Enter or by using the Run button on the toolbar.

If you’re using the database support in any other JetBrains IDE, your queries will be highlighted with the help of the JavaScript highlighter. Highlighting and completion in DataGrip will come later.

Data viewer

Open any collection or observe the query result. You have the option to sort by columns or filter the values. Paging works as well.

Tree view

It’s also available to explore data as a tree. To turn it on, click the Gear icon | View as… | Tree.

Oracle PL/SQL debugger

The first version of the long-awaited PL/SQL debugger: you can debug procedures, functions, triggers, and anonymous blocks and observe variables there.

Don’t forget, that the object you wish to debug needs to be compiled for this operation. To do this go to the context menu of the object: Database tools | Recompile. Don't forget to use With “debug” option.

Note: if the procedure is already compiled for debug, there is a small green bug on its icon.

Ok, now you are ready to understand what is happening under the hood! Use the Debug button on the toolbar.

To learn more about how the debugger works please visit our help page. If you have any feedback for us about the debugger please post it in the corresponding issue.

Working with sources

3-way merge

When you submit source code and DataGrip determines that it was changed while you were editing it, a notification will pop up. This notification will suggest you resolve the conflict by way of a three-way-merge.

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.

Diff viewer for routines

If you compare routines by pressing Ctrl+D on two selected routines, the DDLs will also be compared.

Code prettifier

We've turned on code prettifier in PostgreSQL by default. Before, the code given by the database contained many parentheses, which were frequently unneeded:

With the new option turned on, it looks like this:

Please note, PostgreSQL states in its documentation:

The pretty-printed format is more readable, but the default format is more likely to be interpreted the same way by future versions of PostgreSQL; avoid using pretty-printed output for dump purposes.

Running queries

Inline query progress

Now you can clearly see when your query is running: there is a spinning icon on the gutter and the inline live timer as well.

Flame chart for explain plan

We’ve added a new type of visualization for the explain plan results. To see it, click the corresponding button on the left. It is just under the diagram button.

Coding assistance

Inspections

DataGrip will warn you, if:

It makes no sense to use the COALESCE operator. And then provides you with a quick-fix!

You’re inserting a NULL value into not nullable column.

You haven’t listed all the columns that are needed in the INSERT statement.

Use the ‘equals’ operator to find out if the value is null. You probably want IS NULL to be used here.

An ORDER BY clause has found its way into the subquery in SQL Server.

You use TOP and OFFSET simultaneously in SQL Server.

Intention actions

This intention will assist you in converting a complicated comparison to a BETWEEN operator and vice versa.

This intention helps you convert JOIN ON to JOIN USING, and vice versa.

Text editor

A new action will help you to sort lines alphabetically in the selected piece of code. This can be useful when working with CSV files or for finding duplicate values!

It’s now possible to search only in a selected area. Simply select the code piece you need in the editor and press Ctrl+F. If you need to perform the search within the whole file, press the shortcut again.

Resolve

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

Code generation

We have a bunch of new stuff in the Generate menu! Invoke it with Alt+Ins. Remember, speed search works here.

Data editor

Now if your result-set contains multiple columns with the same name, you won’t have any problems with ambiguous names if you create a table from it: the column names will be qualified.

The Modify Table action is now available from the data editor context. Want to add a new column while editing table data? Go ahead, just press Ctrl+F6 and it is nearly done!