Обсуждение: pgsql: Remove partial, broken support for NULL pointers when fetching
pgsql: Remove partial, broken support for NULL pointers when fetching
От
rhaas@postgresql.org (Robert Haas)
Дата:
Log Message: ----------- Remove partial, broken support for NULL pointers when fetching attributes. Previously, fastgetattr() and heap_getattr() tested their fourth argument against a null pointer, but any attempt to use them with a literal-NULL fourth argument evaluated to *(void *)0, resulting in a compiler error. Remove these NULL tests to avoid leading future readers of this code to believe that this has a chance of working. Also clean up related legacy code in nocachegetattr(), heap_getsysattr(), and nocache_index_getattr(). The new coding standard is that any code which calls a getattr-type function or macro which takes an isnull argument MUST pass a valid boolean pointer. Per discussion with Bruce Momjian, Tom Lane, Alvaro Herrera. Modified Files: -------------- pgsql/src/backend/access/common: heaptuple.c (r1.129 -> r1.130) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/heaptuple.c?r1=1.129&r2=1.130) indextuple.c (r1.90 -> r1.91) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/indextuple.c?r1=1.90&r2=1.91) pgsql/src/backend/access/heap: heapam.c (r1.280 -> r1.281) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.280&r2=1.281) pgsql/src/include/access: htup.h (r1.109 -> r1.110) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/htup.h?r1=1.109&r2=1.110) itup.h (r1.53 -> r1.54) (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/itup.h?r1=1.53&r2=1.54)