Re: Yet another fast GiST build
От | Tom Lane |
---|---|
Тема | Re: Yet another fast GiST build |
Дата | |
Msg-id | 896113.1600643169@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Yet another fast GiST build (Heikki Linnakangas <hlinnaka@iki.fi>) |
Ответы |
Re: Yet another fast GiST build
Re: Yet another fast GiST build |
Список | pgsql-hackers |
Justin Pryzby <pryzby@telsasoft.com> writes: > This also appears to break checksums. I was wondering about that, because the typical pattern for use of smgrextend for indexes seems to be RelationOpenSmgr(rel); PageSetChecksumInplace(page, lastblock); smgrextend(rel->rd_smgr, MAIN_FORKNUM, lastblock, zerobuf.data, false); and gist_indexsortbuild wasn't doing either of the first two things. gist_indexsortbuild_flush_ready_pages looks like it might be a few bricks shy of a load too. But my local CLOBBER_CACHE_ALWAYS run hasn't gotten to anything except the pretty-trivial index made in point.sql, so I don't have evidence about it. Another interesting point is that all the other index AMs seem to WAL-log the new page before the smgrextend call, whereas this code is doing it in the other order. I strongly doubt that both patterns are equally correct. Could be that the other AMs are in the wrong though. regards, tom lane
В списке pgsql-hackers по дате отправления: