Hi > On Oct 16, 2024, at 12:17 PM, Laurenz Albe <laurenz.a...@cybertec.at> wrote: > > And what would you say about this (silly) example: > > CREATE TABLE x (a integer, b integer); > CREATE INDEX ON x(hash_record(x));
When I talk about an expression over something, I mainly think about it at the AST level, I guess the AST of expression “hash_record(x)” will be something like (I tried to parse this statement and print the AST using pg_query.rs, but looks like this library does not have an AST type defined, sorry if my guess is too incorrect): FunctionCall { name: “hash_record", arguments: [ Table { name: "x" } ] } So it is not table columns or rows IMHO. Regards, Steve.