News

DataGrip 2018.3 EAP

DataGrip 2018.3 EAP

Hello! No long preambles, this is DataGrip 2018.3 EAP! Let’s see what’s inside.

Code completion

Many feature requests are implemented in this area.

When you use the GROUP BY statement, DataGrip offers you a list of non-aggregated fields.

GroupBy

A list of all columns is available in completion after the SELECT keyword.

CompleteAllColumns


We also added this list to the MERGE statement and now it works with INSERT INTO when using table variables.

Completion now works well for named parameters.

NamedParamCompletion

In the case of ambiguous names, DataGrip now shows you the context.

AmbigousSchemas

We also introduced Postfix completion which might be familiar for those who use other IntelliJ-based IDEs.

PostfixOpt

Here is a movie of how all of them work.

Postfix

Code completion also works for:

— Items in brackets. DBE-4246
— Numeric fields in SUM() and AVG () functions. DBE-2285
— FILTER (WHERE …) clause of an aggregate function.DBE-5591
— Table value types.DBE-5768
— Field types in SQLite. DBE-5660, DBE-6778

Now there is an ability to choose a dialect for Live Templates. It means that this live template will only work in the specified dialect.

DialectsPerLiveTemplate

This ability lets you create different dialect-based implementations for the same abbreviation. Say, we want to create a template for getting the first n rows. In SQL Server and PostgreSQL, this query would have different syntax.

One can use the same abbreviations for different live templates if they are in different groups. Create two new groups: SQL Server and PostgreSQL. In each group create a corresponding live template with the appropriate syntax.

DifTemplates
Don’t forget to choose the right dialect for templates. Thus, they will work only in the needed context.

Seln

Another small improvement: the Create table intention (did you know about that?) now respects field types and generates the correct code. Press Alt+Enter if there is a table where you are going to insert data.

CreateTableIntention

The result is:

CreateTableIntetnionResult

Code insight

Now DataGrip will warn you if you use the DELETE or UPDATE statement without WHERE clause.

DeleteWarning

UpdateWarning

In case you are running this, there will be a caution notice.

UpdateWarningAfterExec

Other enhancements

We support extensions in PostgreSQL.

Extensions

Quick doc for the data source (Ctrl+Q for Windows/Linux, F1 for OSX) now contains some statistics: the number of different objects

QuickDoc

Also, the long-awaited auto-reconnect feature is added: no more disonnections after timeouts!

Fixes

Support for:
— Stored procedures in PostgreSQL 11. DBE-6863
— ROWS FROM in PostgreSQL. DBE-7098
— Vector valued updates in SQLite. DBE-4449
Other:
— If JOIN has no condition, this error is highlighted. DBE-6759
— ‘@’symbol doesn’t break the spell checker, thus it works in variables’ names. DBE-2250
— JSON groovy extractor works OK with big numbers. DBE-7019
— Row count works if columns are sorted. DBE-2444
— Сorrect search path is set in the reopened data editor. DBE-7044
— Query plan visualiser works in Redshift. DBE-7129

That’s all for today. Your feedback is welcome in our twitter or forum. By the way, starting from this version, we have a handy thing: click Help -> Report problem… to create a new issue in our issue tracker.

DataGrip team.

image description

Discover more