Lukas Eder's Avatar

Lukas Eder

@lukaseder

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

1,116
Followers
33
Following
522
Posts
19.10.2023
Joined
Posts Following

Latest posts by Lukas Eder @lukaseder

Here's the report: www.postgresql.org/message-id/1...

26.02.2026 14:18 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thanks, I will, soon

25.02.2026 14:11 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

Huh, interesting. It appears that PostgreSQL decided to go against the SQL standard here

ISO/IEC 9075-2:2023(E) 6.34 <JSON value constructor> GR 4) b) i) says that empty tables should produce a JSON array with no elements (intuitively), not NULL.

Why this behaviour in PG?

25.02.2026 12:12 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
A View Is Not a Table: It Is a Controlled Integration Contract - Martinelli The recent articleΒ β€œYour Database Table is an awful API” claims that exposing database tables (or database-derived structures) as integration boundaries between systems is a bad idea. It warns about t...

A View Is Not a Table: It Is a Controlled Integration Contract martinelli.ch/a-view-is-no...

23.02.2026 09:47 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Why Vaadin and jOOQ Are a Natural Fit for AI Driven Development - Martinelli Over the last two years, I have been working heavily with AI-assisted and agent-based development. One observation keeps coming back: the choice of technology stack matters far more than most people t...

Why Vaadin and jOOQ Are a Natural Fit for AI Driven Development

martinelli.ch/why-vaadin-a...

19.02.2026 10:02 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Almost France from my perspective 🐐

27.01.2026 13:02 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Very good. Though, I don't recognise the peaks. Is that in France?

27.01.2026 11:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

Could be worse

27.01.2026 10:23 πŸ‘ 12 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
T616, β€œNull treatment option for LEAD and LAG functions” T616, β€œNull treatment option for LEAD and LAG functions” in SQL

LEAD(x) IGNORE NULLS OVER(ORDER BY n)

Not very often, but when I need IGNORE NULLS, then I really miss it in PostgreSQL.

modern-sql.com/caniuse/T616

22.01.2026 12:47 πŸ‘ 7 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1

The love/hate Hibernate topic hasn't lost it's relevance: the video sparkled a nice conversation on Reddit www.reddit.com/r/java/comme...

What is your stance, friends? What do you prefer, ORM or JDBC/jOOQ?

14.01.2026 13:22 πŸ‘ 2 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

I have it on my roadmap already, thanks!

14.01.2026 09:52 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Change exists(Select<?>) to exists(TableLike<?>) for convenience Β· Issue #19568 Β· jOOQ/jOOQ When checking for existence of records in a table, it could be convenient to be able to write exists(MY_TABLE) instead of exists(selectOne().from(MY_TABLE)). This is especially true when working wi...

This little API change allows for omitting some syntactic ceremony when working with EXISTS subqueries in jOOQ:
github.com/jOOQ/jOOQ/is...

E.g. you can now write:

ctx. select(AUTHOR, exists(AUTHOR. book()))
.from(AUTHOR)

Instead of spelling out the complete correlated subquery.

07.01.2026 16:12 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
One Query, Complete Object Graphs: Nested DTOs with jOOQ MULTISET - Martinelli In my previous post about Open Session in View, I explored how this default Spring Boot setting can hide serious performance problems. The N+1 query problem sits behind a system that looks correct in ...

One Query, Complete Object Graphs: Nested DTOs with jOOQ MULTISET martinelli.ch/one-query-co... by @martinelli.ch

05.01.2026 14:02 πŸ‘ 4 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0

β€œThere are only two tragedies in life: one is not getting what one wants, and the other is getting it.”
― Oscar Wilde

15.12.2025 09:40 πŸ‘ 8 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Ah, makes sense, thanks

12.12.2025 07:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ISO/IEC 9075-2:2023 8) Predicates doesn't seem to list this, though. I also can't find any reference to a SATISFY keyword. It's not a reserved word according to 5.2 <reserved word> Where would I look for this?

11.12.2025 11:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I knew it! :) Especially cool when the quantified comparison predicate also needs to be emulated because it's unavailable.

11.12.2025 07:55 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

All is well, thanks. I haven't been travelling for years. Cost / benefit doesn't pay off compared to other marketing channels.

09.12.2025 08:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I guess that's the TL;DR indeed πŸ˜…

Seriously. If I had 2Β’ for every time someone asks me to support platform / language / build tool / whatever XY in jOOQ, I'd have about 10 EUR by now.

09.12.2025 08:45 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

jOOQ is a library. If a platform cannot seamlessly integrate a library (*any* library), then there's a low hanging fruit for a bug report for said platform.

The library should not know or care about any platforms, unless you want the library to become a platform itself.

09.12.2025 08:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

Interesting, thanks. I'll have to do some digging. I can obviously see the utility

07.12.2025 09:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

CΓ’lisse de tabarnak!

Outremont is a nice downtown-ish neighborhood, though it's been 22 years so things may have changed.

Living close to a mΓ©tro station and dΓ©panneur is a big plus in winter.

04.12.2025 08:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It's Google SQL (both BigQuery and Spanner). The spec doesn't allow for dereferencing JSON object attributes this way, does it? With user-defined types, the disambiguation usually (Oracle, PostgreSQL) happens using parens (tab.col).attr. I didn't check, is that according to spec?

02.12.2025 06:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

Yeah, I'm aware it's because of this kind of notation

25.11.2025 12:39 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

My disappointment when SQL dialects choose this kind of name resolution strategy is very very deep

25.11.2025 12:28 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Now if only someone looked at logs

25.11.2025 12:24 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Man, I've been doing jOOQ for 15+ years now and I still write flaky tests due to missing ORDER BY clauses, and thus non-deterministic result set ordering 🫠

25.11.2025 12:03 πŸ‘ 8 πŸ” 1 πŸ’¬ 2 πŸ“Œ 1

πŸ‡«πŸ‡· jOOQ et le code legacy:
1/ https://shodo.io/jooq-et-le-code-legacy-1/
2/ https://shodo.io/jooq-et-le-code-legacy-2/

20.11.2025 09:02 πŸ‘ 1 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
Monty Widenius 'heartbroken' over Oracle's MySQL job cuts : Original author of open source database 'not surprised' but 'saddened' as critics slam vendor's layoffs

Is that why? www.theregister.com/2025/09/11/o...

24.11.2025 07:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Commits Β· mysql/mysql-server MySQL Server, the world's most popular open source database, and MySQL Cluster, a real-time, open source transactional database. - Commits Β· mysql/mysql-server

Huh, has Oracle stopped publishing commits to the MySQL github repo?

github.com/mysql/mysql-...
github.com/mysql/mysql-...

24.11.2025 07:34 πŸ‘ 8 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0