PostgreSQL Source Code git master
|
#include "catalog/objectaddress.h"
#include "nodes/params.h"
#include "nodes/parsenodes.h"
#include "tcop/dest.h"
#include "utils/relcache.h"
Go to the source code of this file.
Functions | |
void | SetMatViewPopulatedState (Relation relation, bool newstate) |
ObjectAddress | ExecRefreshMatView (RefreshMatViewStmt *stmt, const char *queryString, QueryCompletion *qc) |
ObjectAddress | RefreshMatViewByOid (Oid matviewOid, bool is_create, bool skipData, bool concurrent, const char *queryString, QueryCompletion *qc) |
DestReceiver * | CreateTransientRelDestReceiver (Oid transientoid) |
bool | MatViewIncrementalMaintenanceIsEnabled (void) |
DestReceiver * CreateTransientRelDestReceiver | ( | Oid | transientoid | ) |
Definition at line 465 of file matview.c.
References DestTransientRel, _DestReceiver::mydest, palloc0(), DR_transientrel::pub, _DestReceiver::rDestroy, _DestReceiver::receiveSlot, _DestReceiver::rShutdown, _DestReceiver::rStartup, DR_transientrel::transientoid, transientrel_destroy(), transientrel_receive(), transientrel_shutdown(), and transientrel_startup().
Referenced by CreateDestReceiver(), and RefreshMatViewByOid().
ObjectAddress ExecRefreshMatView | ( | RefreshMatViewStmt * | stmt, |
const char * | queryString, | ||
QueryCompletion * | qc | ||
) |
Definition at line 121 of file matview.c.
References AccessExclusiveLock, ExclusiveLock, RangeVarCallbackMaintainsTable(), RangeVarGetRelidExtended(), RefreshMatViewByOid(), and stmt.
Referenced by ProcessUtilitySlow().
bool MatViewIncrementalMaintenanceIsEnabled | ( | void | ) |
Definition at line 970 of file matview.c.
References matview_maintenance_depth.
Referenced by CheckValidResultRel().
ObjectAddress RefreshMatViewByOid | ( | Oid | matviewOid, |
bool | is_create, | ||
bool | skipData, | ||
bool | concurrent, | ||
const char * | queryString, | ||
QueryCompletion * | qc | ||
) |
Definition at line 165 of file matview.c.
References AccessExclusiveLock, AccessShareLock, Assert, AtEOXact_GUC(), CheckTableNotInUse(), CMD_SELECT, CreateTransientRelDestReceiver(), generate_unaccent_rules::dest, elog, ereport, errcode(), errhint(), errmsg(), ERROR, ExclusiveLock, get_namespace_name(), GetDefaultTablespace(), GetUserIdAndSecContext(), index_close(), index_open(), is_usable_unique_index(), lfirst_oid, linitial_node, list_free(), list_length(), LockRelationOid(), make_new_heap(), matview_maintenance_depth, NewGUCNestLevel(), NoLock, RuleLock::numLocks, ObjectAddressSet, PG_CATCH, PG_END_TRY, PG_RE_THROW, PG_TRY, pgstat_count_heap_insert(), pgstat_count_truncate(), quote_qualified_identifier(), RelationData::rd_rel, RelationData::rd_rules, refresh_by_heap_swap(), refresh_by_match_merge(), refresh_matview_datafill(), RelationGetIndexList(), RelationGetNamespace, RelationGetRelationName, RelationIsPopulated, RestrictSearchPath(), RuleLock::rules, SECURITY_RESTRICTED_OPERATION, SetMatViewPopulatedState(), SetQueryCompletion(), SetUserIdAndSecContext(), table_close(), and table_open().
Referenced by ExecCreateTableAs(), and ExecRefreshMatView().
void SetMatViewPopulatedState | ( | Relation | relation, |
bool | newstate | ||
) |
Definition at line 79 of file matview.c.
References Assert, CatalogTupleUpdate(), CommandCounterIncrement(), elog, ERROR, GETSTRUCT, heap_freetuple(), HeapTupleIsValid, newstate(), ObjectIdGetDatum(), RelationData::rd_rel, RelationGetRelid, RowExclusiveLock, SearchSysCacheCopy1, HeapTupleData::t_self, table_close(), and table_open().
Referenced by intorel_startup(), and RefreshMatViewByOid().