citus/src/include/distributed/citus_depended_object.h

40 lines
1.3 KiB
C

/*-------------------------------------------------------------------------
*
* citus_depended_object.h
* Exposes functions related to hiding citus depended objects while executing
* postgres vanilla tests.
*
* Copyright (c) CitusDependent Data, Inc.
*
*-------------------------------------------------------------------------
*/
#ifndef CITUS_DEPENDED_OBJECT_H
#define CITUS_DEPENDED_OBJECT_H
#include "distributed/commands.h"
#include "nodes/nodes.h"
#include "nodes/parsenodes.h"
extern bool HideCitusDependentObjects;
/* DistOpsValidationState to be used to determine validity of dist ops */
typedef enum DistOpsValidationState
{
HasAtLeastOneValidObject,
HasNoneValidObject,
HasObjectWithInvalidOwnership,
NoAddressResolutionRequired
} DistOpsValidationState;
extern void SetLocalClientMinMessagesIfRunningPGTests(int
clientMinMessageLevel);
extern void SetLocalHideCitusDependentObjectsDisabledWhenAlreadyEnabled(void);
extern bool HideCitusDependentObjectsOnQueriesOfPgMetaTables(Node *node, void *context);
extern bool IsPgLocksTable(RangeTblEntry *rte);
extern DistOpsValidationState DistOpsValidityState(Node *node, const
DistributeObjectOps *ops);
extern bool DistOpsInValidState(DistOpsValidationState distOpsValidationState);
#endif /* CITUS_DEPENDED_OBJECT_H */