ThatJeffSmith

SQL Developer Quick Tip: Filtering Object Lists

How deep do you go in your software? Do you make it at least 1 click deep? I’m talking about right-clicking with your mouse. Software folks are often accused of hiding things on context menus, but you have to remember that software is engineered and developed by folks that are comfortable with computers – and we just assume everyone knows to ‘right click everywhere.’

You may have noticed something was amiss when you first used the object tree in the Connections pane.

Wait, you're hiding stuff from me?!?

The ‘Tables’ tree node has a ‘(Filtered)’ notation next to it. Out of the box we are choosing not to show you any tables that are in the Recycle Bin. Quick side note: when you drop a table, Oracle just renames it with a funny system name (BIN$…), and then it eventually ages out. So we figure you don’t want to see those and we filter the object list accordingly. But, if you right-click, you can configure the filter to your liking!

Maybe you don’t want to see tables for materialized views or tables belonging to a particular project or application.

Apply Filter

Right-click on the ‘Tables’ node and choose ‘Apply Filter.’ You can create one or more filtering clauses to limit what’s shown. For this example we’re talking about tables, but you can apply this to any object type on the tree. You can also apply a filter at the connection level, so if you had a bunch of tables, views, jobs, sequences that all started with ‘BOB_’, those can be easily hidden in one quick swipe.

We don’t have a lot of buttons in SQL Developer in order to keep the interface clean and uncluttered as possible. However, this is one of those cases where we have a button. You’ll notice there’s a funnel-looking button on the Connections panel toolbar. You can click on that too.

Here’s an example of a table filter I’m using to hide stuff I don’t want to see including some support tables for APEX and SQL Developer’s Unit Testing feature.

Please don't show me this stuff.

I routinely work with customers that have thousands of tables. How often do you think they interface with each of those tables every day? Never, right? So if you’re going to be neck-deep in a project for a few days, take a second to create a filter to hide the objects you don’t need to be bothered with at that moment. Or, you could use software like most sheeple and just run it like it’s out-of-the-box.