Re: pg_column_toast_chunk_id: a function to get a chunk ID of a TOASTed value
От | Yugo NAGATA |
---|---|
Тема | Re: pg_column_toast_chunk_id: a function to get a chunk ID of a TOASTed value |
Дата | |
Msg-id | 20240126094237.cec181d85e05556533d79914@sraoss.co.jp обсуждение исходный текст |
Ответ на | Re: pg_column_toast_chunk_id: a function to get a chunk ID of a TOASTed value (jian he <jian.universality@gmail.com>) |
Ответы |
Re: pg_column_toast_chunk_id: a function to get a chunk ID of a TOASTed value
|
Список | pgsql-hackers |
On Tue, 2 Jan 2024 08:00:00 +0800 jian he <jian.universality@gmail.com> wrote: > On Mon, Nov 6, 2023 at 8:00 AM jian he <jian.universality@gmail.com> wrote: > > > > minor doc issues. > > Returns the chunk id of the TOASTed value, or NULL if the value is not TOASTed. > > Should it be "chunk_id"? Thank you for your suggestion. As you pointed out, it is called "chunk_id" in the documentation, so I rewrote it and also added a link to the section where the TOAST table structure is explained. > > you may place it after pg_create_logical_replication_slot entry to > > make it look like alphabetical order. I've been thinking about where we should place the function in the doc, and I decided place it in the table of Database Object Size Functions because I think pg_column_toast_chunk_id also would assist understanding the result of size functions as similar to pg_column_compression; that is, those function can explain why a large value in size could be stored in a column. > > There is no test. maybe we can add following to src/test/regress/sql/misc.sql > > create table val(t text); > > INSERT into val(t) SELECT string_agg( > > chr((ascii('B') + round(random() * 25)) :: integer),'') > > FROM generate_series(1,2500); > > select pg_column_toast_chunk_id(t) is not null from val; > > drop table val; Thank you for the test proposal. However, if we add a test, I want to check that the chunk_id returned by the function exists in the TOAST table, and that it returns NULL if the values is not TOASTed. For the purpose, I wrote a test using a dynamic SQL since the table name of the TOAST table have to be generated from the main table's OID. > Hi > the main C function (pg_column_toast_chunk_id) I didn't change. > I added tests as mentioned above. > tests put it on src/test/regress/sql/misc.sql, i hope that's fine. > I placed pg_column_toast_chunk_id in "Table 9.99. Database Object > Location Functions" (below Table 9.98. Database Object Size > Functions). I could not find any change in your patch from my previous patch. Maybe, you attached wrong file. I attached a patch updated based on your review, including the documentation fixes and a test. What do you think about this it? Regards, Yugo Nagata -- Yugo NAGATA <nagata@sraoss.co.jp>
Вложения
В списке pgsql-hackers по дате отправления: