BIG checkboxes

Getting older, it’s getting harder to see and click those tiny checkboxes…



input[type=checkbox] {
/* Double-sized Checkboxes */
-ms-transform: scale(2); /* IE */
-moz-transform: scale(2); /* FF */
-webkit-transform: scale(2); /* Safari and Chrome */
-o-transform: scale(2); /* Opera */


CAN YOU SEE THEM NOW? Ah, good. That’s all right then.

Brought to you by dept-of-coding-by-copy-and-paste.

Filed under: APEX Tagged: APEX, CSS, tips-&-tricks

Parameter Vorschläge in 12c

Vor ein paar Wochen hatte Mike Dietrich (in seinem ausgesprochen lesenswerten Blog zu den Themen upgrades and migrations) einen Artikel mit interessanten Parameter-Vorschlägen für 12c veröffentlicht, diesen aber rasch wieder aus dem Verkehr gezogen, weil es anscheinend Oracle intern gewisse Unstimmigkeiten darüber gab, ob man z.B. den Einsatz von underscore Parametern (außerhalb von Support-Fällen) überhaupt als Lösungen für Performance-Probleme vorschlagen sollte. An Stelle dieses initialen Artikels (dessen Vorschläge mir ausgesprochen plausibel vorgekommen waren) hat der (more...)

Temporal validity, multiple end dates

Recently I got involved in a question on Temporal Validity Periods together with Chris Saxon, one of the askTom-answer team.

The question was along the lines of: "What if I have a single start date but two possible end dates. One of the end dates is filled automatically by a background proces (could be a job) while the other one is to signal that the end date is set manually by the user. Could you (more...)

Designing PL/SQL Programs: Series home page

Designing PL/SQL Programs is a succession of articles published the articles in a nonlinear fashion. Eventually it will evolve into a coherent series. In the meantime this page serves as a map and navigation aid. I will add articles to it as and when I publish them.


Designing PL/SQL Programs

Principles and Patterns

Introducing the SOLID principles
Introducing the RCCASS principles
The Dependency Inversion Principle: a practical example

Software Architecture

Interface design

Tools and Techniques

The Dependency Inversion Principle: a practical example

These design principles may seem rather academic, so let's look at a real life demonstration of how applying Dependency Inversion Principle lead to an improved software design.

Here is a simplified version of an ETL framework which uses SQL Types in a similar fashion to the approach described in my blog post here. The loading process is defined using an abstract non-instantiable Type like this:

create or replace type load_t force as object
( txn_date (more...)

Oracle TranslationHub neither supported for 12c Database, 12c Forms/Reports or 64 bit!

If you need TranslationHub (Windows only) for your forms and reports development and plan to move to one of the following

  • 12c Database for your TranslationHub repository
  • 12c Forms/Reports (only available for 64 bit Windows)
  • higher version of 64 bit 11g Forms/Reports

then please immediately stop! None of this combination works with TranslationHub!

For the last point I had created enhancement request 14155931 back in June 2012!

For the first point I had created a service request (more...)

SQL Analytics in every day APEX

Looking for way to apply analytical functions to your APEX applications?

I had a classic report where I wanted to dynamically source the column headers from counts in the database (values in brackets).

The ability to do this has been a feature of APEX for a while, but this was the first time I did it in APEX 5.0.

Customise headers via Region attributes
With Connor's recent spate of analytics videos,  I thought (more...)

Full Table Scan in umgekehrter Block-Reihenfolge

Für mich völlig neu war der folgende Hinweis aus dem aktuellen Quiz-Artikel von Jonathan Lewis: mit Hilfe des - undokumentierten - Events 10460 kann man dafür sorgen, dass ein Full Table Scan des Blocks einer Tabelle in absteigender Reihenfolge liest, also beginnend mit dem letzten Block der Tabelle. Unter bestimmten Umständen könnte dieses veränderte Verhalten nützlich sein, etwa um ora-1555-Fehlern aus dem Weg zu gehen. Aber da das Event nicht dokumentiert ist, gehört das (more...)

OUGN Spring Conference 2016

I'm back after one of the best ocean voyages ever - the OUGN Spring Conference 2016. That conference is arranged by Oracle User Group Norway and is two days from Thursday before lunch-time to Saturday before lunch-time. The special thing is, that it all happens on board a cruise ship that uses 20 hours to sail from Oslo, Norway to Kiel, Germany - stays in Kiel 4 hours - then 20 hours to sail back. (more...)

A new law of office life

I posted my Three Laws of Office Life a long while back. Subsequent experience has revealed another one: Every office kitchen which has a sign reminding people to do their washing-up has a concomitant large pile of unwashed crockery and dirty cutlery.

People wash their own mug and cereal bowl, but are less rigorous with the crockery from the kitchen cupboard. This phenomenon will be familiar to anybody who has shared a house during their (more...)

Introducing the RCCASS design principles

Rob C Martin actually defined eleven principles for OOP. The first five, the SOLID principles, relate to individual classes. The other six, the RCCASS principles, deal with the design of packages (in the C++ or Java sense, i.e. libraries). They are far less known than the first five. There are two reasons for this:

  • Unlike "SOLID", "RCCASS" is awkward to say and doesn't form a neat mnemonic. 
  • Programmers are far less interested in (more...)

Introducing the SOLID design principles

PL/SQL programming standards tend to focus on layout (case of keywords, indentation, etc), naming conventions, and implementation details (such as use of cursors).  These are all important things, but they don't address questions of design. How easy is it to use the written code?  How easy is it to test? How easy will it be to maintain? Is it robust? Is it secure?

Simply put, there are no agreed design principles for PL/SQL. So it's (more...)


Seems I've never posted about PL/SQL based REST endpoints other than using the OWA toolkit.  Doing the htp.p manually can give the control over every aspect of the results however there is an easier way. With PL/SQL based source types, the ins and outs can be used directly without any additional programming.  Here's a simple example of an anonymous block doing about as little as possible but

Simple Unpivot

I came across the need for an UNPIVOT today that require fairly basic syntax, so this is me noting it for later. A single column unpivot, not multiple.

I had a discrete set of values in local variables that I wanted to use within a merge, so I selected them from dual. Here is a literal representations
SELECT 'SCOTT' login_id 
,'X' alpha, 'Y' beta
,10 catgy1
,20 catgy2
,30 catgy3
,40 catgy4
,50 catgy5
,60 (more...)

Rename multiple exported Files after using SQL Developer’s Cart to export from Oracle database

If you’re searching for “export Oracle BLOB”, the article, by Jeff Smith, titled “Exporting Multiple BLOBs with Oracle SQL Developer” using Oracle SQL Developer” is usually at the top of the search result. The SQL Developer features the Shopping Cart without using scripts to export BLOBs out of database. I don’t want to go into detail as Jeff already explained well in his post what it is and how to use it. One (more...)

Implementing Arc Relationships with Virtual Columns

Virtual columns were added in Oracle 11g Release 1. We can implement the same concept using views, but one of the advantages that I see in virtual columns is that we can define foreign key constraints on them. Well, we can define foreign key constraints on views as well, but only in DISABLE NOVALIDATE mode, which makes them a decoration rather than a data integrity protector. So to be more precise, we can define enabled (more...)

Data Vault Modeling and Snowflake Elastic Data Warehouse

Since I have joined Snowflake, I have been asked multiple times what data warehouse modeling approach does Snowflake support best. Well, the cool thing is that we support multiple data modeling approaches equally. Turns out we have a few customers who have existing data warehouses built using a particular approach known as the Data Vault […]

AuraPlayer takes Barcelona by Storm at the Mobile World Congress

AuraPlayer was thrilled to attend Mobile World Congress (MWC) in Barcelona. It was our first time attending this epic conference, and we can assure you it lived up to all the hype.


Suhas Uliyar, Oracle’s VP Mobile Strategy, visits the AuraPlayer Booth

The conference emphasized the mobile revolution occurring throughout all industries and how organizations need to mobilize their business practices or they’ll be left behind. This further reinforces what Grant Ronald always says, “If (more...)

#Javaland 2016 conference day 2


This was my second day:

Michael Tamm (optivo GmbH): Feature Toggles on Steroids

Very good summary off all topic’s covering feature toggles. Wish I had this summary 2 years before, were we have evaluated this. Unfortunately furthermore no solutions for declarative frameworks like Oracle ADF with it’s wizards and xml configurations, which later generated code. Ironic answer to my question: “Don’t use frameworks – use Java”

Alexander Casall (Saxonia Systems AG): User Experience for techies

Now (more...)

#Javaland 2016 conference day 1

This year I have decided to give the Javaland conference a try. I’m not a java professional, but in the program was listed a lot of interesting testing presentations, so my company booked for me.

The location in Phantasierend Brühl near cologne was very fine. Unfortunately the conference rooms had not enough space this year so for some presentation you have to go to 2 rooms outside of the parc. Additionally it is not understandable, why (more...)