Standardize the definition of the subtype field of AlterDomainStmt
I noticed that the subtype of AlterDomainStmt is directly using
constants in the code. It is not conducive to the maintenance and
reading of the code. Based on the definition of AlterTableType, use
"AD_" as the prefix. Define several macros to replace the original
characters.
The subtype of AlterTableCmd is defined using an enumeration. The
subtypes of AlterDomainStmt are relatively few in number, and the
original definition uses characters. These definitions still use
characters and maintain the values unchanged. If some plugins or tools
are also processing AlterDomainStmt, there will be no errors.
--
Quan Zongliang
Attachments:
alterdomain_subtype.patchtext/plain; charset=UTF-8; name=alterdomain_subtype.patchDownload+22-22
On Tue, May 27, 2025 at 11:06:46AM +0800, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using constants in
the code. It is not conducive to the maintenance and reading of the code.
Based on the definition of AlterTableType, use "AD_" as the prefix. Define
several macros to replace the original characters.
The subtype of AlterTableCmd is defined using an enumeration. The subtypes
of AlterDomainStmt are relatively few in number, and the original definition
uses characters. These definitions still use characters and maintain the
values unchanged. If some plugins or tools are also processing
AlterDomainStmt, there will be no errors.
Sounds like a good idea. As far as I can see after a closer lookup at
the tree, you have updated all the code paths that matter for this
change, and you have added a CF entry:
https://commitfest.postgresql.org/patch/5780/
+#define AD_VaidateConstraint 'V' /* VALIDATE CONSTRAINT */
s/Vaidate/Validate
--
Michael
HI
I noticed that the subtype of AlterDomainStmt is directly using
constants in the code. It is not conducive to the maintenance and
reading of the code. Based on the definition of AlterTableType, use
"AD_" as the prefix. Define several macros to replace the original
characters.
The subtype of AlterTableCmd is defined using an enumeration. The
subtypes of AlterDomainStmt are relatively few in number, and the
original definition uses characters. These definitions still use
characters and maintain the values unchanged. If some plugins or tools
are also processing AlterDomainStmt, there will be no errors.
Agree ,This makes the code neater and easier to understand
On Tue, May 27, 2025 at 11:55 AM Michael Paquier <michael@paquier.xyz>
wrote:
Show quoted text
On Tue, May 27, 2025 at 11:06:46AM +0800, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using
constants in
the code. It is not conducive to the maintenance and reading of the code.
Based on the definition of AlterTableType, use "AD_" as the prefix.Define
several macros to replace the original characters.
The subtype of AlterTableCmd is defined using an enumeration. Thesubtypes
of AlterDomainStmt are relatively few in number, and the original
definition
uses characters. These definitions still use characters and maintain the
values unchanged. If some plugins or tools are also processing
AlterDomainStmt, there will be no errors.Sounds like a good idea. As far as I can see after a closer lookup at
the tree, you have updated all the code paths that matter for this
change, and you have added a CF entry:
https://commitfest.postgresql.org/patch/5780/+#define AD_VaidateConstraint 'V' /* VALIDATE CONSTRAINT */
s/Vaidate/Validate
--
Michael
On 2025/5/27 11:54, Michael Paquier wrote:
On Tue, May 27, 2025 at 11:06:46AM +0800, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using constants in
the code. It is not conducive to the maintenance and reading of the code.
Based on the definition of AlterTableType, use "AD_" as the prefix. Define
several macros to replace the original characters.
The subtype of AlterTableCmd is defined using an enumeration. The subtypes
of AlterDomainStmt are relatively few in number, and the original definition
uses characters. These definitions still use characters and maintain the
values unchanged. If some plugins or tools are also processing
AlterDomainStmt, there will be no errors.Sounds like a good idea. As far as I can see after a closer lookup at
the tree, you have updated all the code paths that matter for this
change, and you have added a CF entry:
https://commitfest.postgresql.org/patch/5780/+#define AD_VaidateConstraint 'V' /* VALIDATE CONSTRAINT */
Updated
Thank you.
Show quoted text
s/Vaidate/Validate
--
Michael
Attachments:
alterdomain_subtype.patchtext/plain; charset=UTF-8; name=alterdomain_subtype.patchDownload+22-22
HI
Thank you for your update ,I marked the path as "Ready for Committer"
Thank
On Wed, May 28, 2025 at 10:27 AM Quan Zongliang <quanzongliang@yeah.net>
wrote:
Show quoted text
On 2025/5/27 11:54, Michael Paquier wrote:
On Tue, May 27, 2025 at 11:06:46AM +0800, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using
constants in
the code. It is not conducive to the maintenance and reading of the
code.
Based on the definition of AlterTableType, use "AD_" as the prefix.
Define
several macros to replace the original characters.
The subtype of AlterTableCmd is defined using an enumeration. Thesubtypes
of AlterDomainStmt are relatively few in number, and the original
definition
uses characters. These definitions still use characters and maintain the
values unchanged. If some plugins or tools are also processing
AlterDomainStmt, there will be no errors.Sounds like a good idea. As far as I can see after a closer lookup at
the tree, you have updated all the code paths that matter for this
change, and you have added a CF entry:
https://commitfest.postgresql.org/patch/5780/+#define AD_VaidateConstraint 'V' /* VALIDATE CONSTRAINT */
Updated
Thank you.s/Vaidate/Validate
--
Michael
On 27.05.25 05:06, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using
constants in the code. It is not conducive to the maintenance and
reading of the code. Based on the definition of AlterTableType, use
"AD_" as the prefix. Define several macros to replace the original
characters.
The subtype of AlterTableCmd is defined using an enumeration. The
subtypes of AlterDomainStmt are relatively few in number, and the
original definition uses characters. These definitions still use
characters and maintain the values unchanged. If some plugins or tools
are also processing AlterDomainStmt, there will be no errors.
You can still make it an enum and assign the currently in use values to
the new symbols, like
enum AlterDomainType
{
AD_AlterDefault = 'T',
AD_DropNotNull = 'N',
...
I would prefer that.
Peter Eisentraut <peter@eisentraut.org> 于2025年5月28日周三 19:23写道:
On 27.05.25 05:06, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using
constants in the code. It is not conducive to the maintenance and
reading of the code. Based on the definition of AlterTableType, use
"AD_" as the prefix. Define several macros to replace the original
characters.
The subtype of AlterTableCmd is defined using an enumeration. The
subtypes of AlterDomainStmt are relatively few in number, and the
original definition uses characters. These definitions still use
characters and maintain the values unchanged. If some plugins or tools
are also processing AlterDomainStmt, there will be no errors.You can still make it an enum and assign the currently in use values to
the new symbols, likeenum AlterDomainType
{
AD_AlterDefault = 'T',
AD_DropNotNull = 'N',
...I would prefer that.
+1
--
Thanks,
Tender Wang
Updated
Show quoted text
On 2025/5/28 19:30, Tender Wang wrote:
Peter Eisentraut <peter@eisentraut.org <mailto:peter@eisentraut.org>> 于
2025年5月28日周三 19:23写道:On 27.05.25 05:06, Quan Zongliang wrote:
I noticed that the subtype of AlterDomainStmt is directly using
constants in the code. It is not conducive to the maintenance and
reading of the code. Based on the definition of AlterTableType, use
"AD_" as the prefix. Define several macros to replace the original
characters.
The subtype of AlterTableCmd is defined using an enumeration. The
subtypes of AlterDomainStmt are relatively few in number, and the
original definition uses characters. These definitions still use
characters and maintain the values unchanged. If some plugins ortools
are also processing AlterDomainStmt, there will be no errors.
You can still make it an enum and assign the currently in use values to
the new symbols, likeenum AlterDomainType
{
AD_AlterDefault = 'T',
AD_DropNotNull = 'N',
...I would prefer that.
+1
--
Thanks,
Tender Wang