Remove "recheck" argument from check_index_is_clusterable()
The last usage of this argument in this routine can be tracked down to
7e2f9062
, aka 11 years ago. Getting rid of this argument can also be an
advantage for extensions calling check_index_is_clusterable(), as it
removes any need to worry about the meaning of what a recheck would be
at this level.
Author: Justin Pryzby
Discussion: https://postgr.es/m/20220411140609.GF26620@telsasoft.com
This commit is contained in:
parent
fdc18ea23b
commit
b940918dc8
|
@ -232,7 +232,7 @@ cluster(ParseState *pstate, ClusterStmt *stmt, bool isTopLevel)
|
||||||
if (rel != NULL)
|
if (rel != NULL)
|
||||||
{
|
{
|
||||||
Assert(rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE);
|
Assert(rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE);
|
||||||
check_index_is_clusterable(rel, indexOid, true, AccessShareLock);
|
check_index_is_clusterable(rel, indexOid, AccessShareLock);
|
||||||
rtcs = get_tables_to_cluster_partitioned(cluster_context, indexOid);
|
rtcs = get_tables_to_cluster_partitioned(cluster_context, indexOid);
|
||||||
|
|
||||||
/* close relation, releasing lock on parent table */
|
/* close relation, releasing lock on parent table */
|
||||||
|
@ -434,7 +434,7 @@ cluster_rel(Oid tableOid, Oid indexOid, ClusterParams *params)
|
||||||
|
|
||||||
/* Check heap and index are valid to cluster on */
|
/* Check heap and index are valid to cluster on */
|
||||||
if (OidIsValid(indexOid))
|
if (OidIsValid(indexOid))
|
||||||
check_index_is_clusterable(OldHeap, indexOid, recheck, AccessExclusiveLock);
|
check_index_is_clusterable(OldHeap, indexOid, AccessExclusiveLock);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Quietly ignore the request if this is a materialized view which has not
|
* Quietly ignore the request if this is a materialized view which has not
|
||||||
|
@ -480,7 +480,7 @@ cluster_rel(Oid tableOid, Oid indexOid, ClusterParams *params)
|
||||||
* protection here.
|
* protection here.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
check_index_is_clusterable(Relation OldHeap, Oid indexOid, bool recheck, LOCKMODE lockmode)
|
check_index_is_clusterable(Relation OldHeap, Oid indexOid, LOCKMODE lockmode)
|
||||||
{
|
{
|
||||||
Relation OldIndex;
|
Relation OldIndex;
|
||||||
|
|
||||||
|
|
|
@ -14055,7 +14055,7 @@ ATExecClusterOn(Relation rel, const char *indexName, LOCKMODE lockmode)
|
||||||
indexName, RelationGetRelationName(rel))));
|
indexName, RelationGetRelationName(rel))));
|
||||||
|
|
||||||
/* Check index is valid to cluster on */
|
/* Check index is valid to cluster on */
|
||||||
check_index_is_clusterable(rel, indexOid, false, lockmode);
|
check_index_is_clusterable(rel, indexOid, lockmode);
|
||||||
|
|
||||||
/* And do the work */
|
/* And do the work */
|
||||||
mark_index_clustered(rel, indexOid, false);
|
mark_index_clustered(rel, indexOid, false);
|
||||||
|
|
|
@ -34,7 +34,7 @@ typedef struct ClusterParams
|
||||||
extern void cluster(ParseState *pstate, ClusterStmt *stmt, bool isTopLevel);
|
extern void cluster(ParseState *pstate, ClusterStmt *stmt, bool isTopLevel);
|
||||||
extern void cluster_rel(Oid tableOid, Oid indexOid, ClusterParams *params);
|
extern void cluster_rel(Oid tableOid, Oid indexOid, ClusterParams *params);
|
||||||
extern void check_index_is_clusterable(Relation OldHeap, Oid indexOid,
|
extern void check_index_is_clusterable(Relation OldHeap, Oid indexOid,
|
||||||
bool recheck, LOCKMODE lockmode);
|
LOCKMODE lockmode);
|
||||||
extern void mark_index_clustered(Relation rel, Oid indexOid, bool is_internal);
|
extern void mark_index_clustered(Relation rel, Oid indexOid, bool is_internal);
|
||||||
|
|
||||||
extern Oid make_new_heap(Oid OIDOldHeap, Oid NewTableSpace, Oid NewAccessMethod,
|
extern Oid make_new_heap(Oid OIDOldHeap, Oid NewTableSpace, Oid NewAccessMethod,
|
||||||
|
|
Loading…
Reference in New Issue