> On 4 Mar 2024, at 07:46, Michał Kłeczek <michal@xxxxxxxxxxx> wrote: > > > >> On 3 Mar 2024, at 18:42, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: >> >> =?utf-8?Q?Micha=C5=82_K=C5=82eczek?= <michal@xxxxxxxxxxx> writes: >>> I’ve performed some more tests and it seems expressions with “extract” function are not pushed down at all - >> >> Yeah :-(. I traced through this, and it seems it's a collation >> problem. Internally, that call looks like >> extract('year'::text, date_column) >> The text constant is marked as having collation "default", which means >> that extract() is marked as having input collation "default", and then >> it falls foul of this rule: > [snip] > > Thanks for explanation - I have a follow-up question. > > Does that mean that *any* expression containing text constants is not going to be pushed down?? > That would be a really serious issues I’d say. I’m afraid it is affecting all expressions containing functions. This is really troublesome as it blocks push down for some basic (and collation independent) functions like coalesce. — Michal