DataGrip 2022.1 EAP 2
Hello! Here’s a list of all the enhancements that await you in the second EAP build of DataGrip 2022.1.
Canceling running statements
Previously, when you clicked the Cancel Statement button several times, it looked like the query was terminated, but in fact the request continued to be executed in the database.
There was some tricky logic behind this behavior. On the first click, DataGrip sent a cancellation request to the database, while on the second click it canceled the JDBC Driver process to terminate all connections to the data source (we’ll refer to this as data source deactivation in the rest of this blog post). As a result, DataGrip received an error for the first cancellation request because the connection was lost, not because the cancellation was actually completed.
We’ve now made the cancellation logic more straightforward. Hopefully, it’s now clearer that it’s the request that is being canceled:
- The progress indicator on the gutter shows a red square while the request is being canceled.
A canceling progress bar is shown, which clarifies the data source and the session.
We no longer deactivate data sources without a warning, as that can be potentially dangerous for some processes happening simultaneously. So, if you click on the Cancel icon for the second time, DataGrip will ask you whether you really want to kill the remote process or wait a bit longer. If you choose to deactivate the data source, it will stop the query for DataGrip, but it will continue being executed in the database.
After 10 seconds of idle canceling, you’ll be offered to deactivate the data source anyway.
After the query is canceled, a gutter icon looking like the ‘No’ symbol will appear to the left of it.
Canceling connections
Previously, when you attempted to abort a request at the stage of creating a connection, the data source was deactivated.
Now you can interrupt not only the execution of a request, but also the creation of a connection. This is especially relevant for the very first query in the console, which also creates a connection.
You can now stop the process of creating a connection without deactivating the data source: if you click the Cancel button while the connection is being created, it will be stopped and a ‘Connection canceled’ message will display.
This is relevant for more than just queries from the query console. For example, if you create a connection before starting an introspection, interrupting the introspection will cancel the connection creation without deactivating the data source.
Session templates for introspection
Sometimes introspection requires special permissions, which are given to special users. Now it’s possible to use dedicated credentials for introspection. To do this, create a dedicated session template in the Options tab.
Then, use this template for the introspection: there is the Use session template in the Introspection section.
[Oracle] Fragmental introspection
Now you can refresh an object independently from all the other objects in the database.
This can be especially useful if you are using our new feature called Introspection levels. If you need to see the source code of just one object, you can do so easily by clicking the Refresh Object button in the database explorer.
[SQL Server] Support for in-editor results in batch mode
When multiple statements are run at once in Transact SQL, they are executed in batch mode. Previously this made it difficult to show in-editor results for each query, but now DataGrip handles this situation well.
In addition, DataGrip now removes all SQLCMD statements if running the queries in batch mode. See DBE-14920.
[PostgreSQL] Multirange types supported
Multi-range types were introduced in PostgreSQL 14. We’ve added support for the built-in ones.
Custom multi-range types will be supported later.
Quality improvements
- DBE-9974: It’s now possible to disassociate a .csv file from ‘View as Table’.
- DBE-15043: Bookmarks now provide the same navigation behavior as database explorer items.
- DBE-15000, DBE-15001 [PostgreSQL]: The correct code is now generated while editing grants.
- DBE-14888: [PostgreSQL] BEGIN ATOMIC is now supported.
- DBE-15061: [PostgreSQL]: No more wrong injection of JSONB syntax.
- DBE-14843: [BigQuery] QUALIFY is now supported.
- DBE-15052: [Redshift] ALTER MATERIALIZED VIEW is now supported.
- DBE-15013: [ClickHouse]: UNION DISTINCT is now supported.
- DBE-15031: [Snowflake] The update query for tables with DEFAULT values is now generated correctly.
- DBE-15009: [Sybase] All columns are now shown in the result view.
- DBE-14852: [MariaDB, Aurora MySQL] The empty date is now correctly displayed in the data editor.