Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit550214a

Browse files
committed
Add operator_with_argtypes grammar rule
This makes the handling of operators similar to that of functions andaggregates.Rename node FuncWithArgs to ObjectWithArgs, to reflect the expanded use.Reviewed-by: Jim Nasby <Jim.Nasby@BlueTreble.com>Reviewed-by: Michael Paquier <michael.paquier@gmail.com>
1 parent63ebd37 commit550214a

File tree

8 files changed

+126
-116
lines changed

8 files changed

+126
-116
lines changed

‎src/backend/catalog/aclchk.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -667,11 +667,11 @@ objectNamesToOids(GrantObjectType objtype, List *objnames)
667667
caseACL_OBJECT_FUNCTION:
668668
foreach(cell,objnames)
669669
{
670-
FuncWithArgs*func= (FuncWithArgs*)lfirst(cell);
670+
ObjectWithArgs*func= (ObjectWithArgs*)lfirst(cell);
671671
Oidfuncid;
672672

673-
funcid=LookupFuncNameTypeNames(func->funcname,
674-
func->funcargs, false);
673+
funcid=LookupFuncNameTypeNames(func->objname,
674+
func->objargs, false);
675675
objects=lappend_oid(objects,funcid);
676676
}
677677
break;

‎src/backend/commands/functioncmds.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,8 +1181,8 @@ AlterFunction(ParseState *pstate, AlterFunctionStmt *stmt)
11811181

11821182
rel=heap_open(ProcedureRelationId,RowExclusiveLock);
11831183

1184-
funcOid=LookupFuncNameTypeNames(stmt->func->funcname,
1185-
stmt->func->funcargs,
1184+
funcOid=LookupFuncNameTypeNames(stmt->func->objname,
1185+
stmt->func->objargs,
11861186
false);
11871187

11881188
tup=SearchSysCacheCopy1(PROCOID,ObjectIdGetDatum(funcOid));
@@ -1194,13 +1194,13 @@ AlterFunction(ParseState *pstate, AlterFunctionStmt *stmt)
11941194
/* Permission check: must own function */
11951195
if (!pg_proc_ownercheck(funcOid,GetUserId()))
11961196
aclcheck_error(ACLCHECK_NOT_OWNER,ACL_KIND_PROC,
1197-
NameListToString(stmt->func->funcname));
1197+
NameListToString(stmt->func->objname));
11981198

11991199
if (procForm->proisagg)
12001200
ereport(ERROR,
12011201
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
12021202
errmsg("\"%s\" is an aggregate function",
1203-
NameListToString(stmt->func->funcname))));
1203+
NameListToString(stmt->func->objname))));
12041204

