DataGrip 2019.2.4

Hi! We have an update for 2019.2. Some bug-fixes are inside.

DBE-8977 Compare content action has been added to the context menu of two tables.

Screenshot 2019-09-12 12.21.03

– We’ve fixed some problems with the Help plugin’s compatibility.
DBE-9021 UUIDs are now quoted when navigating to referenced rows.
DBE-8897 Full-text search results are now sorted alphabetically.
DBE-1878 DataGrip offers to introspect the schema if it’s used in the console.

Posted in Uncategorized | Leave a comment

DataGrip 2019.2.2

Hi!

This update for DataGrip 2019.2 is huge. Not only many bug fixes are here, but some cool features as well!

Features

DBE-4499 We’ve added JOIN completion based on column names.

Completion

 

DBE-2640 The markdown data extractor is bundled with DataGrip!

Markdown

 

DBE-7315 Drag-and-drop of columns became smarter: now it adds commas!

DragNDrop

 

DBE-8239 Breadcrumbs are now shown for SQL as well.

Screenshot 2019-08-16 11.16.10

DBE-5661, DBE-7960 [PostgreSQL] Support for partition tables is improved. The key enhancement: partition tables are now displayed under the main one.

PArtititons

Bug fixes

IDE general

DBE-8380, DBE-8769, DBE-8778, DBE-7107 Performance improvements.
DBE-8633 The folder path became editable in SQL Dialects settings section.

Code generation

DBE-8835, DBE-8376 Schema comparison: the same objects are not marked as different anymore.
DBE-8826 [Oracle] No more disappearing semicolon in the package code.
DBE-6261 [Oracle] Column names are not missed from view’s code anymore.
DBE-8344 [DB2] Editing procedures is available on DB2 for i (AS/400).
DBE-8889 [Sqlite] Check constraints do not disappear after the update.

Data editor

DBE-5165, DBE-8732 Fixed bugs in file import.
DBE-8857 Fixed problem with the column width when using the Material Theme plugin.
DBE-8788 BLOB fields are displayed correctly.
DBE-8433 The Forward and Back buttons don’t run queries anymore.
DBE-6601 The Ctrl/Cmd+F12 shortcut in the filter field of the data editor opens the columns list.
DBE-8511 The Go To Related Data action enabled showing only required rows.

Database explorer

DBE-8728 Adding a new schema doesn’t remove items from the database explorer.
DBE-8871 [Redshift] External tables are back!

Coding assistance

DBE-8845, DBE-8767, DBE-6776 Fixed bugs in the SQL formatter.
DBE-8850 [Exasol] DROP INDEX support.

DBE-8895 Results in Find Usages are sorted by the line number.

Develop with pleasure!
DataGrip team

Posted in Uncategorized | 4 Comments

DataGrip 2019.2.1

Hello,

We have a hotfix for DataGrip 2019.2 and here’s what’s inside it:

– No more high memory usage, which led to total freezes.

This was actually connected with the new feature whereby system catalogs were stored inside DataGrip for better coding assistance. Now, if you have more than 10 databases inside one data source, automatic loading of system objects is switched off and a corresponding warning is displayed.

Screenshot 2019-08-01 15.01.24

If you still need to have system objects in coding assistance without seeing them in the database explorer, select the lightning icon next to the schema name in the schema chooser.

– Fixed problems with failed startup on Linux.

Thanks for your patience!

The DataGrip team

Posted in Uncategorized | 1 Comment

DataGrip 2019.2: services, full-text search, filtering in navigation, easy paging, naming of results tabs, query live timer and more!

Hello! We’ve just released DataGrip 2019.2. In this post, we’ll highlight the new features briefly. For detailed descriptions, please visit the What’s new page.

lxx4BTrJ

Services tool window

— Observe and manage all the connections
— Manage Docker services
— Query live timer

Services

Full-text search

— Search for data everywhere
— SQL preview
— Search in columns that don’t support the LIKE operator
— [PostgreSQL, MySQL, MariaDB] Search only in columns that are indexed
— [Oracle] The following indices are used, if they exist: context, ctxrule, ctxcat
— [SQL Server] Search is aware of full-text indexes
— [Cassandra] Make several queries for one table

