I can tell you from personal experience that, when you reach a certain point in your life, you start looking for synonyms to use in place of “old”.
If your a venerable yet still useful Oracle IDE for example, you may prefer the term “Classic”.
One thing SQLDeveloper Classic isn’t is obsolete. It still allows customisations that are not currently available in it’s shiny new successor – the SQLDeveloper extension for VSCode.
Fortunately, there’s no reason you can’t run both versions at the same time – unless your corporate IT has been overzealous and either packaged VSCode in an MSI that prohibits installation of extensions or has a policy preventing extensions running because “security”.
Either way, SQLDeveloper Classic is likely to be around for a while.
One particular area where Classic still has the edge over it’s shiny new successor is when it comes to user-defined extensions.
In this case – finding out the partition key and method of a table without having to wade through the DDL for that object…
Table Partitioning Meta Data
The following query should give us what we’re after – details of the partitioning and sub-partitioning methods used for a table, together with a list of the partition and (if applicable) sub-partition key columns :
That’s quite a lot of code to type in – let alone remember – every time we want to check this metadata, so let’s just add an extra tab to the Table view in SQLDeveloper.
Using this query, I’ve created an xml file called table_partitioning.xml to add a tab called “Partition Keys” to the SQLDeveloper Tables view :
Note that we’re using the SQLDeveloper supplied ( and case-sensitive) variables :OBJECT_OWNER and :OBJECT_NAME so that the data returned is for the table that is in context when we open the tab.
If you are familiar with the process of adding User Defined Extensions to SQLDeveloper and want to get your hands on this one, just head over to the Github Repo where I’ve uploaded the relevant file.
You can also find instructions for adding the tab to SQLDeveloper as a user defined extension there.
They are…
Adding a User Defined Extension
In SQLDeveloper select the Tools Menu then Preferences.
Search for User Defined Extensions
Click the Add Row button then click in the Type field and select Editor from the drop-down list
In the Location field, enter the full path to the xml file containing the extension you want to add
Hit OK
Restart SQLDeveloper.
When you select an object of the type for which this extension is defined ( Tables in this example), you will see the new tab has been added
The new tab will work like any other :
Useful Links
The documentation for Extensions has been re-organised in recent years, but here are some links you may find useful :
As you’d expect, Jeff Smith has published a few articles on this topic over the years. Of particular interest are :
An Introduction to SQLDeveloper Extensions
Using XML Extensions in SQLDeveloper to Extend SYNONYM Support
How To Add Custom Actions To Your User Reports
The Oracle-Samples GitHub Repo contains lots of example code and some decent instructions.
I’ve also covered this topic once or twice over the years and there are a couple of posts that you may find helpful :
SQLDeveloper XML Extensions and auto-navigation includes code for a Child Tables tab, an updated version of which is also in the Git Repo.
User-Defined Context Menus in SQLDeveloper