mirror of
https://github.com/postgres/postgres.git
synced 2025-09-09 13:09:39 +03:00
pgindent run for 9.6
This commit is contained in:
@@ -338,14 +338,14 @@ DefineAggregate(List *name, List *args, bool oldstyle, List *parameters,
|
||||
/*
|
||||
* There's little point in having a serialization/deserialization
|
||||
* function on aggregates that don't have an internal state, so let's
|
||||
* just disallow this as it may help clear up any confusion or needless
|
||||
* authoring of these functions.
|
||||
* just disallow this as it may help clear up any confusion or
|
||||
* needless authoring of these functions.
|
||||
*/
|
||||
if (transTypeId != INTERNALOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||
errmsg("a serialization type must only be specified when the aggregate transition data type is %s",
|
||||
format_type_be(INTERNALOID))));
|
||||
format_type_be(INTERNALOID))));
|
||||
|
||||
serialTypeId = typenameTypeId(NULL, serialType);
|
||||
|
||||
@@ -358,15 +358,15 @@ DefineAggregate(List *name, List *args, bool oldstyle, List *parameters,
|
||||
|
||||
/*
|
||||
* We disallow INTERNAL serialType as the whole point of the
|
||||
* serialized types is to allow the aggregate state to be output,
|
||||
* and we cannot output INTERNAL. This check, combined with the one
|
||||
* above ensures that the trans type and serialization type are not the
|
||||
* serialized types is to allow the aggregate state to be output, and
|
||||
* we cannot output INTERNAL. This check, combined with the one above
|
||||
* ensures that the trans type and serialization type are not the
|
||||
* same.
|
||||
*/
|
||||
if (serialTypeId == INTERNALOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||
errmsg("aggregate serialization data type cannot be %s",
|
||||
errmsg("aggregate serialization data type cannot be %s",
|
||||
format_type_be(serialTypeId))));
|
||||
|
||||
/*
|
||||
@@ -392,14 +392,14 @@ DefineAggregate(List *name, List *args, bool oldstyle, List *parameters,
|
||||
*/
|
||||
if (serialfuncName != NIL)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||
errmsg("must specify serialization type when specifying serialization function")));
|
||||
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||
errmsg("must specify serialization type when specifying serialization function")));
|
||||
|
||||
/* likewise for the deserialization function */
|
||||
if (deserialfuncName != NIL)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||
errmsg("must specify serialization type when specifying deserialization function")));
|
||||
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
|
||||
errmsg("must specify serialization type when specifying deserialization function")));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -493,7 +493,7 @@ DefineAggregate(List *name, List *args, bool oldstyle, List *parameters,
|
||||
mfinalfuncExtraArgs,
|
||||
sortoperatorName, /* sort operator name */
|
||||
transTypeId, /* transition data type */
|
||||
serialTypeId, /* serialization data type */
|
||||
serialTypeId, /* serialization data type */
|
||||
transSpace, /* transition space */
|
||||
mtransTypeId, /* transition data type */
|
||||
mtransSpace, /* transition space */
|
||||
|
@@ -400,18 +400,17 @@ ExecRenameStmt(RenameStmt *stmt)
|
||||
ObjectAddress
|
||||
ExecAlterObjectDependsStmt(AlterObjectDependsStmt *stmt, ObjectAddress *refAddress)
|
||||
{
|
||||
ObjectAddress address;
|
||||
ObjectAddress refAddr;
|
||||
Relation rel;
|
||||
ObjectAddress address;
|
||||
ObjectAddress refAddr;
|
||||
Relation rel;
|
||||
|
||||
address =
|
||||
get_object_address_rv(stmt->objectType, stmt->relation, stmt->objname,
|
||||
stmt->objargs, &rel, AccessExclusiveLock, false);
|
||||
stmt->objargs, &rel, AccessExclusiveLock, false);
|
||||
|
||||
/*
|
||||
* If a relation was involved, it would have been opened and locked.
|
||||
* We don't need the relation here, but we'll retain the lock until
|
||||
* commit.
|
||||
* If a relation was involved, it would have been opened and locked. We
|
||||
* don't need the relation here, but we'll retain the lock until commit.
|
||||
*/
|
||||
if (rel)
|
||||
heap_close(rel, NoLock);
|
||||
@@ -630,8 +629,8 @@ AlterObjectNamespace_internal(Relation rel, Oid objid, Oid nspOid)
|
||||
oldNspOid = DatumGetObjectId(namespace);
|
||||
|
||||
/*
|
||||
* If the object is already in the correct namespace, we don't need
|
||||
* to do anything except fire the object access hook.
|
||||
* If the object is already in the correct namespace, we don't need to do
|
||||
* anything except fire the object access hook.
|
||||
*/
|
||||
if (oldNspOid == nspOid)
|
||||
{
|
||||
|
@@ -138,7 +138,7 @@ RemoveAccessMethodById(Oid amOid)
|
||||
|
||||
/*
|
||||
* get_am_type_oid
|
||||
* Worker for various get_am_*_oid variants
|
||||
* Worker for various get_am_*_oid variants
|
||||
*
|
||||
* If missing_ok is false, throw an error if access method not found. If
|
||||
* true, just return InvalidOid.
|
||||
@@ -188,7 +188,7 @@ get_index_am_oid(const char *amname, bool missing_ok)
|
||||
|
||||
/*
|
||||
* get_am_oid - given an access method name, look up its OID.
|
||||
* The type is not checked.
|
||||
* The type is not checked.
|
||||
*/
|
||||
Oid
|
||||
get_am_oid(const char *amname, bool missing_ok)
|
||||
|
@@ -570,7 +570,7 @@ do_analyze_rel(Relation onerel, int options, VacuumParams *params,
|
||||
*/
|
||||
if (!inh)
|
||||
{
|
||||
BlockNumber relallvisible;
|
||||
BlockNumber relallvisible;
|
||||
|
||||
visibilitymap_count(onerel, &relallvisible, NULL);
|
||||
|
||||
|
@@ -85,8 +85,8 @@ CreateConversionCommand(CreateConversionStmt *stmt)
|
||||
if (get_func_rettype(funcoid) != VOIDOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||
errmsg("encoding conversion function %s must return type %s",
|
||||
NameListToString(func_name), "void")));
|
||||
errmsg("encoding conversion function %s must return type %s",
|
||||
NameListToString(func_name), "void")));
|
||||
|
||||
/* Check we have EXECUTE rights for the function */
|
||||
aclresult = pg_proc_aclcheck(funcoid, GetUserId(), ACL_EXECUTE);
|
||||
|
@@ -875,7 +875,7 @@ DoCopy(const CopyStmt *stmt, const char *queryString, uint64 *processed)
|
||||
if (is_from)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("COPY FROM not supported with row-level security"),
|
||||
errmsg("COPY FROM not supported with row-level security"),
|
||||
errhint("Use INSERT statements instead.")));
|
||||
|
||||
/* Build target list */
|
||||
@@ -1399,16 +1399,16 @@ BeginCopy(bool is_from,
|
||||
{
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("DO INSTEAD NOTHING rules are not supported for COPY")));
|
||||
errmsg("DO INSTEAD NOTHING rules are not supported for COPY")));
|
||||
}
|
||||
else if (list_length(rewritten) > 1)
|
||||
{
|
||||
ListCell *lc;
|
||||
ListCell *lc;
|
||||
|
||||
/* examine queries to determine which error message to issue */
|
||||
foreach(lc, rewritten)
|
||||
{
|
||||
Query *q = (Query *) lfirst(lc);
|
||||
Query *q = (Query *) lfirst(lc);
|
||||
|
||||
if (q->querySource == QSRC_QUAL_INSTEAD_RULE)
|
||||
ereport(ERROR,
|
||||
@@ -1417,7 +1417,7 @@ BeginCopy(bool is_from,
|
||||
if (q->querySource == QSRC_NON_INSTEAD_RULE)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("DO ALSO rules are not supported for the COPY")));
|
||||
errmsg("DO ALSO rules are not supported for the COPY")));
|
||||
}
|
||||
|
||||
ereport(ERROR,
|
||||
@@ -1448,8 +1448,8 @@ BeginCopy(bool is_from,
|
||||
query->commandType == CMD_DELETE);
|
||||
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("COPY query must have a RETURNING clause")));
|
||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("COPY query must have a RETURNING clause")));
|
||||
}
|
||||
|
||||
/* plan the query */
|
||||
|
@@ -1419,7 +1419,7 @@ CreateExtensionInternal(CreateExtensionStmt *stmt, List *parents)
|
||||
CreateExtensionStmt *ces;
|
||||
ListCell *lc;
|
||||
ObjectAddress addr;
|
||||
List *cascade_parents;
|
||||
List *cascade_parents;
|
||||
|
||||
/* Check extension name validity before trying to cascade */
|
||||
check_valid_extension_name(curreq);
|
||||
|
@@ -487,7 +487,7 @@ lookup_fdw_handler_func(DefElem *handler)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
errmsg("function %s must return type %s",
|
||||
NameListToString((List *) handler->arg), "fdw_handler")));
|
||||
NameListToString((List *) handler->arg), "fdw_handler")));
|
||||
|
||||
return handlerOid;
|
||||
}
|
||||
|
@@ -217,21 +217,20 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString,
|
||||
RelationGetRelationName(matviewRel));
|
||||
|
||||
/*
|
||||
* Check that there is a unique index with no WHERE clause on
|
||||
* one or more columns of the materialized view if CONCURRENTLY
|
||||
* is specified.
|
||||
* Check that there is a unique index with no WHERE clause on one or more
|
||||
* columns of the materialized view if CONCURRENTLY is specified.
|
||||
*/
|
||||
if (concurrent)
|
||||
{
|
||||
List *indexoidlist = RelationGetIndexList(matviewRel);
|
||||
ListCell *indexoidscan;
|
||||
List *indexoidlist = RelationGetIndexList(matviewRel);
|
||||
ListCell *indexoidscan;
|
||||
bool hasUniqueIndex = false;
|
||||
|
||||
foreach(indexoidscan, indexoidlist)
|
||||
{
|
||||
Oid indexoid = lfirst_oid(indexoidscan);
|
||||
Relation indexRel;
|
||||
Form_pg_index indexStruct;
|
||||
Form_pg_index indexStruct;
|
||||
|
||||
indexRel = index_open(indexoid, AccessShareLock);
|
||||
indexStruct = indexRel->rd_index;
|
||||
@@ -255,9 +254,9 @@ ExecRefreshMatView(RefreshMatViewStmt *stmt, const char *queryString,
|
||||
if (!hasUniqueIndex)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("cannot refresh materialized view \"%s\" concurrently",
|
||||
quote_qualified_identifier(get_namespace_name(RelationGetNamespace(matviewRel)),
|
||||
RelationGetRelationName(matviewRel))),
|
||||
errmsg("cannot refresh materialized view \"%s\" concurrently",
|
||||
quote_qualified_identifier(get_namespace_name(RelationGetNamespace(matviewRel)),
|
||||
RelationGetRelationName(matviewRel))),
|
||||
errhint("Create a unique index with no WHERE clause on one or more columns of the materialized view.")));
|
||||
}
|
||||
|
||||
@@ -745,8 +744,8 @@ refresh_by_match_merge(Oid matviewOid, Oid tempOid, Oid relowner,
|
||||
/*
|
||||
* There must be at least one unique index on the matview.
|
||||
*
|
||||
* ExecRefreshMatView() checks that after taking the exclusive lock on
|
||||
* the matview. So at least one unique index is guaranteed to exist here
|
||||
* ExecRefreshMatView() checks that after taking the exclusive lock on the
|
||||
* matview. So at least one unique index is guaranteed to exist here
|
||||
* because the lock is still being held.
|
||||
*/
|
||||
Assert(foundUniqueIndex);
|
||||
|
@@ -275,8 +275,8 @@ ValidateRestrictionEstimator(List *restrictionName)
|
||||
if (get_func_rettype(restrictionOid) != FLOAT8OID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||
errmsg("restriction estimator function %s must return type %s",
|
||||
NameListToString(restrictionName), "float8")));
|
||||
errmsg("restriction estimator function %s must return type %s",
|
||||
NameListToString(restrictionName), "float8")));
|
||||
|
||||
/* Require EXECUTE rights for the estimator */
|
||||
aclresult = pg_proc_aclcheck(restrictionOid, GetUserId(), ACL_EXECUTE);
|
||||
@@ -321,8 +321,8 @@ ValidateJoinEstimator(List *joinName)
|
||||
if (get_func_rettype(joinOid) != FLOAT8OID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||
errmsg("join estimator function %s must return type %s",
|
||||
NameListToString(joinName), "float8")));
|
||||
errmsg("join estimator function %s must return type %s",
|
||||
NameListToString(joinName), "float8")));
|
||||
|
||||
/* Require EXECUTE rights for the estimator */
|
||||
aclresult = pg_proc_aclcheck(joinOid, GetUserId(), ACL_EXECUTE);
|
||||
|
@@ -496,7 +496,7 @@ RemoveRoleFromObjectPolicy(Oid roleid, Oid classid, Oid policy_id)
|
||||
|
||||
/* Must own relation. */
|
||||
if (pg_class_ownercheck(relid, GetUserId()))
|
||||
noperm = false; /* user is allowed to modify this policy */
|
||||
noperm = false; /* user is allowed to modify this policy */
|
||||
else
|
||||
ereport(WARNING,
|
||||
(errcode(ERRCODE_WARNING_PRIVILEGE_NOT_REVOKED),
|
||||
@@ -511,15 +511,16 @@ RemoveRoleFromObjectPolicy(Oid roleid, Oid classid, Oid policy_id)
|
||||
*/
|
||||
if (!noperm && num_roles > 0)
|
||||
{
|
||||
int i, j;
|
||||
int i,
|
||||
j;
|
||||
Oid *roles = (Oid *) ARR_DATA_PTR(policy_roles);
|
||||
Datum *role_oids;
|
||||
char *qual_value;
|
||||
Node *qual_expr;
|
||||
List *qual_parse_rtable = NIL;
|
||||
List *qual_parse_rtable = NIL;
|
||||
char *with_check_value;
|
||||
Node *with_check_qual;
|
||||
List *with_check_parse_rtable = NIL;
|
||||
List *with_check_parse_rtable = NIL;
|
||||
Datum values[Natts_pg_policy];
|
||||
bool isnull[Natts_pg_policy];
|
||||
bool replaces[Natts_pg_policy];
|
||||
@@ -536,15 +537,14 @@ RemoveRoleFromObjectPolicy(Oid roleid, Oid classid, Oid policy_id)
|
||||
|
||||
/*
|
||||
* All of the dependencies will be removed from the policy and then
|
||||
* re-added. In order to get them correct, we need to extract out
|
||||
* the expressions in the policy and construct a parsestate just
|
||||
* enough to build the range table(s) to then pass to
|
||||
* recordDependencyOnExpr().
|
||||
* re-added. In order to get them correct, we need to extract out the
|
||||
* expressions in the policy and construct a parsestate just enough to
|
||||
* build the range table(s) to then pass to recordDependencyOnExpr().
|
||||
*/
|
||||
|
||||
/* Get policy qual, to update dependencies */
|
||||
value_datum = heap_getattr(tuple, Anum_pg_policy_polqual,
|
||||
RelationGetDescr(pg_policy_rel), &attr_isnull);
|
||||
RelationGetDescr(pg_policy_rel), &attr_isnull);
|
||||
if (!attr_isnull)
|
||||
{
|
||||
ParseState *qual_pstate;
|
||||
@@ -566,7 +566,7 @@ RemoveRoleFromObjectPolicy(Oid roleid, Oid classid, Oid policy_id)
|
||||
|
||||
/* Get WITH CHECK qual, to update dependencies */
|
||||
value_datum = heap_getattr(tuple, Anum_pg_policy_polwithcheck,
|
||||
RelationGetDescr(pg_policy_rel), &attr_isnull);
|
||||
RelationGetDescr(pg_policy_rel), &attr_isnull);
|
||||
if (!attr_isnull)
|
||||
{
|
||||
ParseState *with_check_pstate;
|
||||
@@ -665,7 +665,7 @@ RemoveRoleFromObjectPolicy(Oid roleid, Oid classid, Oid policy_id)
|
||||
|
||||
heap_close(pg_policy_rel, RowExclusiveLock);
|
||||
|
||||
return(noperm || num_roles > 0);
|
||||
return (noperm || num_roles > 0);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -996,8 +996,8 @@ AlterPolicy(AlterPolicyStmt *stmt)
|
||||
|
||||
/* Get policy command */
|
||||
polcmd_datum = heap_getattr(policy_tuple, Anum_pg_policy_polcmd,
|
||||
RelationGetDescr(pg_policy_rel),
|
||||
&polcmd_isnull);
|
||||
RelationGetDescr(pg_policy_rel),
|
||||
&polcmd_isnull);
|
||||
Assert(!polcmd_isnull);
|
||||
polcmd = DatumGetChar(polcmd_datum);
|
||||
|
||||
@@ -1029,15 +1029,15 @@ AlterPolicy(AlterPolicyStmt *stmt)
|
||||
}
|
||||
else
|
||||
{
|
||||
Oid *roles;
|
||||
Oid *roles;
|
||||
Datum roles_datum;
|
||||
bool attr_isnull;
|
||||
ArrayType *policy_roles;
|
||||
|
||||
/*
|
||||
* We need to pull the set of roles this policy applies to from
|
||||
* what's in the catalog, so that we can recreate the dependencies
|
||||
* correctly for the policy.
|
||||
* We need to pull the set of roles this policy applies to from what's
|
||||
* in the catalog, so that we can recreate the dependencies correctly
|
||||
* for the policy.
|
||||
*/
|
||||
|
||||
roles_datum = heap_getattr(policy_tuple, Anum_pg_policy_polroles,
|
||||
@@ -1065,13 +1065,13 @@ AlterPolicy(AlterPolicyStmt *stmt)
|
||||
}
|
||||
else
|
||||
{
|
||||
Datum value_datum;
|
||||
bool attr_isnull;
|
||||
Datum value_datum;
|
||||
bool attr_isnull;
|
||||
|
||||
/*
|
||||
* We need to pull the USING expression and build the range table for
|
||||
* the policy from what's in the catalog, so that we can recreate
|
||||
* the dependencies correctly for the policy.
|
||||
* the policy from what's in the catalog, so that we can recreate the
|
||||
* dependencies correctly for the policy.
|
||||
*/
|
||||
|
||||
/* Check if the policy has a USING expr */
|
||||
@@ -1106,8 +1106,8 @@ AlterPolicy(AlterPolicyStmt *stmt)
|
||||
}
|
||||
else
|
||||
{
|
||||
Datum value_datum;
|
||||
bool attr_isnull;
|
||||
Datum value_datum;
|
||||
bool attr_isnull;
|
||||
|
||||
/*
|
||||
* We need to pull the WITH CHECK expression and build the range table
|
||||
|
@@ -114,8 +114,8 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
|
||||
if (funcrettype != LANGUAGE_HANDLEROID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
errmsg("function %s must return type %s",
|
||||
NameListToString(funcname), "language_handler")));
|
||||
errmsg("function %s must return type %s",
|
||||
NameListToString(funcname), "language_handler")));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -285,8 +285,8 @@ CreateProceduralLanguage(CreatePLangStmt *stmt)
|
||||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
|
||||
errmsg("function %s must return type %s",
|
||||
NameListToString(stmt->plhandler), "language_handler")));
|
||||
errmsg("function %s must return type %s",
|
||||
NameListToString(stmt->plhandler), "language_handler")));
|
||||
}
|
||||
|
||||
/* validate the inline function */
|
||||
|
@@ -532,8 +532,8 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString,
|
||||
* can skip this for internally generated triggers, since the name
|
||||
* modification above should be sufficient.
|
||||
*
|
||||
* NOTE that this is cool only because we have ShareRowExclusiveLock on the
|
||||
* relation, so the trigger set won't be changing underneath us.
|
||||
* NOTE that this is cool only because we have ShareRowExclusiveLock on
|
||||
* the relation, so the trigger set won't be changing underneath us.
|
||||
*/
|
||||
if (!isInternal)
|
||||
{
|
||||
|
@@ -450,8 +450,8 @@ DefineType(List *names, List *parameters)
|
||||
{
|
||||
/* backwards-compatibility hack */
|
||||
ereport(WARNING,
|
||||
(errmsg("changing return type of function %s from %s to %s",
|
||||
NameListToString(inputName), "opaque", typeName)));
|
||||
(errmsg("changing return type of function %s from %s to %s",
|
||||
NameListToString(inputName), "opaque", typeName)));
|
||||
SetFunctionReturnType(inputOid, typoid);
|
||||
}
|
||||
else
|
||||
@@ -467,15 +467,15 @@ DefineType(List *names, List *parameters)
|
||||
{
|
||||
/* backwards-compatibility hack */
|
||||
ereport(WARNING,
|
||||
(errmsg("changing return type of function %s from %s to %s",
|
||||
NameListToString(outputName), "opaque", "cstring")));
|
||||
(errmsg("changing return type of function %s from %s to %s",
|
||||
NameListToString(outputName), "opaque", "cstring")));
|
||||
SetFunctionReturnType(outputOid, CSTRINGOID);
|
||||
}
|
||||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||
errmsg("type output function %s must return type %s",
|
||||
NameListToString(outputName), "cstring")));
|
||||
errmsg("type output function %s must return type %s",
|
||||
NameListToString(outputName), "cstring")));
|
||||
}
|
||||
if (receiveOid)
|
||||
{
|
||||
@@ -492,8 +492,8 @@ DefineType(List *names, List *parameters)
|
||||
if (resulttype != BYTEAOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||
errmsg("type send function %s must return type %s",
|
||||
NameListToString(sendName), "bytea")));
|
||||
errmsg("type send function %s must return type %s",
|
||||
NameListToString(sendName), "bytea")));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1888,8 +1888,8 @@ findTypeAnalyzeFunction(List *procname, Oid typeOid)
|
||||
if (get_func_rettype(procOid) != BOOLOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
|
||||
errmsg("type analyze function %s must return type %s",
|
||||
NameListToString(procname), "boolean")));
|
||||
errmsg("type analyze function %s must return type %s",
|
||||
NameListToString(procname), "boolean")));
|
||||
|
||||
return procOid;
|
||||
}
|
||||
@@ -3313,9 +3313,9 @@ AlterTypeOwner_oid(Oid typeOid, Oid newOwnerId, bool hasDependEntry)
|
||||
typTup = (Form_pg_type) GETSTRUCT(tup);
|
||||
|
||||
/*
|
||||
* If it's a composite type, invoke ATExecChangeOwner so that we fix up the
|
||||
* pg_class entry properly. That will call back to AlterTypeOwnerInternal
|
||||
* to take care of the pg_type entry(s).
|
||||
* If it's a composite type, invoke ATExecChangeOwner so that we fix up
|
||||
* the pg_class entry properly. That will call back to
|
||||
* AlterTypeOwnerInternal to take care of the pg_type entry(s).
|
||||
*/
|
||||
if (typTup->typtype == TYPTYPE_COMPOSITE)
|
||||
ATExecChangeOwner(typTup->typrelid, newOwnerId, true, AccessExclusiveLock);
|
||||
|
@@ -302,7 +302,7 @@ CreateRole(CreateRoleStmt *stmt)
|
||||
if (!superuser())
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
|
||||
errmsg("must be superuser to change bypassrls attribute")));
|
||||
errmsg("must be superuser to change bypassrls attribute")));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -320,8 +320,8 @@ CreateRole(CreateRoleStmt *stmt)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_RESERVED_NAME),
|
||||
errmsg("role name \"%s\" is reserved",
|
||||
stmt->role),
|
||||
errdetail("Role names starting with \"pg_\" are reserved.")));
|
||||
stmt->role),
|
||||
errdetail("Role names starting with \"pg_\" are reserved.")));
|
||||
|
||||
/*
|
||||
* Check the pg_authid relation to be certain the role doesn't already
|
||||
@@ -977,7 +977,7 @@ DropRole(DropRoleStmt *stmt)
|
||||
if (rolspec->roletype != ROLESPEC_CSTRING)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("cannot use special role specifier in DROP ROLE")));
|
||||
errmsg("cannot use special role specifier in DROP ROLE")));
|
||||
role = rolspec->rolename;
|
||||
|
||||
tuple = SearchSysCache1(AUTHNAME, PointerGetDatum(role));
|
||||
@@ -1167,22 +1167,22 @@ RenameRole(const char *oldname, const char *newname)
|
||||
errmsg("current user cannot be renamed")));
|
||||
|
||||
/*
|
||||
* Check that the user is not trying to rename a system role and
|
||||
* not trying to rename a role into the reserved "pg_" namespace.
|
||||
* Check that the user is not trying to rename a system role and not
|
||||
* trying to rename a role into the reserved "pg_" namespace.
|
||||
*/
|
||||
if (IsReservedName(NameStr(authform->rolname)))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_RESERVED_NAME),
|
||||
errmsg("role name \"%s\" is reserved",
|
||||
NameStr(authform->rolname)),
|
||||
errdetail("Role names starting with \"pg_\" are reserved.")));
|
||||
NameStr(authform->rolname)),
|
||||
errdetail("Role names starting with \"pg_\" are reserved.")));
|
||||
|
||||
if (IsReservedName(newname))
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_RESERVED_NAME),
|
||||
errmsg("role name \"%s\" is reserved",
|
||||
newname),
|
||||
errdetail("Role names starting with \"pg_\" are reserved.")));
|
||||
newname),
|
||||
errdetail("Role names starting with \"pg_\" are reserved.")));
|
||||
|
||||
/* make sure the new name doesn't exist */
|
||||
if (SearchSysCacheExists1(AUTHNAME, CStringGetDatum(newname)))
|
||||
|
@@ -1192,9 +1192,9 @@ lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats,
|
||||
}
|
||||
|
||||
/*
|
||||
* If the all-visible page is turned out to be all-frozen but not marked,
|
||||
* we should so mark it. Note that all_frozen is only valid if all_visible
|
||||
* is true, so we must check both.
|
||||
* If the all-visible page is turned out to be all-frozen but not
|
||||
* marked, we should so mark it. Note that all_frozen is only valid
|
||||
* if all_visible is true, so we must check both.
|
||||
*/
|
||||
else if (all_visible_according_to_vm && all_visible && all_frozen &&
|
||||
!VM_ALL_FROZEN(onerel, blkno, &vmbuffer))
|
||||
@@ -1660,7 +1660,7 @@ should_attempt_truncation(LVRelStats *vacrelstats)
|
||||
possibly_freeable = vacrelstats->rel_pages - vacrelstats->nonempty_pages;
|
||||
if (possibly_freeable > 0 &&
|
||||
(possibly_freeable >= REL_TRUNCATE_MINIMUM ||
|
||||
possibly_freeable >= vacrelstats->rel_pages / REL_TRUNCATE_FRACTION) &&
|
||||
possibly_freeable >= vacrelstats->rel_pages / REL_TRUNCATE_FRACTION) &&
|
||||
old_snapshot_threshold < 0)
|
||||
return true;
|
||||
else
|
||||
|
@@ -880,9 +880,9 @@ check_role(char **newval, void **extra, GucSource source)
|
||||
ReleaseSysCache(roleTup);
|
||||
|
||||
/*
|
||||
* Verify that session user is allowed to become this role, but
|
||||
* skip this in parallel mode, where we must blindly recreate the
|
||||
* parallel leader's state.
|
||||
* Verify that session user is allowed to become this role, but skip
|
||||
* this in parallel mode, where we must blindly recreate the parallel
|
||||
* leader's state.
|
||||
*/
|
||||
if (!InitializingParallelWorker &&
|
||||
!is_member_of_role(GetSessionUserId(), roleid))
|
||||
|
Reference in New Issue
Block a user