12051205
/* Examine requested actions. */
12061206
foreach(l,stmt->actions)
@@ -1453,8 +1453,8 @@ CreateCast(CreateCastStmt *stmt)
14531453
{
14541454
Form_pg_procprocstruct;
14551455

1456-
funcid=LookupFuncNameTypeNames(stmt->func->funcname,
1457-
stmt->func->funcargs,
1456+
funcid=LookupFuncNameTypeNames(stmt->func->objname,
1457+
stmt->func->objargs,
14581458
false);
14591459

14601460
tuple=SearchSysCache1(PROCOID,ObjectIdGetDatum(funcid));
@@ -1836,14 +1836,14 @@ CreateTransform(CreateTransformStmt *stmt)
18361836
*/
18371837
if (stmt->fromsql)
18381838
{
1839-
fromsqlfuncid=LookupFuncNameTypeNames(stmt->fromsql->funcname,stmt->fromsql->funcargs, false);
1839+
fromsqlfuncid=LookupFuncNameTypeNames(stmt->fromsql->objname,stmt->fromsql->objargs, false);
18401840

18411841
if (!pg_proc_ownercheck(fromsqlfuncid,GetUserId()))
1842-
aclcheck_error(ACLCHECK_NOT_OWNER,ACL_KIND_PROC,NameListToString(stmt->fromsql->funcname));
1842+
aclcheck_error(ACLCHECK_NOT_OWNER,ACL_KIND_PROC,NameListToString(stmt->fromsql->objname));
18431843

18441844
aclresult=pg_proc_aclcheck(fromsqlfuncid,GetUserId(),ACL_EXECUTE);
18451845
if (aclresult!=ACLCHECK_OK)
1846-
aclcheck_error(aclresult,ACL_KIND_PROC,NameListToString(stmt->fromsql->funcname));
1846+
aclcheck_error(aclresult,ACL_KIND_PROC,NameListToString(stmt->fromsql->objname));
18471847

18481848
tuple=SearchSysCache1(PROCOID,ObjectIdGetDatum(fromsqlfuncid));
18491849
if (!HeapTupleIsValid(tuple))
@@ -1862,14 +1862,14 @@ CreateTransform(CreateTransformStmt *stmt)
18621862

18631863
if (stmt->tosql)
18641864
{
1865-
tosqlfuncid=LookupFuncNameTypeNames(stmt->tosql->funcname,stmt->tosql->funcargs, false);
1865+
tosqlfuncid=LookupFuncNameTypeNames(stmt->tosql->objname,stmt->tosql->objargs, false);
18661866

18671867
if (!pg_proc_ownercheck(tosqlfuncid,GetUserId()))
1868-
aclcheck_error(ACLCHECK_NOT_OWNER,ACL_KIND_PROC,NameListToString(stmt->tosql->funcname));
1868+
aclcheck_error(ACLCHECK_NOT_OWNER,ACL_KIND_PROC,NameListToString(stmt->tosql->objname));
18691869

18701870
aclresult=pg_proc_aclcheck(tosqlfuncid,GetUserId(),ACL_EXECUTE);
18711871
if (aclresult!=ACLCHECK_OK)
1872-
aclcheck_error(aclresult,ACL_KIND_PROC,NameListToString(stmt->tosql->funcname));
1872+
aclcheck_error(aclresult,ACL_KIND_PROC,NameListToString(stmt->tosql->objname));
18731873

18741874
tuple=SearchSysCache1(PROCOID,ObjectIdGetDatum(tosqlfuncid));
18751875
if (!HeapTupleIsValid(tuple))

‎src/backend/nodes/copyfuncs.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2954,13 +2954,13 @@ _copyGrantStmt(const GrantStmt *from)
29542954
returnnewnode;
29552955
}
29562956

2957-
staticFuncWithArgs*
2958-
_copyFuncWithArgs(constFuncWithArgs*from)
2957+
staticObjectWithArgs*
2958+
_copyObjectWithArgs(constObjectWithArgs*from)
29592959
{
2960-
FuncWithArgs*newnode=makeNode(FuncWithArgs);
2960+
ObjectWithArgs*newnode=makeNode(ObjectWithArgs);
29612961

2962-
COPY_NODE_FIELD(funcname);
2963-
COPY_NODE_FIELD(funcargs);
2962+
COPY_NODE_FIELD(objname);
2963+
COPY_NODE_FIELD(objargs);
29642964

29652965
returnnewnode;
29662966
}
@@ -5274,8 +5274,8 @@ copyObject(const void *from)
52745274
caseT_CommonTableExpr:
52755275
retval=_copyCommonTableExpr(from);
52765276
break;
5277-
caseT_FuncWithArgs:
5278-
retval=_copyFuncWithArgs(from);
5277+
caseT_ObjectWithArgs:
5278+
retval=_copyObjectWithArgs(from);
52795279
break;
52805280
caseT_AccessPriv:
52815281
retval=_copyAccessPriv(from);

‎src/backend/nodes/equalfuncs.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1095,10 +1095,10 @@ _equalGrantStmt(const GrantStmt *a, const GrantStmt *b)
10951095
}
10961096

10971097
staticbool
1098-
_equalFuncWithArgs(constFuncWithArgs*a,constFuncWithArgs*b)
1098+
_equalObjectWithArgs(constObjectWithArgs*a,constObjectWithArgs*b)
10991099
{
1100-
COMPARE_NODE_FIELD(funcname);
1101-
COMPARE_NODE_FIELD(funcargs);
1100+
COMPARE_NODE_FIELD(objname);
1101+
COMPARE_NODE_FIELD(objargs);
11021102

11031103
return true;
11041104
}
@@ -3532,8 +3532,8 @@ equal(const void *a, const void *b)
35323532
caseT_CommonTableExpr:
35333533
retval=_equalCommonTableExpr(a,b);
35343534
break;
3535-
caseT_FuncWithArgs:
3536-
retval=_equalFuncWithArgs(a,b);
3535+
caseT_ObjectWithArgs:
3536+
retval=_equalObjectWithArgs(a,b);
35373537
break;
35383538
caseT_AccessPriv:
35393539
retval=_equalAccessPriv(a,b);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp