Databases
-
Software Development
How to Emulate the MEDIAN() Aggregate Function Using Inverse Distribution Functions
Some databases are awesome enough to implement the MEDIAN() aggregate function. Remember that the MEDIAN() is sligthly different from (and…
Read More » -
Software Development
The Awesome PostgreSQL 9.4 / SQL:2003 FILTER Clause for Aggregate Functions
Sometimes when aggregating data with SQL, we’d love to add some additional filters. For instance, consider the following world bank…
Read More » -
Enterprise Java
Leaky Abstractions, or How to Bind Oracle DATE Correctly with Hibernate
We’ve recently published an article about how to bind the Oracle DATE type correctly in SQL / JDBC, and jOOQ.…
Read More » -
Enterprise Java
A beginner’s guide to transaction isolation levels in enterprise Java
Introduction A relational database strong consistency model is based on ACID transaction properties. In this post we are going to…
Read More » -
Software Development
Adding OpenSSL User-Defined Types to PostgreSQL
PostgreSQL supports user-defined types (UDT). These types can be used to provide type-safety on user-defined functions when we would otherwise…
Read More » -
Software Development
Database Threat Models
I finally have a breather and can start working through my backlog of ideas. I start with some background that…
Read More » -
Software Development
Do You Really Understand SQL’s GROUP BY and HAVING clauses?
There are some things in SQL that we simply take for granted without thinking about them properly. One of these…
Read More » -
Software Development
The downside of version-less optimistic locking
Introduction In my previous post I demonstrated how you can scale optimistic locking through write-concerns splitting. Version-less optimistic locking is…
Read More » -
Software Development
Use MySQL’s Strict Mode on all new Projects!
MySQL is a database that has been bending the SQL standard in ways that make it hard to move off…
Read More »