mirror of https://github.com/postgres/postgres
Fix an oversight in commit 321eed5f0f7563a0: replacing an operator's selectivity functions needs to result in a corresponding update in pg_depend. We have a function that can handle that, but it was not called by AlterOperator(). To fix this without enlarging pg_operator.h's #include list beyond what clients can safely include, split off the function definitions into a new file pg_operator_fn.h, similarly to what we've done for some other catalog header files. It's not entirely clear whether any client-side code needs to include pg_operator.h, but it seems prudent to assume that there is some such code somewhere.pull/8/head
parent
e5d06f2b12
commit
0dab5ef39b
@ -0,0 +1,34 @@ |
|||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* |
||||||
|
* pg_operator_fn.h |
||||||
|
* prototypes for functions in catalog/pg_operator.c |
||||||
|
* |
||||||
|
* |
||||||
|
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group |
||||||
|
* Portions Copyright (c) 1994, Regents of the University of California |
||||||
|
* |
||||||
|
* src/include/catalog/pg_operator_fn.h |
||||||
|
* |
||||||
|
*------------------------------------------------------------------------- |
||||||
|
*/ |
||||||
|
#ifndef PG_OPERATOR_FN_H |
||||||
|
#define PG_OPERATOR_FN_H |
||||||
|
|
||||||
|
#include "catalog/objectaddress.h" |
||||||
|
#include "nodes/pg_list.h" |
||||||
|
|
||||||
|
extern ObjectAddress OperatorCreate(const char *operatorName, |
||||||
|
Oid operatorNamespace, |
||||||
|
Oid leftTypeId, |
||||||
|
Oid rightTypeId, |
||||||
|
Oid procedureId, |
||||||
|
List *commutatorName, |
||||||
|
List *negatorName, |
||||||
|
Oid restrictionId, |
||||||
|
Oid joinId, |
||||||
|
bool canMerge, |
||||||
|
bool canHash); |
||||||
|
|
||||||
|
extern ObjectAddress makeOperatorDependencies(HeapTuple tuple, bool isUpdate); |
||||||
|
|
||||||
|
#endif /* PG_OPERATOR_FN_H */ |
||||||
Loading…
Reference in new issue