Starting from jOOQ 3.16, we're investing a lot into opening up our internal query object model (QOM) as a public API. This is mainly useful for people who use jOOQ's parser and wish to access the parsed expression tree, or to transform SQL, e.g. to implement row level security in jOOQ. But occasionally, even with … Continue reading Traversing jOOQ Expression Trees with the new Traverser API
Tag: SQL transformation
10 Cool SQL Optimisations That do not Depend on the Cost Model
Cost Based Optimisation is the de-facto standard way to optimise SQL queries in most modern databases. It is the reason why it is really really hard to implement a complex, hand-written algorithm in a 3GL (third generation programming language) such as Java that outperforms a dynamically calculated database execution plan, that has been generated from … Continue reading 10 Cool SQL Optimisations That do not Depend on the Cost Model
Implementing Client-Side Row-Level Security with jOOQ
Some time ago, we've promised to follow up on our Constraints on Views article with a sequel showing how to implement client-side row-level security with jOOQ. What is row-level security? Some databases like Oracle or the upcoming PostgreSQL 9.5 provide native support for row-level security, which is awesome - but not every database has this … Continue reading Implementing Client-Side Row-Level Security with jOOQ
An MS Access SQL Transformation Odyssey
Recently, we've added support for the MS Access database in jOOQ 3.3. This may well have been our hardest integration so far. The MS Access database has its ways, and many of them, too. But luckily, jOOQ's internal SQL transformation abilities are already very advanced, as we've shown previously in a blog post about the … Continue reading An MS Access SQL Transformation Odyssey
The Great SQL Implementation Comparison Page
Fortunately, we have SQL standards. Or do we? It's a well-known secret (or cynical joke) that the SQL standard is yet another SQL dialect among peers. On this blog, we have pointed out so many differences between SQL dialects, it is hard to believe that anyone would even consider writing SQL strings rather than using … Continue reading The Great SQL Implementation Comparison Page