Heads-upHighlight of Weekly #003

In-memory date filters now match SQL

filtered_domain() computed quarters in four-month groups and counted weekdays from Monday, so it could disagree with search(). Both now follow PostgreSQL. Check custom code that relied on the old in-memory results.

Versions19.020.0
AppFramework & technical

On the upgrade checklist: 18.0 → 19.0

Pull requests and commits

BranchPull requestCommit
19.0odoo/odoo#292818 ↗54236254d1 ↗
20.0odoo/odoo#293389 ↗4d2d9ef6de ↗

Commit message

[FIX] orm: align quarter and weekday filters with SQL

In-memory date domains calculate quarters using four-month groups and
weekdays with Monday as zero. SQL uses three-month quarters and Sunday
as zero, so filtered_domain() and search() can return different records.

Correct the quarter calculation and use the same weekday numbering as
PostgreSQL for date and datetime fields.

Add regressions comparing SQL and in-memory filtering across all months
and weekdays, including the complementary domains.

Fixes #292723.

My stack

Pick the versions and apps you run. Weekly digests, this week's table and All changes then show only what concerns you. Saved in this browser.

Versions
Apps
Modules