Log Message: ----------- Resurrect heap_deformtuple(), this time implemented as a singly nested loop over the fields instead of a loop around heap_getattr. This is considerably faster (O(N) instead of O(N^2)) when there are nulls or varlena fields, since those prevent use of attcacheoff. Replace loops over heap_getattr with heap_deformtuple in situations where all or most of the fields have to be fetched, such as printtup and tuptoaster. Profiling done more than a year ago shows that this should be a nice win for situations involving many-column tables. Modified Files: -------------- pgsql-server/src/backend/access/common: heaptuple.c (r1.90 -> r1.91) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/common/heaptuple.c.diff?r1=1.90&r2=1.91) printtup.c (r1.81 -> r1.82) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/common/printtup.c.diff?r1=1.81&r2=1.82) pgsql-server/src/backend/access/heap: tuptoaster.c (r1.41 -> r1.42) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/heap/tuptoaster.c.diff?r1=1.41&r2=1.42) pgsql-server/src/backend/commands: tablecmds.c (r1.109 -> r1.110) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/tablecmds.c.diff?r1=1.109&r2=1.110) typecmds.c (r1.57 -> r1.58) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/typecmds.c.diff?r1=1.57&r2=1.58) pgsql-server/src/backend/executor: execJunk.c (r1.40 -> r1.41) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execJunk.c.diff?r1=1.40&r2=1.41) spi.c (r1.115 -> r1.116) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/spi.c.diff?r1=1.115&r2=1.116) pgsql-server/src/include/access: heapam.h (r1.89 -> r1.90) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/access/heapam.h.diff?r1=1.89&r2=1.90)
pgsql-committers by date:
Соглашаюсь с условиями обработки персональных данных