Tuesday, March 21, 2006

Tool envy and SQL Developer

I've finally started evaluating SQL Developer as a general tool for our team. Like most people I've been speaking to, I'm getting a bit sick of TOAD's increasingly bloated footprint and array of meaningless icons. (And I liked Sue Harper 's presentation on it...)

Anyway, the early signs are reasonably good. As version 1.0 tools go this is definitely one of the most stable and feature rich applications I've used and it's got some really strong points.

Things I like:

  • The ability to name database connections

  • Autocompletion for object names

  • Pretty much everything about the package / procedure editor

  • The simplicity and general lack of clutter in the UI

Things I don't like:

  • The procedure editor doesn't yet save to files

  • There's no TOADlike session browser

For now, the lack of transparently saving packages and procedures as files is a bit of a block to us picking it up as a full blown IDE tool, but I'm sure this is coming and we'll be watching SQL Developer very closely for when this appears.

The session browser I can live without as there are other tools out there that'll do this job.

But the thing that's starting to get me REALLY excited is the prospect of Eclipse IDE integration...

So how far are Oracle likely to take this? Here's what I'm hoping:

In your Eclipse Project you get a new set of properties that allow you to assign database connections to your workspace.
Whenever you want to edit a package / procedure / etc it launches the SQL Developer procedure editor.
Saving one of the said files issues a save against the file system and a compile against the database.
The result is that I get a feature rich editor in Eclipse plus the fact that I can completely ignore my database when I'm writing my code. No more accidentally forgetting to install the latest version of the package before I test it.

Beyond that? I'm kinda hoping that Oracle take the lead from the Java community and start offering refactor tools. Imagine a 'Rename Package' option that drops your old version, renames the files, creates the new version, and then updates all references to that package in other packages / procedures / functions / etc / etc.

Similarly with a 'Rename Table'. Change the table name and then change every reference to that table that exists in the system. Generate me a script that does the rename table operation and I just need to put it into my patch runner.

Sorry, I'm drooling now.

Then we start to get a development environment for Oracle that properly supports you working in an agile manner.

Oh, and while we're at it, integration with UT-PLSQL would be nice too...


Anonymous said...

Another alternative to TOAD is PL/SQL Developer - homepage is here

It has a lot of functionality, a great debuggger and the ability to add third party plug-ins.

Oh, and it's very good value!

Rob Baillie said...

Looks interesting.

Though I'm not sure about the second screenshot, of the PL-SQL editor.

The example code is peppered with examples of the classic useless comments:

if p_empno is null
-- if empno is null, return an empty name
result := null;

If you can't work out what that if statement is doing then you shouldn't be looking at the code ;-)