mirror of https://github.com/citusdata/citus.git
37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* dependency.c
|
|
* Functions to follow and record dependencies for objects to be
|
|
* created in the right order.
|
|
*
|
|
* Copyright (c) Citus Data, Inc.
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef CITUS_DEPENDENCY_H
|
|
#define CITUS_DEPENDENCY_H
|
|
|
|
#include "postgres.h"
|
|
|
|
#include "catalog/objectaddress.h"
|
|
#include "catalog/pg_depend.h"
|
|
#include "distributed/errormessage.h"
|
|
#include "nodes/pg_list.h"
|
|
|
|
extern List * GetUniqueDependenciesList(List *objectAddressesList);
|
|
extern List * GetDependenciesForObject(const ObjectAddress *target);
|
|
extern List * GetAllSupportedDependenciesForObject(const ObjectAddress *target);
|
|
extern List * GetAllDependenciesForObject(const ObjectAddress *target);
|
|
extern bool ErrorOrWarnIfAnyObjectHasUnsupportedDependency(List *objectAddresses);
|
|
extern DeferredErrorMessage * DeferErrorIfAnyObjectHasUnsupportedDependency(const List *
|
|
objectAddresses);
|
|
extern List * OrderObjectAddressListInDependencyOrder(List *objectAddressList);
|
|
extern bool SupportedDependencyByCitus(const ObjectAddress *address);
|
|
extern List * GetPgDependTuplesForDependingObjects(Oid targetObjectClassId,
|
|
Oid targetObjectId);
|
|
extern List * GetDependingViews(Oid relationId);
|
|
extern Oid GetDependingView(Form_pg_depend pg_depend);
|
|
|
|
#endif /* CITUS_DEPENDENCY_H */
|