Using jOOQ With Groovy

Some people may be using jOOQ with Groovy for easy scripting. As with the existing jOOQ / Scala integration, some Groovy language features can be leveraged. Take the following example, for instance: package org.jooq.groovy import static org.jooq.impl.DSL.* import static org.jooq.groovy.example.h2.Tables.* import groovy.sql.Sql import org.jooq.* import org.jooq.impl.DSL sql = Sql.newInstance( 'jdbc:h2:~/scala-test', 'sa', '', 'org.h2.Driver') a = … Continue reading Using jOOQ With Groovy

Deep Stack Traces Can be a Sign for Good Code Quality

The term "leaky abstractions" has been around for a while. Coining it is most often attributed to Joel Spolsky, who wrote this often-cited article about it. I've now stumbled upon another interpretation of a leaky abstraction, measured by the depth of a stack trace: So, long stack traces are bad according to Geek & Poke. … Continue reading Deep Stack Traces Can be a Sign for Good Code Quality

Faster SQL Pagination with Keysets, Continued

A while ago, I have blogged about how to perform keyset pagination (some also call this the "seek method"). Keyset pagination is a very powerful technique to perform constant-time pagination also on very large result sets, where "classic" OFFSET pagination will inevitably get slow on large page numbers. Keyset pagination is most useful for lazy … Continue reading Faster SQL Pagination with Keysets, Continued

jOOQ Newsletter October 28, 2013

subscribe to the newsletter here jOOQ 3.2 Licensing Update Three weeks ago, we have announced and released jOOQ 3.2 under the terms of a new dual-licensing model offering jOOQ's support for commercial databases under a commercial jOOQ license. The jOOQ community has reacted intensively on the user group, most of the feedback having been very positive. The licensing … Continue reading jOOQ Newsletter October 28, 2013

Faster SQL Pagination with jOOQ Using the Seek Method

Last week, I have blogged about why it is important to stay in control of your SQL, as writing good SQL helps keeping your operations costs down. This is true in many ways and today, we're going to look into another way to write good, high-performing SQL: Using the "Seek Method". Slow OFFSET In order … Continue reading Faster SQL Pagination with jOOQ Using the Seek Method

A Significant Difference Between Open Source and Commercial Software

A recent event has triggered a lot of interest in the debate about the good and the bad parts of Open Source. Oracle's attack on Open Source. For large corporations who aren't Red Hat, taking a stand on the topic is far from easy. Oracle used to sell only commercial software, but has since acquired … Continue reading A Significant Difference Between Open Source and Commercial Software

jOOQ Newsletter October 10, 2013

Subscribe to this newsletter here. jOOQ 3.2 Released After a bit of time, jOOQ 3.2 has finally been released. This interesting release mainly includes two new SPIs (Service Provider Interfaces), which allow for: Injecting pre and post CRUD operation behaviour, which is useful for global ID generators. Injecting behaviour into the SQL rendering lifecycle allowing … Continue reading jOOQ Newsletter October 10, 2013

jOOQ™ 3.2 Offering Commercial Licensing and Support

Four years ago, the Java database middleware market was dominated by a variety of ORMs implementing JPA. This paradigm was hardly challenged by alternatives. There was a gap for an API making SQL a first-class citizen in the Java language ecosystem and jOOQ had come to fill this gap. With jOOQ, developers who engage heavily … Continue reading jOOQ™ 3.2 Offering Commercial Licensing and Support

Do You View Database Applications as Military Campaigns?

Military Campaigns?? Haha. Let's meet Capt. DBA, mastering Sun Tsu's Art of SQL: http://de.scribd.com/doc/15490992/The-Art-of-SQL Citing from the book cover: Do you view database applications as military campaigns? Do you see data as row upon row upon row of enemy columns to be winnowed down and slashed away? [sic!] SQL veteran Stéphane Faroult does. This is … Continue reading Do You View Database Applications as Military Campaigns?

Crazy Translations of Simple SQL Expressions to Various SQL Dialects

SQL is standardised by ISO / IEC. We have wonderful standards, such as SQL-92, SQL:1999, SQL:2003, SQL:2008. Right? In theory. In practice, many things do not have an equivalence between the actual SQL implementations. This is very true for common function support - most of which are not part of any standard. Here's an interesting … Continue reading Crazy Translations of Simple SQL Expressions to Various SQL Dialects