Simplify redability of some tests for toast_tuple_target in strings.sql

Started by Michael Paquierabout 7 years ago3 messageshackers
Jump to latest
#1Michael Paquier
michael@paquier.xyz

Hi all,

Some tests for toast_tuple_target introduced by c251336 check if a
toast relation is empty or not using that:
+select 0 = pg_relation_size('pg_toast.pg_toast_'||(select oid from
pg_class where relname =
'toasttest'))/current_setting('block_size')::integer as blocks;

This is overcomplicated as there is not need to compile the relation
toast name, and reltoastrelid can be used directly, like that:
SELECT pg_relation_size(reltoastrelid) = 0 AS data_size
FROM pg_class where relname = 'toasttest';

Any objections if I simplify those tests as per the attached?
--
Michael

Attachments:

toast-test-simplify.patchtext/x-diff; charset=us-asciiDownload+12-6
#2Daniel Gustafsson
daniel@yesql.se
In reply to: Michael Paquier (#1)
Re: Simplify redability of some tests for toast_tuple_target in strings.sql

On Wednesday, April 3, 2019 8:59 AM, Michael Paquier <michael@paquier.xyz> wrote:

Hi all,

Some tests for toast_tuple_target introduced by c251336 check if a
toast relation is empty or not using that:
+select 0 = pg_relation_size('pg_toast.pg_toast_'||(select oid from
pg_class where relname =
'toasttest'))/current_setting('block_size')::integer as blocks;

This is overcomplicated as there is not need to compile the relation
toast name, and reltoastrelid can be used directly, like that:
SELECT pg_relation_size(reltoastrelid) = 0 AS data_size
FROM pg_class where relname = 'toasttest';

Any objections if I simplify those tests as per the attached?

+1, that's much more readable. Thanks!

cheers ./daniel

#3Michael Paquier
michael@paquier.xyz
In reply to: Daniel Gustafsson (#2)
Re: Simplify redability of some tests for toast_tuple_target in strings.sql

On Wed, Apr 03, 2019 at 09:38:57AM +0000, Daniel Gustafsson wrote:

+1, that's much more readable. Thanks!

Thanks for the lookup, done.
--
Michael