Faster SQL Paging 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...
View ArticlejOOQ 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...
View ArticleCUBRID: A Lesser-Known Korean OSS Database Gem
While RedHat and Google have been dumping MySQL for MariaDB, there’s actually a third, much lesser-known option for MySQL-oriented database folks in the RDBMS market: CUBRID. One of CUBRID’s main goals...
View ArticleDoes Java 8 Still Need LINQ? Or is it Better than LINQ?
Erik Meijer, Tye Dye Expert. Photo by Ade Oshineye. Licensed under CC-BY-SA LINQ was one of the best things that happened to the .NET software engineering ecosystem in a long time. With its...
View ArticleProbably the Coolest SQL Feature: Window Functions
Once you get a hang of the very peculiar syntax, SQL is a highly expressive and rich language offering incredible features at a declarative level. One of the coolest features are window functions,...
View ArticleThe Code That Made me Cry
A friend of mine recently told me about the kind of problems he’s currently struggling with in the legacy application he’s maintaining. Here’s a sample piece of code to illustrate what I’m talking...
View ArticleID Lists Aren’t the Best Solution for the N+1 Problem
In their eternal attempts to circumvent the N+1 problem, Hibernate users often resort to IN predicates with ID lists. In this post, we’ll see how those users might just be replacing a horrible thing...
View ArticlePopular ORMs Don’t do SQL
I’m contemplating about what has happened in the ISO / IEC SQL standard during the last 15 years. We’ve had quite a few new features added to our beloved SQL language. Check this out: With the ISO/IEC...
View ArticleA History of Databases in “No-tation”
We’re heading towards very exciting times in the field of databases! At Topconf in beautiful Tallin, Estonia, Nikita Ivanov (founder and CEO of GridGain Systems) was talking about how the ever...
View ArticleFaster 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...
View ArticleHow to Create a Range From 1 to 10 in SQL
How do you create a range from 1 to 10 in SQL? Have you ever thought about it? This is such an easy problem to solve in any imperative language, it’s ridiculous. Take Java (or C, whatever) for...
View ArticleSquel – A SQL Query Builder for JavaScript
… Yes! You’ve read correctly. For JavaScript. OK, there has been quite a bit traction around server-side JavaScript through node.js. The brave ones among you brave enough to actually write JavaScript,...
View ArticleUsing jOOQ with JAX-RS to Build a Simple License Server
In some use-cases, having a lean, single-tier server-side architecture is desireable. Typically, such architectures expose a RESTful API implementing client code and the UI using something like...
View ArticleDetect JDBC API Misusage with JDBCLint
I’ve recently seen an advertisement for JDBCLint on the H2 User Group. JDBCLint is an Apache licensed JDBC proxy implementation that does some plausibility checks on the lifecycles of your JDBC...
View ArticleUsing SQL Injection Vulnerabilities to Dump Your Database
The threat caused by SQL injection is heavily underestimated even by many senior developers and software architects. Most people are unaware of the fact that an entire server can be at risk by a single...
View ArticleHow to Integrate jOOQ with Hibernate
While jOOQ can be an alternative to Hibernate, it doesn’t have to entirely replace Hibernate. Many users have reported positive experiences when combining jOOQ with Hibernate, letting Hibernate do the...
View ArticlejOOQ Newsletter December 13, 2013
subscribe to the newsletter here A jOOQ Runtime Only Distribution Several of our customers have made us aware of the fact that they don’t really need the jOOQ code generator, only the SQL builder /...
View ArticleSQL is the new NoNoSQL
You have probably been wondering about what SQL is. Some also refer to it as NoNoSQL. See a comprehensive comparison about SQL vs. NoSQL on our new website here: http://www.nosql-vs-sql.comFiled under:...
View ArticleAuto-Creation of Indexes in RDBMS
[...] generally speaking, I’m also surprised to see that in 2013 we’re creating our indexes manually. Interesting thought! Has this thought ever occurred to you? How this comment came about Hackernews...
View ArticleCounting Distinct Records in SQL
The SQL language and its depths… Some of you readers might be aware of MySQL’s capability of counting distinct records through the COUNT() aggregate function. The MySQL documentation reads:...
View Article