FTSMain

Data editor

— The page size is easy to change
— The results tabs can be named
— [Cassandra] Edit columns of type: set, list, map, tuple, udt, inet, uuid, and timeuuid

PageSize

Database tree view

— Quick table backup
— Quick group creation
Force Refresh action
— Table comments are displayed
— Indicator for live connections

ForceRefresh

Filtering in search and navigation

GoTo popup: filter by data source or a group of them
Find in path: filter by data source or a group of them

ScopesNavigation

Coding assistance

— Completion and resolution use objects from system catalogs
— Quick-fixes are integrated into the inspection tooltip
— New inspections, Unnecessary usage of CASE and Possible truncation of the string
— An intention action to Convert GROUP BY to DISTINCT
— Two new combined items, IS NULL and IS NOT NULL, are now included in code completion
— An Introduce alias action was added to the Refactoring menu

ActionsPopup

Code editor

— New option to control the behavior of Move Caret to Next Word
Select current statement action
— Folding of big numbers
— The option Jump outside closing bracket/quote with Tab is enabled by default
Surround a selection with a quote or brace is enabled by default

MoveCaretAfter

You can update to this new updated and improved version free if you have a subscription to DataGrip or the All Products Pack. Try it out and please share your thoughts and comments on it with us!

For more details please see the What’s new page.

DOWNLOAD DATAGRIP 2019.2

Posted in Features, Releases | Tagged | Leave a comment

DataGrip 2019.2 RC

Hello! This is the release candidate for DataGrip 2019.2! Only small fixes have been made.

– Services tool window now has a quick shortcut: Cmd/Alt+8. IDEA-218447
– Fixed layout problems with result tabs. DBE-5983
– Data editor works again if the tab is named. DBE-8717
– SQL formatter doesn’t break CREATE TABLE statement. DBE-6776
– No more freezes when formatter is used in language injections: DBE-8257
– [Oracle] DDL script for VIEW doesn’t miss column names anymore. DBE-6261
– [Oracle] Long names are not truncated in Oracle 12. StackOverflow question

DataGrip team

Posted in Uncategorized | 4 Comments

DataGrip 2019.2 EAP 3

Hello! Please welcome the newest build of our DataGrip 2019.2 EAP.

Objects from system catalogs in coding assistance

Nearly in every database there is a system catalog – the place where a relational database management system stores schema metadata, such as information about tables and columns, built-in functions, etc.

Objects from these catalogs are needed to provide coding assistance. It’s nice to have them in code completion, and code that uses them should not be red.

Before, the only way to have system catalogs in coding assistance was to add them to the database explorer. So, DataGrip actually retrieved information about them from the database (always the same, by the way!), which took time. Also, they were visible in the database explorer, but that’s not always necessary.

This kind of schemas have the lightning icon in the schema chooser. Now, if you don’t check them, DataGrip will not introspect and show them but will use the information about their objects in coding assistance. To have this possible, DataGrip uses its internal data about system catalogs for each database.

MinCatalogs

Some examples of system catalogs for several databases:

PostgreSQL: pg_catalog, information_schema
SQL Server: INFORMATION_SCHEMA
Oracle: SYS, SYSTEM
MySQL: information_schema
DB2: SYSCAT, SYSFUN, SYSIBM, SYSIBMADM, SYSPROC, SYSPUBLIC, SYSSTAT, SYSTOOLS

Force Refresh

A new action is available for the data source or schema, called Force Refresh. It clears the data source information that DataGrip caches, and refreshes it from scratch.

ForceRefresh

Easily change the results page size

Now, to define how many lines you want to be retrieved from the database, you can do it from the result-set’s toolbar.

PageSize

Name your results tabs

Another super-cool improvement for results: tab naming! Just use the comment before the query.

PrefixNames

If you don’t want any comment to become a tab name, use the Prefix in settings: only words coming after that prefix word will be used as titles.

PrefixSettings

Now you can see which particular statements DataGrip will run to perform a data search.

