Re: Consistently use palloc_object() and palloc_array()
| От | David Geier |
|---|---|
| Тема | Re: Consistently use palloc_object() and palloc_array() |
| Дата | |
| Msg-id | 4ab4a12b-49e9-4ebf-9055-225c8055fed0@gmail.com обсуждение исходный текст |
| Ответ на | Re: Consistently use palloc_object() and palloc_array() (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: Consistently use palloc_object() and palloc_array()
|
| Список | pgsql-hackers |
On 03.12.2025 01:40, Tom Lane wrote: > Michael Paquier <michael@paquier.xyz> writes: >> It may be a good idea to split the patch into two parts, at least: >> - One for the bulk of the changes, for the straight-forward changes. >> Most of what you are suggesting are that for palloc_object and >> palloc_array which are dropped-in replacements. Checking that these >> assemble the same before and after offers one extra layer of >> confidence. >> - Second one for the more dubious changes. > > Yeah, I was thinking the same. Some of those might perhaps be bugs > that we want to back-patch, so they need to be looked at in a > different way. > > regards, tom lane Attached are the two patches, rebased on latest master. The first one contains all changes that either result in no changes to the disassembly, or only in changes due to the line counts; because elog.h makes use of __LINE__. The second patch contains the remaining changes, which is only 11 files. contrib/fuzzystrmatch/fuzzystrmatch.c: semantic changes, e.g. palloc(sizeof(char) * strlen(word) + 1); => palloc_array(char, strlen(word) + 1); contrib/pg_buffercache/pg_buffercache_pages.c: semantic change palloc(sizeof(uint64) * os_page_count); => palloc_array(int, os_page_count); src/test/modules/test_rbtree/test_rbtree.c: different way to get pointer return (RBTNode *) palloc(sizeof(IntRBTreeNode)); => return &palloc_object(IntRBTreeNode)->rbtnode; contrib/hstore/hstore_gin.c contrib/hstore/hstore_op.c contrib/pg_trgm/trgm_op.c contrib/postgres_fdw/postgres_fdw.c src/backend/executor/execPartition.c src/backend/partitioning/partprune.c src/backend/statistics/mvdistinct.c src/backend/storage/buffer/bufmgr.c All files contain arithmetic expressions for the count argument of palloc[0]_array(). The parentheses can change the order in which the arguments are evaluated which changes the generated code. -- David Geier
Вложения
В списке pgsql-hackers по дате отправления: