Released: Apr 3, 2024
Updates in 2024.1
Features
AI Assistant: option to attach schemas
- AI Assistant now allows you to improve the quality of generated SQL queries by attaching a database schema for context in the chat. For now, only table and column names are attached and there is a maximum limit of 50 tables.
- Context menu features in the editor, such as Explain Code, now understand the current schema when invoked from database consoles.
- Because AI Assistant is aware of your schema, you can:
- Generate queries from natural language requests.
- Get insights about your schemas.
- Perform non-trivial searches and more.
Working with data
- Local filter in the data editor - You can now filter rows by values in columns.
- Single record view - You can now focus on a single record in the data editor.
- Added the ability to move columns in CSV files - You can now move columns in the data editor for a CSV file and the changes will be applied to the file itself.
- More features for UUIDs - It is now easier to work with UUIDs:
- Added a new action: Generate UUID.
- It is now possible to edit any column with UUIDs, including those represented by binary(16), blob(16), and similar types.
- Values in UUID columns can now be validated while editing [PostgreSQL].
Simplification of sessions
- Starting from this release, users no longer need to manually choose which session to run queries in, and this will be the case for all types of queries. Sessions are still there under the hood, but you won't need to worry about them.
- Attaching and switching data sources - To attach a file, you now simply need to select the data source, rather than the session. After selecting the data source, you choose the schema.
- Switching sessions - The Switch Session action now only appears in the client's context menu in the Services tool window. It allows you to switch the session only within the current data source.
- Running functions - You no longer need to select a session before launching a function. In the Execute Routine window, a Run from option allows you to select the console or file from which the function will be launched.
Working with code
- Aligned code style for multi-row INSERT statements
- You can now format multi-row INSERT statements so their values are aligned. The formatter will analyze the width of the values in each column and apply the most suitable widths.
- DataGrip is now able to handle situations where some values are much longer than others. The formatter will detect such values and make exceptions for them, moving the remaining fields to the next row.
- Column completion for GROUP BY clauses - DataGrip now analyzes the aggregates used in SELECT clauses and includes the appropriate column lists in GROUP BY clause suggestions.
- Warning for WHERE TRUE clauses - Expanded the Unsafe query warning. It now warns you if you run a query with the WHERE TRUE condition or one of its variations.
- Custom symbols to accept suggestions - Added the ability to specify which symbols you will use to accept code completion suggestions, allowing you to write SQL even faster.
- Sticky lines in the editor - To simplify working with large files, sticky lines have been introduced in the editor. This feature keeps key structural elements, like CREATE statements, pinned to the top of the editor as you scroll. This way, the context always remains in view, and you can promptly navigate through the code by clicking on a pinned line.
Miscellaneous
- Support for Redis Stack module commands - DataGrip now supports commands from the four main Redis Stack modules: RedisJSON, RediSearch, RedisBloom, and RedisTimeSeries. This support also requires the new version of the driver: v1.5. The RedisGraph module is obsolete and will no longer be supported. With this module support:
- You can send commands from these modules and see the results.
- Commands from these modules are properly highlighted.
- The keys of types provided by these modules are displayed in the database explorer.
- JSON documents - JSON documents are now displayed in a dedicated folder. You can view their values in the data viewer, and you can specify the JSON path.
- Other data types - Keys of types provided by the RedisTimeSeries and RedisBloom modules are displayed under the data structures folder.
- Support for external databases shared via data catalogs [Amazon Redshift] - External databases shared via data catalogs are now supported. Their content is now introspected and completion is available for them.