FTSPreview

Fold big numbers

If you want to improve the readability of big numbers, fold them with the shortcut: Ctrl/Cmd+Minus.

Folding

That’s all for this new EAP! Stay tuned for the next EAP release coming your way. 2019.2 is going to be cool!

The DataGrip Team

Posted in Uncategorized | 9 Comments

DataGrip 2019.2 EAP 2

Hello! Please welcome the newest build of our DataGrip 2019.2 EAP.

The Full-text Search dialog has a nice new look.

FTS

The whole mechanism has had several improvements made to it:

– In PostgreSQL, MySQL, and MariaDB you can now switch it to only search in columns that are indexed. To use this mode, choose ‘Only columns with full-text search indexes’ in Search in the drop-down menu.

The query in PostgreSQL will be: where col @@ plainto_tsquery('query')
The query in MySQL and mariaDB will be: where match(col) against ('query' in natural language mode)

– The search looks in columns which don’t support the LIKE operator, for instance, columns of JSON type. Values in these columns are converted to string type beforehand.

– In Cassandra, DataGrip creates several queries for one table, because the OR condition isn’t supported by the database.

Database tree

Drag-and-drop now works for creating groups in the database explorer.

If you want to create a new group, just drag-and-drop one data source onto the other.
If you want to place the data source into an existing group, drag-and-drop it there.

DragnDrop

Working with queries

Before, when working in the read-only mode we had some inconsistency: if a user wanted to run an update query from the read-only mode, we turned off only the IDE-level mode, but not the JDBC one (DBE-8145). Now though, we turn off both so you can run the query if you really need to.

ReadOnlyMode

A new action is available: Select current statement. You can get to it from Find Action (Ctrl/Cmd+Shift+A) or assign it a shortcut of its own.

SelectCurrentStatement

New combined items are now in code completion: IS NULL and IS NOT NULL.

INN

And we’ve added another intention action: now you can convert GROUP BY to DISTINCT if all the columns of a SELECT clause are presented in a GROUP BY clause.

GroupByIntention

That’s all for this new EAP! Stay tuned for the next EAP release coming your way; 2019.2 is going to be cool.

DataGrip team.

Posted in Uncategorized | 2 Comments

DataGrip 2019.1.4

Hi! This is what you can expect in the newest update for DataGrip 2019.1.

— We hope that, finally, all the performance problems on startup are fixed! JBR-1393
— The Filter History is preserved in the data editor after a restart DBE-8318
— Boolean values can be edited when creating a new row DBE-7701
— [Oracle] DataGrip doesn’t hang when working with big packages DBE-8499
— [Apache Ignite] Data editor now works DBE-8453

Posted in Uncategorized | 6 Comments

DataGrip 2019.2 EAP

Hello! No long preamble, we have begun our DataGrip 2019.2 EAP! Let’s look at what’s inside.

tKxcasig

Services tool window

All our IDEs now have a new tool window called Services. In DataGrip, you can observe and manage all the connections there. Here is how it looks:

Services

Every connection has its own node under the corresponding data source. If the small green light on the icon is on, it means that the connection is alive. You can close any of them.

You can view all the service types as nodes, or you can alter the view to see them as tabs. Use the Show in New Tab action from the toolbar or simply drag and drop the needed node on to the edge of the Services tool window.

The query result is now attached to the particular console under its connection in the
Service view. We realize that the UI has changed a bit, so please provide us with feedback. During the EAP there is still the chance to test and apply changes quickly. For now, if you want to have more room for the results, change the size of the left panel.

Query live timer

The Services tool window also provides you with some very requested functionality: a query live timer. As you can see, to the right of every connection which runs a query there is information about the time it has taken.

Now there is the ability to search for some data even if you don’t know where it is located. To do this, select the data sources or groups of data sources you want to search through and invoke Full-text search from the context menu. There is a shortcut as well: Ctrl/Cmd+Alt+Shift+F.

FTSInvoke

Then you will see the dialog you should put the string you need into. Here you can see the list of data sources to search through and also define some options for the search.

FTSDialog

