DataGrip 2016.3 Released!

Hello, everybody!

This release cycle was really important for DataGrip — triggers support, find usages inside views/procedures, bulk submitting of changes: all these features were long-awaited and we thank everybody who helped us provide them in the right way during our EAP program. We are excited to release DataGrip 2016.3!

announce

As usual, everything described here is also available in 2016.3 version of IntelliJ IDEA, PyCharm, RubyMine and PHPStorm, except one small feature we will tell you about.

Here we go!

Source code storage

Now DataGrip shows triggers, views, and materialized views source code. Also, IDE lets you find usages of tables/views inside other views, stored procedures, and functions.

How does that work? The IDE loads the source code of major types of objects and puts them into the local storage. This opens up many new possibilities, so let’s briefly go over them.

To make this storage work, please re-synchronize your data source. Select Forget Schemas, and then click the Synс/Refresh button.

forgetschemas

You’re ready. Most importantly, now you can find usages of objects inside the source code of other objects. For instance, you can learn in which stored procedures, functions or views your table is used. As usual, press Alt+F7 on the table name or call it from the context menu. In the Usages window you can see the preview of objects, i.e. the source code of the objects where your table is used.

What else? We’ve fixed many bugs related to source code. Now DataGrip shows it for triggers in all popular management systems: MySQL, PostgreSQL, SQL Server, Oracle, and Sybase. We also added the Drop action to the context menu.

triggerssupport

View source code is also shown correctly in all places. In addition to Copy DDL, there is a new action in the context menu now: Open DDL in Сonsole.

openddlinconsole

We didn’t forget about materialized views in PostgreSQL: their source code is now available, and materialized views can be refreshed from the UI.

materializedviews

When you edit the source code of any object, DataGrip tracks your changes and highlights edited rows in the left editor panel. If you click on a highlighted row, a small toolbar is displayed with a Show Diff link. Click it to see the difference between the row you’ve changed and the one from the source code.

Important! Everything you’ll write in this editor will be saved as the local version of the object’s source code. It means that you will see all queries you entered here every time you open the editor, until you press Revert.

gutterdiff

If there are lots of changes in many places, you can see all of them in the Database Changes window. Please note that this window is available only in DataGrip, not other IntelliJ-based IDE’s.

databasechangesmenu

Any individual change can be clicked to display the diff viewer as well.

databasechanges

Remember that you can manage which sources will be loaded (or none at all) using the Options tab of data source properties, or from the context menu for several data sources at once.

loadsourcesmenu

Other enhancements connected to database objects support are:

  • Views can be renamed using Ctrl+F6 (Cmd+F6 for OSX).

renameviews

  • Operator’s signature in PostgreSQL is shown in the database view.

operatorssemantic

  • Comments in creating procedures/functions DDL are now saved to the database.

commentprocedures

Data editor

A lot of new features of this version are related to the data editor. The first and the most important: now all your changes are stored locally and can be submitted at once. Local changes are colored, so you can see which changes you are going to save, be it updating, inserting or deleting rows.
Submit changes by Ctrl+Enter (Cmd+Enter for OSX).  As usual, Ctrl+Z (Cmd+Z for OSX) is for canceling, but works in a tricky way — only the selected changes are canceled. If you wish to cancel all of them, select all cells by Ctrl+A (Cmd+A for OSX) before reverting.

bulksubmit

Several fields can be edited at once: just select them and begin to type. Of course, it works only if the columns you are editing are not unique and have the same type.

mordor

We added data conversion. Copy-paste your data even if the fields have different types of data, and moreover, even if the tables are in different databases from different vendors!

Since multiple cells edit is also available, this will work with the whole column of data as well. Date to string, bool to integer — not a problem.

conneversion

The familiar editor’s action called Select next occurrence by Alt+J (Ctrl+G for OSX) works here now, even if several cells are selected.

nextoccurence

Another familiar Expand selection action by Ctrl+W (Alt+Up for OSX) works in the data editor like this: first, a field is selected, then the column of the active field, then the row of the active field, and finally, the whole grid.

growselection

Code insight

The INSERT statement completion offers you not only the list of all fields but also the list of fields which have no default value.

completionwithputdefaults

The IDE will warn you about an unused variable or parameter in the function.

unusedinspection

Another inspection will let you know if there is a different number of columns in queries used in set operators (UNION, INTERSECT and EXCEPT).

unioninspection

The new intention action offers you to introspect the schema or databases right from the editor if DataGrip has no metadata on them yet.

introspectmissing

Some specific features for PostgreSQL users: when you use JOIN USING, DataGrip offers you only the field names common for both tables.

usingcompletion

Find Usages now handles positional parameters references: $1 will be treated as the first parameter’s usage and so on.

findusagesbucks

Navigate to the next method, familiar to many of you from our other IDE’s, now works in DataGrip and is called Navigate to the next statement.  Invoke it by Alt+Up and Alt+Down (Ctrl+Down and Ctrl+Up for OSX).

navigation

Data Dump

We integrated DataGrip with mysqldump and pg_dump. To dump the objects, use the Dump with… option from the context menu.

dumpcontext

This is what the dialogue window for MySQL looks like:

dumpmysql

And here is the one for PostgreSQL. Note that in both cases you can use completion for the console parameters.

dumppostgres

XML extractor comes back

Back in 0xDBE times (remember those?) we had an XML-extractor. Some of you asked to bring it back, and we’ve obliged.

xmlcontext

Here what the extractor’s result looks like:

xmlresult

Other features

When large script files are run from the context menu, now they are executed much faster.

fasterrunscripts

Now DataGrip detects if an old driver is in use and offers you to update it.

driverversions

You might have noticed the new icons! We hope you’ll like them.

icons

Other fixes and enhancements in this release include:

  • SQL Server 2016 grammar support
  • PostgreSQL 9.6 grammar support
  • Many minor objects can now be dropped from the UI
  • Many minor objects are now resolved in the SQL code
  • Rules support in PostgreSQL
  • External tables parsing in Oracle
  • The FiraCode font is bundled
  • Auto-inc support in SQLite
  • Expression index support in SQLite

That’s it! Get your 30-day trial of DataGrip today if you haven’t yet, or just enjoy the new features of DataGrip if you’re our user already. Your feedback is welcome in our twitter, forum, and the issue tracker. Let us know what you think!

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in Uncategorized | 4 Comments

DataGrip 2016.3 RC is Out

Hi! We are rushing to the release in the end of November, and here is the release candidate for 2016.3!

Among various bug-fixes a couple of new features were added since the last EAP:

Navigate to the next method, familiar to many of you from our other IDE’s now works in DataGrip. It’s called Navigate to the next statement and should be invoked by Alt+Down and Alt+Up (Ctrl+Down and Ctrl+Up for OSX).

navigation

If you run large script files from the context menu, please know that now they are executed much faster.

fasterrunscripts

We’ll be happy if you try this build and follow us not to miss the huge blog-post about all new features in this release!

DataGrip team

Posted in Uncategorized | 4 Comments

Another EAP build: Data conversion, materialized views in PostgreSQL and more

Bonjour! We are rushing to the release and here is a new bunch of features you can already try in the DataGrip 2016.3 EAP.

The most notable feature of this build is data conversion. Now you can copy-paste your data even if the fields have different types of data, and moreover, even if the tables are in different databases from different vendors!

Since this release also brings you multiple cells edit, this will work with the whole column of data as well. Date to string, bool to integer — not a problem. Our loyal EAPers already know: edited rows are colored and stored locally before you submit your changes. Well, with 2016.3 you’ll get a powerful data editor, won’t you?

convertgifbig

Select Next Occurrence (Alt/Ctrl+G) action now works in data editor. Even if several cells are selected.

findoccurence

PostgreSQL users will be glad to know that we now fully support materialized views. It means that DataGrip lets you edit their source code, refresh them from the UI, and search for usages of objects inside them. And just a reminder: finding usages inside views is also a new feature of 2016.3. Please remember to refresh the schemas of your database to get this support.

matviews

Triggers, which are also supported in this version, now can be dropped from the UI.

droptrigger

If you run large script files from the context menu, please know that now they are executed much faster.

runscsipts

And maybe you’ve already noticed the new icons! We hope you like them.

icons

That’s all for today. Your feedback is welcome in our twitter, forum, and the issue tracker. Let us know what you think about 2016.3!

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in Uncategorized | Leave a comment

More source codes! New EAP of DataGrip 2016.3

Hello! We have a new EAP build out which is very important.

Now DataGrip shows triggers and views source code and lets you find usages of tables/views inside other views, stored procedures and functions.

So how does that work? The IDE loads the source code of major types of objects and puts them into local storage. This opens up many new possibilities, so let’s briefly go over them.

To make this storage work, please re-synchronize your data source. Select Forget Schemas, and then click the Synс/Refresh button.

forgetschemas

OK, now you’re ready. Most importantly, now you can find usages of objects inside the source code of other objects. For instance, you can learn in which stored procedures, functions or views your table is used. As usual, press Alt+F7 on the table name or call it from the context menu.

findusagescontext

In the Usages window you can see a preview of the objects, i.e. the source code of the objects where your table is used.

