Datagrip logo

The DataGrip Blog

The Cross-Platform IDE for Databases & SQL

DataGrip 2021.1 EAP Has Started!

If you’re interested in previewing what the year’s first release of DataGrip will include, here’s what you can already try.

Connectivity

We’ve reworked the connection window to make it more friendly.

  • Drivers and data sources are now listed on two different tabs. The list of drivers won’t bother experienced users, while newcomers will not confuse them with data sources.
  • Every driver’s page includes a Create data source button.
  • The Test Connection button has been moved to the footer so that you can use it from any tab of the data source properties, not only the General and SSH/SSL tab as before.
  • The DDL data source properties page has a drop-down list for choosing the dialect.
  • The JDBC URL field can be expanded if the URL is really long.

Grants

We’ve added a UI for editing grants when modifying objects.

Editing grants per user will come in one of the next EAP builds.

Data editor

Sorting

We’ve improved the sorting of data:

  • We added the ORDER BY field, and it works similar to the WHERE field (which was Filter field before): enter a working clause to have it applied to the query of the grid.
  • The sorting is not ‘stacked’ by default. This means that if you click on a column name to sort data by, the sorting based on other columns will be cleared. If you would prefer to use stacked sorting, click a column name while holding the Alt key.

If you want to use sorting on the client side (DataGrip will not rerun the query nor sort the data within the current page), uncheck Sort via ORDER BY:

It’s also possible to open tables with predefined sorting based on the numeric primary key.

Export

When you copy binary data that hasn’t been completely loaded yet, the following notification will be shown:

If you don’t want the data to be truncated, increase the value in Settings/Preferences | Database | Data Views | Maximum number of bytes loaded per value.

When you export to Excel, the resulting file will contain the query on a separate sheet.

Import

When you import a CSV file, the option to clarify that the first row is a header is now available in the context menu as shown below:

Transposing

Now there is an option to always transpose the result if it contains a single row.

Database explorer

The default layout of the database explorer has been changed, with non-major objects now available under a dedicated node. Most of the time people work with tables, views, and routines, whereas seeing users, roles, tablespaces, foreign data wrappers, and many other types of objects is not high on their list of priorities. So, these secondary objects are now hidden under two nodes, Server Objects and Database Objects.

Also, for Oracle there is an option to show or hide auto-generated objects in the tree, including the following:

  • Materialized view logs
  • The underlying tables for materialized views
  • Secondary tables

New types of objects – functions, modules, and virtual columns – are introspected for SQLite.

Queries parsing for unsupported databases

We’ve introduced a new setting for using unsupported databases. When working with these databases in DataGrip, you’ll need to use either the SQL:2016 or Generic dialect. Generic is almost identical to SQL:2016, with the only difference being that all found errors are not highlighted.

To access the setting, go to Preferences | Database | General | Split a script for execution in Generic and ANSI SQL dialects. The following values are available to choose from:

On valid ANSI SQL statements or by separator – this is the default setting that is suitable for the majority of cases. In other words, we’ll do our best to understand what you want to run.

On ANSI SQL Statements – split statements as before. The logic is based only on what DataGrip considers valid based on SQL:2016 grammar.

By statement separator – extract and run statements by separators. Use it if the first option didn’t do the job. For GenericSQL, the separator is a semicolon. Please note it is no longer possible to set a custom separator.

Here are some of the problems we’ve resolved:

  • Many users have reported a problem with running CTEs. This should have been partially mitigated when Generic grammar was upgraded from SQL:92 to SQL:2016, but On valid ANSI SQL statements or by separator option still helps with complex CTEs. Another example of the statement which will work with this option is the unusual MERGE statement.
  • The On valid ANSI SQL statements or by separator option also helps run things that aren’t statements at all in SQL:2016 grammar, such as for example show databases;.

That’s all for this EAP build of DataGrip 2021.1. You are welcome to give us feedback using our Twitter or forum. We also have a simple way for you to quickly report issues straight from DataGrip, click Help -> Report problem… to create a new issue in our issue tracker.

Thank you,
Your DataGrip team