As soon as you have started the search, DataGrip performs queries against all the tables and views in these data sources. These queries just search for the string using the LIKE operator.

After you see the results you can open them.

FTSResults

After clicking on the result, the data editor will open. The filter will be pre-defined to give you only those strings where the data is found. If you cannot locate the data because of the number of columns, use text search in the data editor: Ctrl/Cmd+F.

FTSResultsData

Filtering by a data source in search and navigation

When you are locating an object in the GoTo pop-up, sometimes many similar objects are present in the list. It frequently happens when you have many mirrors: production, staging, test, etc.

In DataGrip 2019.2, you can choose where to search: in a particular data source or in a group of them.

ScopesNavigation

The same works for Find In Path which is extremely useful when searching for source code inside of DDLs of other objects.

ScopesFindInPath

Code analysis

First, we integrated a quick-fix into the inspection tooltip. Now, if DataGrip knows how to fix the problem, you will know about it by just hovering the mouse over the warning. To fix the problem just click on the link at the bottom left corner of the tooltip or press Alt+Shift+Enter.

ActionsPopup

Alt+Enter still works for getting the list of all the possible quick-fixes.

Also, we’ve introduced several new inspections.

Unnecessary usage of CASE

When you use CASE construction DataGrip analyzes whether they can be transformed into more readable ones.

To IF:

InspCaseToIf

Or to COALESCE:

InspCaseToCoal

Possible truncation of the string

DataGrip detects the length of the string when assigning a value to the variable and warns you if it will be truncated.

InspStringWillBeTrunc

Database tree view

Quick backup of the table

It was possible to copy tables via drag-n-drop, but it didn’t work when copying to the same schema. In fact, this could have been very handy if you ever needed to create a quick backup of the table before any crucial data manipulations. So we’ve now made it work!

QuickBackup

Live connections

From 2019.2 the small green light indicates if there is an alive connection to the data source.

DataBaseTree

Table comments

If you wish to see comments of the tables in the tree view toggle View | Appearance | Descriptions in Tree Views option.

CommentsInTree

Miscellaneous

New option to control the behavior of Move Caret to Next Word

The default behavior of the Move Caret to Next Word action is changed: the IDE will move the caret to the end of the current word.

To change the behavior of the caret movement actions, go to Preferences/Settings | Editor | General.

CaretOptions

People usually perform this action by pressing Ctr+Arrows on Windows and Linux and
Opt+Arrows on Mac. It has different default behavior in different operating systems. In Datagrip we used Windows-like behavior and we changed it to the Mac-like one.

This how it was before:

MoveCaretBefore

And now it’s like this:

MoveCaretAfter

Anyway, if you like the previous behavior, you can always customize it.

Editable columns in Cassandra

In Cassandra now you can edit these types of columns: set, list, map, tuple, udt, inet, uuid, and timeuuid.

CassandraEdits

Other

— The upcoming DataGrip 2019.2 will run under JetBrains Runtime 11, the uncertified fork of OpenJDK 11, by default.
Jump outside closing bracket/quote with Tab option is enabled by default.
Surround a selection with a quote or brace option is enabled by default.
Introduce alias action is added to the refactoring menu.
— DataGrip works with PostgreSQL 12: DBE-8384.

DataGrip team

Posted in EAP, Features | Tagged | 6 Comments

DataGrip 2019.1.3

Hi! This is the third update for DataGrip 2019.1.

First, there are no more freezes after sleep! https://youtrack.jetbrains.com/issue/IDEA-210361

Also, we’ve fixed the annoying indentation in SQL Server that was happening after starting a new line.

Other fixes:

IDEA-176926 The All Places scope now includes scratch files and consoles. This is more important for anyone using the database plugin in other IDEs, and not DataGrip itself. In DataGrip scratches and consoles were already part of the All Places scope.
DBE-7993 The Formatter keeps the line break before INTO.
DBE-8223 The Formatter doesn’t break the code by quoting local variables.
DBE-8248 The Sublime keymap is bundled.
DBE-8133 Export into INSERT statements works again for Cassandra.

Posted in Uncategorized | Leave a comment