Philipp Salvisberg’s Blog

Database-centric development

PinkDB PL/Scope Model Multi-temporal Features
2020-08-09

Formatting SQL Scripts in a Directory Tree with SQLcl

Introduction Oracle’s SQL Developer can format code in any worksheet and PL/SQL editor. The formatter is highly configurable and the default formatting results are becoming better with every version. Oracle’s SQLcl is a command-line tool. It’s a stripped down version of SQL Developer and known as a user-friendly alternative for SQL*Plus. But […]
2020-06-21

Names Matter

This is one of my favorite quotes: There are only two hard things in Computer Science: cache invalidation and naming things. — Phil Karlton IT is my daily live. And this quote is so true. Lately I’ve been thinking much more than usual about naming, and that names really matter. This led […]
2020-06-07

utPLSQL for SQL Developer 1.2 – What’s New?

Today I released an update of the utPLSQL extension for SQL Developer. In this blog post I explain the changes in the latest version 1.2. These are the new features: Debug Test Cancel Test Run Test Run with Code Coverage Java instead of Xtend Download the latest version from GitHub. Debug Test […]
2020-06-06

Bye bye Xtend, Welcome Java

Introduction The utPLSQL extension for SQL Developer was originally written in Xtend. In this blog post I explain why we decided to migrate the project to Java and how we’ve done that. Why Replace Xtend? Xtend is a statically typed, clean language with excellent string templating features and a fine integration into […]
2020-04-26

Syntax Highlighting With SQL Developer

Introduction A customer asked me if it is possible to show unused identifiers in SQL Developer. Since there is no PL/SQL compile warning for that, you might be tempted to say no. But you can always use PL/SQL Cop for static code analysis. Guideline G-1030 deals with variables and constants and guideline […]
2020-04-13

Formatting Code With SQL Developer

Introduction I started using SQL Developer in 2013. Back then version 4.0 was the latest and greatest. But the capabilities of the formatter were disappointing. In 2017 Oracle released version 4.2 with a new formatter and has been improving it ever since. Version 19.2 brought us dynamic JavaScript actions within the parse-tree […]
2019-12-22

Moving to GitHub

Over the years, my blog has become one big mess. It was no longer a blog. It contained product pages, change logs, software downloads, FAQs and even a forum. That was a nice experiment. But now it’s time to move everything that doesn’t belong in my personal blog to another place. A […]
2019-12-21

Update Center for Free SQL Developer Extensions

Introduction In July 2017 Oracle announced to release updates for SQL Developer on a quarterly basis. Installing multiple versions of SQL Developer on the same machine is not a problem. Therefore many developers install a new version as soon as it becomes available. On the first start SQL Developer offers to import […]
2019-12-13

Constants vs. Parameterless Functions

Do you use parameterless PL/SQL functions in your queries? Did you know that this may cause performance issues? In this blog post I explain why parameterless functions can be the reason for bad execution plans in any Oracle Database. I recently had to analyze this problem in a production system and thought […]
2019-10-24

Integrate SQL*Plus Scripts in SQL Developer

I envy my DBA colleagues when they work with the Oracle Database from the command line in an incredibly efficient way. They just call a series of scripts with some parameters to get the desired information. Everything looks so easy, so smooth, so natural. I’m a developer. Basically a mouse pusher. I […]