Обсуждение: pgsql: Improve plpgsql's handling of record field references by forcing
pgsql: Improve plpgsql's handling of record field references by forcing
От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message: ----------- Improve plpgsql's handling of record field references by forcing all potential field references in SQL expressions to have RECFIELD datum-array entries at parse time. If it turns out that the reference is actually to a SQL column, the RECFIELD entry is useless, but it costs little. This allows us to get rid of the previous use of FieldSelect applied to a whole-row Param for the record variable; which was not only slower than a direct RECFIELD reference, but failed for references to system columns of a trigger's NEW or OLD record. Per report and fix suggestion from Dean Rasheed. Modified Files: -------------- pgsql/src/pl/plpgsql/src: gram.y (r1.137 -> r1.138) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/gram.y?r1=1.137&r2=1.138) pl_comp.c (r1.147 -> r1.148) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.147&r2=1.148) pl_scanner.c (r1.3 -> r1.4) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_scanner.c?r1=1.3&r2=1.4) plpgsql.h (r1.127 -> r1.128) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h?r1=1.127&r2=1.128)