VACUUM (PARALLEL) option processing not using DefElem the way it was intended

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: VACUUM (PARALLEL) option processing not using DefElem the way it was intended
Date: 2025-10-08 10:09:30
Message-ID: CAApHDvovH14tNWB+WvP6TSbfi7-=TysQ9h5tQ5AgavwyWRWKHA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I was just looking at the VACUUM option processing and I saw that the
code to process the PARALLEL option doesn't make use of the code in
defGetInt32() that's meant to handle empty and non-integer parameters.
ExecVacuum() has code to handle an empty PARALLEL parameters, but not
non-integer ones. That goes through to defGetInt32().

# vacuum (parallel 'bananas') pg_class;
ERROR: parallel requires an integer value

I feel if we're going to show that message for non-integer, then why
not the same one for empty parameter rather than handling that with a
custom message in the caller.

The attached is what I had in mind.

David

Attachment Content-Type Size
adjust_vacuum_parallel_option_handling_code.patch application/octet-stream 2.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2025-10-08 10:12:10 Re: Should we update the random_page_cost default value?
Previous Message Dilip Kumar 2025-10-08 10:08:18 Re: Logical Replication of sequences