Philipp Salvisberg’s Blog

Database-centric development

PinkDB PL/Scope Model Multi-temporal Features

Running utPLSQL Tests in SQL Developer

Introduction In November 2017 Jacek Gebal asked me if I could help to integrate utPLSQL into SQL Developer. In January 2018 we released the first MVP. Tests were executed in a new SQL Developer worksheet showing the result in the script output pane.This was easy to implement and it simplified the use […]

Using DBMS_DEBUG in SQL Developer

Do you need to debug PL/SQL units in SQL Developer? You can’t get it to work because someone refuses to open TCP ports between your database and your client? No problem. You can still configure the good old DBMS_DEBUG in your SQL Developer. I know it is deprecated since Oracle Database 12c. […]

MemOptimized RowStore in Oracle Database 19c

Since February, 13 2019 Oracle Database 19c is available. I blogged about this feature here and here. Time for an update. So, what’s new in 19c regarding the MemOptimized Rowstore? Fast Lookup Works with JDBC Thin Driver I listed 16 prerequisites for the MemOptimized Rowstore in this blog post. The last one – “The […]

Regular Expressions in SQL by Examples

Are you reluctant to use regular expressions in SQL? Then continue reading. Examples helped me to understand regular expressions years ago. Thus I hope this collection of simple examples and the tooling tips will encourage you to use regular expressions. It’s not as complicated as it looks at first glance. Once you […]

SmartDB as of 2018-08-21

Introduction This is a transcription of the recorded Ask TOM #SmartDB Office Hours from August 21, 2018, where Bryn Llewellyn presented an updated, narrow definition of the Smart Database Paradigm (SmartDB). It covers the time between 05:55 to 12:19. A big thank you to Bryn for taking the time to clarify the SmartDB definition. […]

SmartDB as of 2018-06-12

This is a transcription of Bryn Llewellyn’s talk Guarding Your Data Behind a Hard Shell PL/SQL API—the Detail recorded at Kscope18. It covers the time between 08:06 to 11:03. This definition was the starting position for my previous SmartDB and PinkDB related posts. In the meantime Bryn provided an updated, narrow definition of the […]

Use the Database as Persistence Layer Only

Using the database as persistence layer only is an anti-pattern. Praful Todkar applies this anti-pattern in How to extract a data-rich service from a monolith. Martin Fowler reviewed this article and published it on his website. Hence it is highly visible. I generally agree with the approach. But I cannot agree with […]

View-API for JOOQ Application

In this blog post I show how to build a read-only view-API for Oracle’s HR sample schema. And I will use this view-API in a JOOQ application. This application will fully comply with the Pink Database Paradigm (PinkDB). This means the application executes set-based SQL and retrieves data with as few network roundtrips as possible. […]

Why Pink?

PinkDB is an acronym for “processing in knowing database”. In this blog post I tell you how I came up with the acronym and its meaning. When I start writing a blog post, I usually only have a vague idea of the title. I have to change it more than once. The […]

The Pink Database Paradigm (PinkDB)

1. Introduction The Pink Database paradigm (PinkDB) is an application architecture for database centric applications. It is focusing on relational database systems and is vendor neutral. The principles are based on the ideas of SmartDB, with some adaptions that make PinkDB easier to apply in existing development environments. An important feature of […]