1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-06 07:49:08 +03:00

Move LockClauseStrength, LockWaitPolicy into new file nodes/lockoptions.h.

Commit df630b0dd5 moved enum LockWaitPolicy
into its very own header file utils/lockwaitpolicy.h, which does not seem
like a great idea from here.  First, it's still a node-related declaration,
and second, a file named like that can never sensibly be used for anything
else.  I do not think we want to encourage a one-typedef-per-header-file
approach.  The upcoming foreign table inheritance patch was doubling down
on this bad idea by moving enum LockClauseStrength into its *own*
can-never-be-used-for-anything-else file.  Instead, let's put them both in
a file named nodes/lockoptions.h.  (They do seem to need a separate header
file because we need them in both parsenodes.h and plannodes.h, and we
don't want either of those including the other.  Past practice might
suggest adding them to nodes/nodes.h, but they don't seem sufficiently
globally useful to justify that.)

Committed separately since there's no functional change here, just some
header-file refactoring.
This commit is contained in:
Tom Lane
2015-03-15 15:19:04 -04:00
parent 8008959773
commit 9fac5fd741
6 changed files with 48 additions and 44 deletions

View File

@@ -21,9 +21,9 @@
#define PARSENODES_H
#include "nodes/bitmapset.h"
#include "nodes/lockoptions.h"
#include "nodes/primnodes.h"
#include "nodes/value.h"
#include "utils/lockwaitpolicy.h"
/* Possible sources of a Query */
typedef enum QuerySource
@@ -645,15 +645,6 @@ typedef struct DefElem
* a location field --- currently, parse analysis insists on unqualified
* names in LockingClause.)
*/
typedef enum LockClauseStrength
{
/* order is important -- see applyLockingClause */
LCS_FORKEYSHARE,
LCS_FORSHARE,
LCS_FORNOKEYUPDATE,
LCS_FORUPDATE
} LockClauseStrength;
typedef struct LockingClause
{
NodeTag type;