findusagesresult

What else? We’ve fixed many bugs related to source code. Now DataGrip shows it for triggers in all popular management systems: MySQL, PostgreSQL, SQL Server, Oracle and Sybase.

triggersource

View code is also shown correctly in all places. In addition to Copy DDL, there is a new action in the context menu now: Open DDL in Сonsole.

openddlinconsole

When you edit the source code of any object, DataGrip tracks your changes and highlights edited rows in the left editor panel. If you click on a highlighted row, a small toolbar is displayed with a Show Diff link. Click it to see the difference between the row you’ve changed and the one from the source code.

gutterdiff

If there are lots of changes in many places, you can see all of them from the Database Changes window. Any individual change can be clicked to display the diff viewer as well.

diffchanges

Remember that you can manage which source codes will be loaded (or none at all) in the Options tab of datasouce properties, or from the context menu for many datasources at once.

sourceloadoptions

That’s all for now! Please try all these new changes and let us know your opinion about them. We need to know your thoughts to polish all this before the official release in late November.

Your DataGrip Team

 

Posted in Uncategorized | Leave a comment

Connecting DataGrip to SQL Server Express LocalDB

First you need to check if you LocalDB instance is ready for connection. Locate SqllocalDB.exe and run the SqllocalDB.exe i command in terminal. You will see the list of available LocalDB instances on the server which you are connecting to.

01-console-info

Say we want to connect to the v11.0 instance. First we need to check its state by running SqllocalDB.exe i v11.0 command.

02-console-instance-info

As you can see by examining the State field, right now the instance is stopped. Remember that by default every LocaDB instance is terminated after several minutes of inactivity. This behavior can be changed, but now we need to start the instance by running SqllocalDB.exe s v11.0

03-console-instance-start

It’s ready, so let’s launch DataGrip.

Invoke the database view by pressing Alt+1 and click + to add a new datasource, then choose SQL Server (jTds).

newdatasource

In the connection window we first select LocalDB in the dropdown next to the URL field. Then we go to the Instance field and select the instance to connect to, in our case, v11.0.

localdbchoosing

Then, go to the Advanced tab and find the DOMAIN option and set it to the name of the machine where the instance is installed. If the instance is on your local machine, use the name of your computer.

domainchoosing

The only thing left to do is to enter the access credentials and then click Test connection.

testsonnection

Voila!

result

Your DataGrip Team
_
JetBrains
The Drive to Develop

 

Posted in Tutorial | Tagged , , | Leave a comment

New EAP build of 2016.3: bulk submit, improved drivers management, renaming views and more.

Hi there! It’s time for the new EAP build for 2016.3 which is going to be released later this November. There are several interesting features inside, so without further ado let’s take a look at them.

Bulk submit changes

You’ve waited a long time for this way of editing data, and here it is: Now all your changes are stored locally and can be submitted at once. Local changes are colored, so you can see which changes you are going to save, be it updating, inserting or deleting rows. As usual, Ctrl/Cmd+Z is for canceling.

safe-edit

If you want to bring back the behavior of previous versions, turn it on in Settings.

submitimmi

Driver management

Now DataGrip underlines your datasource if the version of the driver is not the latest. If you really wish to use the particular version of the driver, tweak it in driver settings. Also, you can uncheck “Use provided driver” and use only files added to the Additional list. Otherwise, files in this list will be used with the provided driver.

olddrivers

Renaming views

DataGrip now supports renaming views: As with tables, if you rename the view it will affect the object in the database and all its usages in open files.

renameview

XML extractor

Back in 0xDBE times (remember those?) we had an XML-extractor. Some of you asked to bring it back, and we’ve obliged.

xmlmenu

Here what the extractor’s result looks like:

xmlresult

SQLite support

Some improvements in SQLite support: modify table dialog now lets you add an auto-increment. Yeah, the way it’s done is tricky, but that’s how SQLite actually works!

auto_inc

Expression index in SQLite is not a problem for DataGrip anymore.

expressionindex

Besides all of the above, this build brings:

  • PostgreSQL 9.6 grammar support
  • Table resolve for SELECT * INTO in stored procedures
  • Correct resolving in type creation in Oracle

Please know, your feedback is always welcome in our twitter, forum and the issue tracker.

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in EAP, Features | Tagged , , , | Leave a comment

We open EAP for DataGrip 2016.3

Hello! As you know, there is a good tradition to let you try new product features before the official release, so today meet DataGrip 2106.3 Early Access Program.

intro

This version features integration with dump tools, several new inspections, the possibility to edit several fields at the same time, new completions, and many other enhancements. Let’s take a closer look at them:

