Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 72eee41

Browse filesBrowse files
committed
Move pg_constraint.h function declarations to new file pg_constraint_fn.h.
A pending patch requires exporting a function returning Bitmapset from catalog/pg_constraint.c. As things stand, that would mean including nodes/bitmapset.h in pg_constraint.h, which might be hazardous for the client-side includability of that header. It's not entirely clear whether any client-side code needs to include pg_constraint.h, but it seems prudent to assume that there is some such code somewhere. Therefore, split off the function definitions into a new file pg_constraint_fn.h, similarly to what we've done for some other catalog header files.
1 parent 2564be3 commit 72eee41
Copy full SHA for 72eee41

File tree

Expand file treeCollapse file tree

13 files changed

+97
-66
lines changed
Filter options
Expand file treeCollapse file tree

13 files changed

+97
-66
lines changed

‎src/backend/catalog/dependency.c

Copy file name to clipboardExpand all lines: src/backend/catalog/dependency.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "catalog/pg_collation.h"
2929
#include "catalog/pg_collation_fn.h"
3030
#include "catalog/pg_constraint.h"
31+
#include "catalog/pg_constraint_fn.h"
3132
#include "catalog/pg_conversion.h"
3233
#include "catalog/pg_conversion_fn.h"
3334
#include "catalog/pg_database.h"

‎src/backend/catalog/heap.c

Copy file name to clipboardExpand all lines: src/backend/catalog/heap.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#include "catalog/pg_attrdef.h"
4545
#include "catalog/pg_collation.h"
4646
#include "catalog/pg_constraint.h"
47+
#include "catalog/pg_constraint_fn.h"
4748
#include "catalog/pg_foreign_table.h"
4849
#include "catalog/pg_inherits.h"
4950
#include "catalog/pg_namespace.h"

‎src/backend/catalog/index.c

Copy file name to clipboardExpand all lines: src/backend/catalog/index.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include "catalog/pg_am.h"
4141
#include "catalog/pg_collation.h"
4242
#include "catalog/pg_constraint.h"
43+
#include "catalog/pg_constraint_fn.h"
4344
#include "catalog/pg_operator.h"
4445
#include "catalog/pg_opclass.h"
4546
#include "catalog/pg_tablespace.h"

‎src/backend/catalog/objectaddress.c

Copy file name to clipboardExpand all lines: src/backend/catalog/objectaddress.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include "catalog/pg_event_trigger.h"
3131
#include "catalog/pg_collation.h"
3232
#include "catalog/pg_constraint.h"
33+
#include "catalog/pg_constraint_fn.h"
3334
#include "catalog/pg_conversion.h"
3435
#include "catalog/pg_database.h"
3536
#include "catalog/pg_extension.h"

‎src/backend/catalog/pg_constraint.c

Copy file name to clipboardExpand all lines: src/backend/catalog/pg_constraint.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "catalog/indexing.h"
2222
#include "catalog/objectaccess.h"
2323
#include "catalog/pg_constraint.h"
24+
#include "catalog/pg_constraint_fn.h"
2425
#include "catalog/pg_operator.h"
2526
#include "catalog/pg_type.h"
2627
#include "commands/defrem.h"

‎src/backend/commands/tablecmds.c

Copy file name to clipboardExpand all lines: src/backend/commands/tablecmds.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "catalog/pg_am.h"
3333
#include "catalog/pg_collation.h"
3434
#include "catalog/pg_constraint.h"
35+
#include "catalog/pg_constraint_fn.h"
3536
#include "catalog/pg_depend.h"
3637
#include "catalog/pg_foreign_table.h"
3738
#include "catalog/pg_inherits.h"

‎src/backend/commands/trigger.c

Copy file name to clipboardExpand all lines: src/backend/commands/trigger.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "catalog/indexing.h"
2424
#include "catalog/objectaccess.h"
2525
#include "catalog/pg_constraint.h"
26+
#include "catalog/pg_constraint_fn.h"
2627
#include "catalog/pg_proc.h"
2728
#include "catalog/pg_trigger.h"
2829
#include "catalog/pg_type.h"

‎src/backend/commands/typecmds.c

Copy file name to clipboardExpand all lines: src/backend/commands/typecmds.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include "catalog/pg_authid.h"
4242
#include "catalog/pg_collation.h"
4343
#include "catalog/pg_constraint.h"
44+
#include "catalog/pg_constraint_fn.h"
4445
#include "catalog/pg_depend.h"
4546
#include "catalog/pg_enum.h"
4647
#include "catalog/pg_language.h"

‎src/backend/parser/parse_agg.c

Copy file name to clipboardExpand all lines: src/backend/parser/parse_agg.c
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include "postgres.h"
1616

1717
#include "catalog/pg_aggregate.h"
18-
#include "catalog/pg_constraint.h"
18+
#include "catalog/pg_constraint_fn.h"
1919
#include "catalog/pg_type.h"
2020
#include "nodes/makefuncs.h"
2121
#include "nodes/nodeFuncs.h"

‎src/backend/parser/parse_clause.c

Copy file name to clipboardExpand all lines: src/backend/parser/parse_clause.c
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include "catalog/catalog.h"
2323
#include "catalog/heap.h"
2424
#include "catalog/pg_am.h"
25-
#include "catalog/pg_constraint.h"
25+
#include "catalog/pg_constraint_fn.h"
2626
#include "catalog/pg_type.h"
2727
#include "commands/defrem.h"
2828
#include "nodes/makefuncs.h"

‎src/backend/parser/parse_utilcmd.c

Copy file name to clipboardExpand all lines: src/backend/parser/parse_utilcmd.c
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "catalog/pg_am.h"
3737
#include "catalog/pg_collation.h"
3838
#include "catalog/pg_constraint.h"
39+
#include "catalog/pg_constraint_fn.h"
3940
#include "catalog/pg_opclass.h"
4041
#include "catalog/pg_operator.h"
4142
#include "catalog/pg_type.h"

‎src/include/catalog/pg_constraint.h

Copy file name to clipboardExpand all lines: src/include/catalog/pg_constraint.h
+7-64Lines changed: 7 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
#define PG_CONSTRAINT_H
2121

2222
#include "catalog/genbki.h"
23-
#include "catalog/dependency.h"
24-
#include "nodes/pg_list.h"
2523

2624
/* ----------------
2725
* pg_constraint definition. cpp turns this into
@@ -178,6 +176,13 @@ typedef FormData_pg_constraint *Form_pg_constraint;
178176
#define Anum_pg_constraint_conbin 23
179177
#define Anum_pg_constraint_consrc 24
180178

179+
/* ----------------
180+
* initial contents of pg_constraint
181+
* ----------------
182+
*/
183+
184+
/* nothing, at present */
185+
181186

182187
/* Valid values for contype */
183188
#define CONSTRAINT_CHECK 'c'
@@ -193,66 +198,4 @@ typedef FormData_pg_constraint *Form_pg_constraint;
193198
* the FKCONSTR_MATCH_xxx constants defined in parsenodes.h.
194199
*/
195200

196-
/*
197-
* Identify constraint type for lookup purposes
198-
*/
199-
typedef enum ConstraintCategory
200-
{
201-
CONSTRAINT_RELATION,
202-
CONSTRAINT_DOMAIN,
203-
CONSTRAINT_ASSERTION /* for future expansion */
204-
} ConstraintCategory;
205-
206-
/*
207-
* prototypes for functions in pg_constraint.c
208-
*/
209-
extern Oid CreateConstraintEntry(const char *constraintName,
210-
Oid constraintNamespace,
211-
char constraintType,
212-
bool isDeferrable,
213-
bool isDeferred,
214-
bool isValidated,
215-
Oid relId,
216-
const int16 *constraintKey,
217-
int constraintNKeys,
218-
Oid domainId,
219-
Oid indexRelId,
220-
Oid foreignRelId,
221-
const int16 *foreignKey,
222-
const Oid *pfEqOp,
223-
const Oid *ppEqOp,
224-
const Oid *ffEqOp,
225-
int foreignNKeys,
226-
char foreignUpdateType,
227-
char foreignDeleteType,
228-
char foreignMatchType,
229-
const Oid *exclOp,
230-
Node *conExpr,
231-
const char *conBin,
232-
const char *conSrc,
233-
bool conIsLocal,
234-
int conInhCount,
235-
bool conNoInherit,
236-
bool is_internal);
237-
238-
extern void RemoveConstraintById(Oid conId);
239-
extern void RenameConstraintById(Oid conId, const char *newname);
240-
extern void SetValidatedConstraintById(Oid conId);
241-
242-
extern bool ConstraintNameIsUsed(ConstraintCategory conCat, Oid objId,
243-
Oid objNamespace, const char *conname);
244-
extern char *ChooseConstraintName(const char *name1, const char *name2,
245-
const char *label, Oid namespaceid,
246-
List *others);
247-
248-
extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId,
249-
Oid newNspId, bool isType, ObjectAddresses *objsMoved);
250-
extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok);
251-
extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok);
252-
253-
extern bool check_functional_grouping(Oid relid,
254-
Index varno, Index varlevelsup,
255-
List *grouping_columns,
256-
List **constraintDeps);
257-
258201
#endif /* PG_CONSTRAINT_H */
+79Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
/*-------------------------------------------------------------------------
2+
*
3+
* pg_constraint_fn.h
4+
* prototypes for functions in catalog/pg_constraint.c
5+
*
6+
*
7+
* Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
8+
* Portions Copyright (c) 1994, Regents of the University of California
9+
*
10+
* src/include/catalog/pg_constraint_fn.h
11+
*
12+
*-------------------------------------------------------------------------
13+
*/
14+
#ifndef PG_CONSTRAINT_FN_H
15+
#define PG_CONSTRAINT_FN_H
16+
17+
#include "catalog/dependency.h"
18+
#include "nodes/pg_list.h"
19+
20+
/*
21+
* Identify constraint type for lookup purposes
22+
*/
23+
typedef enum ConstraintCategory
24+
{
25+
CONSTRAINT_RELATION,
26+
CONSTRAINT_DOMAIN,
27+
CONSTRAINT_ASSERTION /* for future expansion */
28+
} ConstraintCategory;
29+
30+
extern Oid CreateConstraintEntry(const char *constraintName,
31+
Oid constraintNamespace,
32+
char constraintType,
33+
bool isDeferrable,
34+
bool isDeferred,
35+
bool isValidated,
36+
Oid relId,
37+
const int16 *constraintKey,
38+
int constraintNKeys,
39+
Oid domainId,
40+
Oid indexRelId,
41+
Oid foreignRelId,
42+
const int16 *foreignKey,
43+
const Oid *pfEqOp,
44+
const Oid *ppEqOp,
45+
const Oid *ffEqOp,
46+
int foreignNKeys,
47+
char foreignUpdateType,
48+
char foreignDeleteType,
49+
char foreignMatchType,
50+
const Oid *exclOp,
51+
Node *conExpr,
52+
const char *conBin,
53+
const char *conSrc,
54+
bool conIsLocal,
55+
int conInhCount,
56+
bool conNoInherit,
57+
bool is_internal);
58+
59+
extern void RemoveConstraintById(Oid conId);
60+
extern void RenameConstraintById(Oid conId, const char *newname);
61+
extern void SetValidatedConstraintById(Oid conId);
62+
63+
extern bool ConstraintNameIsUsed(ConstraintCategory conCat, Oid objId,
64+
Oid objNamespace, const char *conname);
65+
extern char *ChooseConstraintName(const char *name1, const char *name2,
66+
const char *label, Oid namespaceid,
67+
List *others);
68+
69+
extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId,
70+
Oid newNspId, bool isType, ObjectAddresses *objsMoved);
71+
extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok);
72+
extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok);
73+
74+
extern bool check_functional_grouping(Oid relid,
75+
Index varno, Index varlevelsup,
76+
List *grouping_columns,
77+
List **constraintDeps);
78+
79+
#endif /* PG_CONSTRAINT_FN_H */

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.