Lukas Eder
banner
lukaseder.bsky.social
Lukas Eder
@lukaseder.bsky.social
Java Champion, creator of jOOQ, the best way to write SQL in Java.

Will mostly post about Java, SQL, jOOQ, programming humour, and write at https://blog.jooq.org
Some RDBMS have a weird understanding of case sensitivity in identifiers.

Here's Google Spanner.
- Quoting doesn't affect case sensitivity
- DDL identifiers are case sensitive (though "duplicates" are not allowed)
- DML identifiers are not case sensitive
November 6, 2025 at 3:20 PM
OK found it. ARRAY_LOWER can help, I guess:
dbfiddle.uk/pxomTqPm
October 11, 2025 at 6:31 AM
But WITH ORDINALITY doesn't produce the indexes?
dbfiddle.uk/Ni0b2207

What does?
October 11, 2025 at 5:11 AM
Q: Does your RDBMS use zero-based or one-based indexing?
A: Yes
October 10, 2025 at 12:31 PM
This always struck me as one of the biggest cognitive dissonances in programming style guides
October 8, 2025 at 7:44 AM
Writing a CREATE TABLE statement in SQL be like
September 30, 2025 at 12:21 PM
Yeah, I've noticed that the Javadoc doesn't produce any actual content in the output .html files. IntelliJ warns about a dangling Javadoc comment. Eclipse 2025-03 (didn't check latest) pretends that it works as one would expect.
September 30, 2025 at 8:12 AM
Whaat, a Java record component cannot be deprecated by Javadoc, only by annotation? That looks like a bug in javac to me, no? The JLS doesn't mention Javadoc explicitly: docs.oracle.com/javase/specs...
September 29, 2025 at 11:49 AM
Every time I write new integration test for a jOOQ bug, I also write an integration test for an RDBMS bug
September 24, 2025 at 1:56 PM
Every. Time. Why. Does. It. Complain. 😬

Oooh, that's why. 😅
September 24, 2025 at 7:29 AM
"5 HoUrS oF TrIaL AnD ErRoR SaVeS YoU 10 MiNuTeS oF ReAdInG ThE DoCuMeNtAtIoN."

The documentation:
September 17, 2025 at 9:16 AM
Debugging jOOQ bugs be like
September 16, 2025 at 1:13 PM
PostgreSQL. Why do you betray me? Where are my nulls??
September 16, 2025 at 12:26 PM
Really? I'm assuming e.g. guava is formatted according to their rules, and it seems neat, though maybe a bit unusual for most Java devs (especially with the 2 space indentation)? But that's just taste.

I was thinking about dbeaver doing stuff like this
September 16, 2025 at 5:48 AM
For the *record*, u is a record type. Record types can be null, or have null values. In both cases they *are* null, but only one is *distinct* from null
September 16, 2025 at 5:43 AM
SQL can be so subtle, at times
September 15, 2025 at 4:17 PM
I mean, jOOQ isn't like that but many are, I think?
September 15, 2025 at 3:02 PM
It's so hard to be opinionated in programming
September 15, 2025 at 5:42 AM
My inbox before and after the CI/CD server noticed the short github outage.
September 11, 2025 at 1:29 PM
Those reviewers were just salty they didn't realise this is an optional area
September 10, 2025 at 7:29 AM
Finally 😬 @starbuxman.joshlong.com are you seeing this??
September 4, 2025 at 6:26 PM
Steam isn't responding, nooooo
September 4, 2025 at 2:01 PM
This is what I have in mind
September 3, 2025 at 9:39 AM
Apparently, the generated hashCode() implementation of Java 16 records is significantly slower in benchmarks than what could be hand-written, or e.g. Eclipse generated, probably due to additional stack frames and varargs allocation in Objects::hash

Details:
github.com/jOOQ/jOOQ/is...
August 27, 2025 at 1:35 PM
PostgreSQL tables without columns are an interesting thing. There are other ways to construct them, but this approach strikes me as particularly funny.
August 19, 2025 at 8:30 AM