I'm evaluating moving from SQL Complete to DataGrip. Thanks JB for the 30 day eval, because 30 days is what's needed.
My eval time is almost up. Here my observations and questions using w/SQL Server (in no particular order):
1. Does introspection support cross server queries? We have servers lined and write queries which pull data between them. DG offers no writing assistance when querying through a linked server.
2. A nice feature of SQL Complete is aggregation in results view. DG have something like this?
3. Is there a way to move the results of an execution to the footer of the editor, close to the source?
Should be here:
4. Is there a way code completion for table names put an "as" between table name and alias? DG puts the alias. Looking to put the "as," e.g. "select * from mytable as MT"
5. In formatting options, can there be "As in database" or "As in metadata" option? The "No Change" option seems to not touch text as I typed, which is not preferable. (The other casing options won't work.) Ex: "select * from salesorder" should format to "select * from SaleOrder" if SalesOrder is the table's name. Ditto for procs, etc. Bonus if you can add a "Initial caps each word" option.
6. Is there a way to invoke by keyboard the hint which appears for function and procedure calls? Sometimes the hint appears for the first parameter after typing opening parenthesis and then will disappear. Would be nice to call it back up.
7. Why are joins not suggested? I know DG is supposed to suggest joins, but it's never worked for me. Is Control-Space supposed to show possible joins? And it should work between tables without FK defined by columns names in common. Right?
8. What is the equivalent function for "Change Connection" in SQL Server Management Studio?
9. Are there colors for the editor gutter to indicate code which has changed since load or changed and saved since load? See SSMS or many other IDEs. I'm using dark scheme. Not sure if that scheme is hiding it. The scrollbar area has lots of colors, but that's bird's eye view. Not sure it has the info I'm looking for.
10. Can console names default to server or database name? When attaching to a console, it's hard to know what is what. And I don't have a desire to name every console I open.
11. Is there a way to execute results into a new tab? Scenario is I run query A, results appear. Now I want to run query B into a new results tab.
12. What is the best practice for setting up projects, especially database connections? I work w/multiple databases on a server, often querying across databases. Do I set up a single datasource for all databases? Or is it better to set up a datasource for each database? If I do the latter, will I lose cross-database introspection when writing a queries in the editor that's connected to a datasource?
This is important not just for getting insight writing assistance, but it determines when introspection happens. Introspection is killing performance of DG. And the way I work makes it worse. I have many object scripts which recreates procs, func, views, etc. by dropping the existing object and creating the object again. When this happens, DG kicks off a "background" introspection.
Background is not really background as it causes DG to lock up. Likely the source of this slowdown is the fact my datasource includes a database with lots of objects, MS Dynamics GP. When I see the status message appear saying beginning an introspection, even incremental, DG slows down.
Postscript: There are number of code formatting issues I've yet to figure out how to resolve with given settings. I'll keep trying and query here later.