Drivers

Now DataGrip detects if an old driver is in use and offers you to update it:

updatedrivers

Table Editor

Now you can edit several fields at once — just select them and begin to type. Of course, it works only if the columns you are editing are not unique and have the same type.

mordor-1

The familiar expand selection action by Ctrl+W (Alt+Up for OSX) now works in the data grid as well: first, a field is selected, then the column of the active field, then the row of the active field and finally, the whole grid.

dataselection

External dump tools integration

We integrated DataGrip with mysqldump and pg_dump. To dump the objects, use the Dump with… option from the context menu.

dumpcontext

This is what the dialogue window for MySQL looks like:

dumpmysql

And here is the one for PostgreSQL. Note that in both cases you can use completion for the console parameters.

dumppg

Code completion

Now if you use JOIN USING, DataGrip offers you only the field names common for both tables.

usingcompletion

The INSERT statement completion offers you not only the list of all fields but also the list of fields which have no default value.

insertnotdefault

Inspections

The IDE will warn you about the unused variable or parameter in the function.

unusedvar

Another inspection will let you know if there is a different number of columns in queries used in set operators (UNION, INTERSECT and EXCEPT).

unioninspection

Introspect missing schemas and databases

The new intention action offers you to introspect the schema or databases right from the editor if DataGrip has no metadata on them yet.

instrospectmissing

Find usages in PostgreSQL

Find Usages now handles positional parameters references in PostgreSQL: $1 will be treated as the first parameter’s usage and so on.

usagesofbucks

FiraCode font

All IntelliJ-based products bundle FiraCode font so you can use it to have ligatures in your code.

firacode

Other enhancements

  • SQL Server 2016 grammar support
  • External tables parsing in Oracle
  • Better operators parsing in PostgreSQL
  • SELF resolving in Oracle

That’s it! Your feedback is welcome in our twitter, forum and the issue tracker. Let us know what you think about 2016.3!

Your DataGrip Team
_
JetBrains
The Drive to Develop

Posted in Uncategorized | Tagged | 6 Comments

DataGrip 2016.2.3: “Redshift shows all objects now” and other fixes.

Hello! We are thankful to the Amazon Redshift users for reporting the issue with DataGrip not showing the objects contained in schemas in the Database view – the problem has been fixed and we are delivering the new minor update as soon as we can.

redshift

Other important fixes of this update are:

Now DataGrip shows the correct number of rows if the PageSize parameter is set to 0.
DBE-3076

Exporting the result-set affects the whole set, not only one page.
DBE-3091

Fixed bug in comparing schemas with different names.
DBE-2328

The Flip intention action (did you know about it, by the way?) in functions has been fixed.
DBE-3105

flip

Update your version of DataGrip using the Check For Updates… menu or just download a new version from our web-site. Please, keep reporting problems to us if there are any.

Your DataGrip Team
JetBrains
The Drive to Develop

Posted in Minor updates | Leave a comment

DataGrip 2016.2.2 is Out

Hello! Another  minor update for 2016.2 release. Users experienced some problems with database synchronizing, we’ve fixed several bugs with this, but not only. The most important issues are:

We have fixed the bugs with freezing during the introspection.
DBE-2921DBE-2867

There was an error with incorrect results on the other pages of the result-set, we’ve fixed them.
DBE-3012DBE-3032

DataGrip doesn’t retry failed command  after detecting connection problems.
DBE-569

Schema comparing tool now understands if it needs to create the table or alter it.
DBE-2794

Fixed bug with Snowflake database introspection.
DBE-2935

Please update your version of DataGrip from Check For Updates… menu or just download a new version from our web-site. Please, keep reporting problems to us if there are any.

Your DataGrip Team
JetBrains
The Drive to Develop

Posted in Minor updates | 2 Comments

The first minor update for DataGrip 2016.2

Hi! Thank you for your feedback about our 2016.2 release. In this minor update several important bugs are fixed:

DBE-2956: Columns became not visible at attempt to edit them
DBE-2612: Query results font is not increased in Presentation Mode 
DBE-2941: Cannot export query results to CSV or copy them to clipboard
DBE-2903: Release upgrade asks for the license

DBE-2917: Don’t replace types in PostgreSQL to equal ones
DBE-2909: Cannot handle PostgreSQL functions with default variadic parameters
DBE-2912DataGrip doesn’t save parameters for a function in PostgreSQL

Please update your version of DataGrip from Check For Updates… menu or just download a new version from our web-site. Please, keep reporting problems to us if there are any.

Your DataGrip Team
JetBrains
The Drive to Develop

 

Posted in Minor updates | 6 Comments