Philipp Salvisberg’s Blog

Database-centric development

2017-10-14

Limitations of PL/Scope and How to Deal with Them

My first car was a Renault R5 TX. The motor cooling of this car was really bad. On a hot summer day, it was simply not possible to drive slowly in high traffic without overheating the engine. To cool the engine you could either stop the car, open the front lid and […]
2017-09-24

Continuous Code Quality for PL/SQL with Docker

In this blog post, I show step-by-step how to set up a continuous code quality inspection environment for a PL/SQL project hosted on GitHub. I’m going to use a Docker container for SonarQube and another container for Jenkins. Here is the table of contents of the major steps. In the summary of […]
2017-07-11

Simplify the Use of PL/Scope in SQL Developer

In this post, I showed how to do some code analysis with PL/Scope and how the views and packages of the plscope-utils might simplify this task. However, these views and packages are based on dba_* views and it is sometimes not that easy to get such privileges for an additional user in a non-personal database instance. […]
2017-05-14

Get Ready for Oracle 12.2

The Oracle Database 12.2 grammar is now supported in the most current versions of PL/SQL Cop, PL/SQL Cop for SQL Developer, PL/SQL Cop for SonarQube and PL/SQL Analyzer. The following screenshot shows a query based on analytic views. Have a look at the full example on Oracle Live SQL, if you are interested in analytic views. […]
2017-03-17

plscope-utils – Utilities for PL/Scope

PL/Scope was introduced with Oracle Database version 11.1 and covered PL/SQL only. SQL statements such as SELECT, INSERT, UPDATE, DELETE and MERGE were simply ignored. Analysing PL/SQL source code without covering SQL does not provide a lot of value. Hence, PL/Scope was neglected by the Oracle community. But this seems to change with […]
2017-02-06

PL/SQL Cop for Trivadis Coding Guidelines Version 3.2

The PL/SQL Cop tool suite supports the new Trivadis PL/SQL & SQL Coding Guidelines 3.2. Download the new versions from the Download section. So, what’s new? Numbering and Categorisation Scheme The guidelines have been renumbered, extended, categorised by severity (blocker, critical, major, minor and info) and assigned to one or more SQALE characteristics (changeability, […]
2016-09-25

Bitemp Remodeler v0.1.0 Released

I’ve been working on a flexible table API generator for Oracle Databases for several months. A TAPI generator doesn’t sound like a real innovation. But this one contains some features you probably have not seen before in the TAPI generator and hopefully will like it as much as I do. In this post, I will […]
2016-06-28

Trivadis PL/SQL & SQL Coding Guidelines Version 3.1

The latest version 3.1 of the Trivadis PL/SQL & SQL Coding Guidelines has 150 pages. More than 90 additional pages compared to version 2.0. Roger Troller did a tremendous job in updating and extending an already comprehensive document while making it simpler to read and easier to understand. In this post, I will […]
2016-06-26

PL/SQL Bulk Unwrap

406 days ago I released PL/SQL Unwrapper for SQL Developer version 0.1.1 and blogged about it. With this extension, you can unwrap the content of a SQL Developer window. Time for an update. With the new version 1.0 you can unwrap multiple selected objects with a few mouse clicks. In this blog […]
2016-05-22

How to Integrate Your PL/SQL Generators in SQL Developer

About three weeks ago Steven Feuerstein tweeted in his tip #501 a link to a generator for the WHEN clause in DML triggers on Oracle Live SQL. Back then I refactored the generator for oddgen – the Oracle community’s dictionary-driven code generator – and published the result on Oracle Live SQL as well. Some […]