enum-ify resource manager's xl_info values
Hi,
Would somebody object to making the rmgr's invo value #defines like:
/* XLOG info values for XLOG rmgr */
#define XLOG_CHECKPOINT_SHUTDOWN 0x00
#define XLOG_CHECKPOINT_ONLINE 0x10
#define XLOG_NOOP 0x20
#define XLOG_NEXTOID 0x30
#define XLOG_SWITCH 0x40
#define XLOG_BACKUP_END 0x50
#define XLOG_PARAMETER_CHANGE 0x60
#define XLOG_RESTORE_POINT 0x70
#define XLOG_FPW_CHANGE 0x80
#define XLOG_END_OF_RECOVERY 0x90
#define XLOG_FPI 0xA0
into enums? We already have a bunch of places looking at those values
and if/when changeset extraction makes it in, it's going to be one
more. Having the compiler tell you where a new value should have been
been added as well helps.
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
Would somebody object to making the rmgr's invo value #defines like:
into enums?
I think that will create more problems than it fixes. For one thing,
the same field is used to store values that would need to be multiple
independent enum types; and we also store additional bits into that
field.
regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On 2013-07-22 08:53:53 -0400, Tom Lane wrote:
Andres Freund <andres@2ndquadrant.com> writes:
Would somebody object to making the rmgr's invo value #defines like:
into enums?I think that will create more problems than it fixes. For one thing,
the same field is used to store values that would need to be multiple
independent enum types; and we also store additional bits into that
field.
Oh, I don't want to change the definition of XLogRecord or such. I just
want to make the series of #defines an enum so you can write something
like
inf = record->xl_info & ~XLR_INFO_MASK;
switch ((XLogXactRecordType) info)
{
case ....;
}
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On 7/22/13 7:21 AM, Andres Freund wrote:
Would somebody object to making the rmgr's invo value #defines like:
I'm suspicious of enums that are assigned specific values. Enums should
stand by themselves, they shouldn't be a symbolic layer on top of some
other numbering or bit-fiddling scheme.
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers