What's New in DataGrip 2016.3

Source Code Storage

Variadic templates

Find usages inside views/procedures

Now DataGrip lets you find usages of tables/views inside other views, stored procedures and functions. How does that work? The IDE loads the source code of major types of objects and puts them into the local storage. This opens up many new possibilities.

To make this storage work, please re-synchronize your data source. Select Forget Schemas, and then click the Synс/Refresh button.

Most importantly, now you can find usages of objects inside the source code of other objects. For instance, you can learn in which stored procedures, functions or views your table is used. As usual, press Alt+F7 on the table name or call it from the context menu. In the Usages window you can see a preview of the objects, i.e. the source code of the objects where your table is used.

Variadic templates

Triggers support

We've fixed many bugs related to source code. Now DataGrip shows them for triggers in all popular management systems: MySQL, PostgreSQL, SQL Server, Oracle and Sybase. We've also added the Drop action to the context menu.

Open DDL in console

In addition to Copy DDL, there is now a new action in the context menu: Open DDL in Сonsole.

Materialized views

We didn't forget about materialized views in PostgreSQL: source code is now available and materialized views can be refreshed from the UI.

Changing source code

When you edit the source code of any object, DataGrip tracks your changes and highlights edited rows in the left editor panel. If you click on a highlighted row, a small toolbar is displayed with a Show Diff link. Click it to see the difference between the row you've changed and the one from the source code.

Tracking database changes

If there are lots of changes in many places, you can see all of them from the Database Changes window. Important! This window is available only in DataGrip, but not in other IntelliJ-based IDE's.

Variadic templates

Diff viewer for changes

Any individual change can be clicked to display the diff viewer as well.

Loading source code options

Remember that you can manage which sources will be loaded (or none at all) in the Options tab of datasouce properties, or from the context menu for many datasources at once.

Renaming views

Views can be renamed by pressing Ctrl+F6. Now this refactoring affects only open scripts and the view itself, but not the referencing objects.

Data Editor

Bulk submit

Many new features in this version arу related to the data editor. First and the most important, now all your changes are stored locally and can be submitted at once. Local changes are colored, so you can see which changes you are going to save, be it updating, inserting or deleting rows. Submit with Ctrl+Enter. As usual, Ctrl+Z is for canceling, but works in a tricky way — only selected changes are canceled. If you wish to cancel all of them, select all cells with Ctrl+A before reverting.

Multiple edit

Several fields can be edited at once — just select them and begin to type. Of course, it works only if the columns you are editing are not unique and have the same type.

Data conversion

We've added data conversion. Copy & paste your data even if the fields have different types of data, and even if the tables are in different databases from different vendors! Since multiple cells editing is also available, this will work with the whole column of data as well. Date to string, bool to integer — not a problem.

Select next occurrence

Select next occurrence(Alt+J), a text editor action you may be familiar with, now works in the data editor. Even if several cells are selected. Shift+Alt+J is for Unselect previous occurrence.

Expand selection

Another familiar action, Expand selection(Ctrl+W) works in the data editor like this: first, a field is selected, then the column of the active field, then the row of the active field and finally, the whole grid.

Data Dump

We've integrated DataGrip with mysqldump and pg_dump. To dump the objects, use the Dump with… context menu option. Note that you can use completion for the console parameters.



Code insight

Default fields excluding

The INSERT statement completion offers you not only the list of all fields but also the list of fields which have no default value.

Unused parameters inspection

The IDE will warn you about an unused variable or parameter in a function.

Set operators inspection

Another inspection will let you know if there is a mismatching number of columns in queries used in set operators (UNION, INTERSECT and EXCEPT).

Introspect missing schemas

The new intention action offers you to introspect the schema or databases right from the editor if DataGrip has no metadata on them yet.

Using completion

Some specific features for PostgreSQL users: when you use JOIN USING, DataGrip offers you only the field names common for both tables.

Find usages by $n references

Find Usages now handles positional parameters references: $1 will be treated as the first parameter's usage and so on.

Navigation by statements

Navigate to the next method, familiar to many of you from our other IDE's now works in DataGrip. It's called Navigate to the next statement and is invoked with Alt+Up/Down.


Operator signature

Operator signature in PostgreSQL is shown in the database view.

Saving comments

Comments in creating procedures/functions DDL are now saved in the database.

Scripts running

If you run large script files from the context menu, please know that now they are executed much faster.

Drivers version

Now DataGrip detects if an old driver is in use and offers you to update it.

XML extractor comes back

New icons

Other Improvements

  • SQL Server 2016 grammar support
  • PostgreSQL 9.6 grammar support
  • Many minor objects can now be dropped from the UI
  • Many minor objects are now resolved in the SQL code
  • Rules support in PostgreSQL
  • External tables parsing in Oracle
  • The FiraCode font is bundled
  • Auto-inc support in SQLite
  • Expression index support in SQLite