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

Commit152d33b

Browse files
committed
Improve slightly misleading comments in nodeFuncs.c
There were some comments in nodeFuncs.c that, depending on yourinterpretation of the word "result", could lead you to believe that thecomments were badly copied and pasted from somewhere else. If you thoughtof "result" as the return value of the function that the comment iswritten in, then you'd be misled. However, if you'd correctlyinterpreted "result" to mean the result type of the given node type,you'd not have seen any issues.Here we do a small cleanup to try to prevent any futuremisinterpretations. Per wording suggestion from Tom Lane.Reviewed-by: Tom LaneDiscussion:https://postgr.es/m/CAApHDvp+Bw=2Qiu5=uXMKfC7gd0+B=4JvexVgGJU=am2g9a1CA@mail.gmail.com
1 parent9cae39b commit152d33b

File tree

1 file changed

+44
-25
lines changed

1 file changed

+44
-25
lines changed

‎src/backend/nodes/nodeFuncs.c

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -802,10 +802,12 @@ exprCollation(const Node *expr)
802802
coll= ((constNullIfExpr*)expr)->opcollid;
803803
break;
804804
caseT_ScalarArrayOpExpr:
805-
coll=InvalidOid;/* result is always boolean */
805+
/* ScalarArrayOpExpr's result is boolean ... */
806+
coll=InvalidOid;/* ... so it has no collation */
806807
break;
807808
caseT_BoolExpr:
808-
coll=InvalidOid;/* result is always boolean */
809+
/* BoolExpr's result is boolean ... */
810+
coll=InvalidOid;/* ... so it has no collation */
809811
break;
810812
caseT_SubLink:
811813
{
@@ -827,8 +829,8 @@ exprCollation(const Node *expr)
827829
}
828830
else
829831
{
830-
/* otherwise, result is RECORD or BOOLEAN */
831-
coll=InvalidOid;
832+
/* otherwise,SubLink'sresult is RECORD or BOOLEAN */
833+
coll=InvalidOid;/* ... so it has no collation */
832834
}
833835
}
834836
break;
@@ -845,8 +847,8 @@ exprCollation(const Node *expr)
845847
}
846848
else
847849
{
848-
/* otherwise, result is RECORD or BOOLEAN */
849-
coll=InvalidOid;
850+
/* otherwise,SubPlan'sresult is RECORD or BOOLEAN */
851+
coll=InvalidOid;/* ... so it has no collation */
850852
}
851853
}
852854
break;
@@ -862,7 +864,8 @@ exprCollation(const Node *expr)
862864
coll= ((constFieldSelect*)expr)->resultcollid;
863865
break;
864866
caseT_FieldStore:
865-
coll=InvalidOid;/* result is always composite */
867+
/* FieldStore's result is composite ... */
868+
coll=InvalidOid;/* ... so it has no collation */
866869
break;
867870
caseT_RelabelType:
868871
coll= ((constRelabelType*)expr)->resultcollid;
@@ -874,7 +877,8 @@ exprCollation(const Node *expr)
874877
coll= ((constArrayCoerceExpr*)expr)->resultcollid;
875878
break;
876879
caseT_ConvertRowtypeExpr:
877-
coll=InvalidOid;/* result is always composite */
880+
/* ConvertRowtypeExpr's result is composite ... */
881+
coll=InvalidOid;/* ... so it has no collation */
878882
break;
879883
caseT_CollateExpr:
880884
coll= ((constCollateExpr*)expr)->collOid;
@@ -889,10 +893,12 @@ exprCollation(const Node *expr)
889893
coll= ((constArrayExpr*)expr)->array_collid;
890894
break;
891895
caseT_RowExpr:
892-
coll=InvalidOid;/* result is always composite */
896+
/* RowExpr's result is composite ... */
897+
coll=InvalidOid;/* ... so it has no collation */
893898
break;
894899
caseT_RowCompareExpr:
895-
coll=InvalidOid;/* result is always boolean */
900+
/* RowCompareExpr's result is boolean ... */
901+
coll=InvalidOid;/* ... so it has no collation */
896902
break;
897903
caseT_CoalesceExpr:
898904
coll= ((constCoalesceExpr*)expr)->coalescecollid;
@@ -920,10 +926,12 @@ exprCollation(const Node *expr)
920926
coll=InvalidOid;
921927
break;
922928
caseT_NullTest:
923-
coll=InvalidOid;/* result is always boolean */
929+
/* NullTest's result is boolean ... */
930+
coll=InvalidOid;/* ... so it has no collation */
924931
break;
925932
caseT_BooleanTest:
926-
coll=InvalidOid;/* result is always boolean */
933+
/* BooleanTest's result is boolean ... */
934+
coll=InvalidOid;/* ... so it has no collation */
927935
break;
928936
caseT_CoerceToDomain:
929937
coll= ((constCoerceToDomain*)expr)->resultcollid;
@@ -935,10 +943,12 @@ exprCollation(const Node *expr)
935943
coll= ((constSetToDefault*)expr)->collation;
936944
break;
937945
caseT_CurrentOfExpr:
938-
coll=InvalidOid;/* result is always boolean */
946+
/* CurrentOfExpr's result is boolean ... */
947+
coll=InvalidOid;/* ... so it has no collation */
939948
break;
940949
caseT_NextValueExpr:
941-
coll=InvalidOid;/* result is always an integer type */
950+
/* NextValueExpr's result is an integer type ... */
951+
coll=InvalidOid;/* ... so it has no collation */
942952
break;
943953
caseT_InferenceElem:
944954
coll=exprCollation((Node*) ((constInferenceElem*)expr)->expr);
@@ -1050,10 +1060,12 @@ exprSetCollation(Node *expr, Oid collation)
10501060
((NullIfExpr*)expr)->opcollid=collation;
10511061
break;
10521062
caseT_ScalarArrayOpExpr:
1053-
Assert(!OidIsValid(collation));/* result is always boolean */
1063+
/* ScalarArrayOpExpr's result is boolean ... */
1064+
Assert(!OidIsValid(collation));/* ... so never set a collation */
10541065
break;
10551066
caseT_BoolExpr:
1056-
Assert(!OidIsValid(collation));/* result is always boolean */
1067+
/* BoolExpr's result is boolean ... */
1068+
Assert(!OidIsValid(collation));/* ... so never set a collation */
10571069
break;
10581070
caseT_SubLink:
10591071
#ifdefUSE_ASSERT_CHECKING
@@ -1085,7 +1097,8 @@ exprSetCollation(Node *expr, Oid collation)
10851097
((FieldSelect*)expr)->resultcollid=collation;
10861098
break;
10871099
caseT_FieldStore:
1088-
Assert(!OidIsValid(collation));/* result is always composite */
1100+
/* FieldStore's result is composite ... */
1101+
Assert(!OidIsValid(collation));/* ... so never set a collation */
10891102
break;
10901103
caseT_RelabelType:
10911104
((RelabelType*)expr)->resultcollid=collation;
@@ -1097,7 +1110,8 @@ exprSetCollation(Node *expr, Oid collation)
10971110
((ArrayCoerceExpr*)expr)->resultcollid=collation;
10981111
break;
10991112
caseT_ConvertRowtypeExpr:
1100-
Assert(!OidIsValid(collation));/* result is always composite */
1113+
/* ConvertRowtypeExpr's result is composite ... */
1114+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11011115
break;
11021116
caseT_CaseExpr:
11031117
((CaseExpr*)expr)->casecollid=collation;
@@ -1106,10 +1120,12 @@ exprSetCollation(Node *expr, Oid collation)
11061120
((ArrayExpr*)expr)->array_collid=collation;
11071121
break;
11081122
caseT_RowExpr:
1109-
Assert(!OidIsValid(collation));/* result is always composite */
1123+
/* RowExpr's result is composite ... */
1124+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11101125
break;
11111126
caseT_RowCompareExpr:
1112-
Assert(!OidIsValid(collation));/* result is always boolean */
1127+
/* RowCompareExpr's result is boolean ... */
1128+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11131129
break;
11141130
caseT_CoalesceExpr:
11151131
((CoalesceExpr*)expr)->coalescecollid=collation;
@@ -1128,10 +1144,12 @@ exprSetCollation(Node *expr, Oid collation)
11281144
(collation==InvalidOid));
11291145
break;
11301146
caseT_NullTest:
1131-
Assert(!OidIsValid(collation));/* result is always boolean */
1147+
/* NullTest's result is boolean ... */
1148+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11321149
break;
11331150
caseT_BooleanTest:
1134-
Assert(!OidIsValid(collation));/* result is always boolean */
1151+
/* BooleanTest's result is boolean ... */
1152+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11351153
break;
11361154
caseT_CoerceToDomain:
11371155
((CoerceToDomain*)expr)->resultcollid=collation;
@@ -1143,11 +1161,12 @@ exprSetCollation(Node *expr, Oid collation)
11431161
((SetToDefault*)expr)->collation=collation;
11441162
break;
11451163
caseT_CurrentOfExpr:
1146-
Assert(!OidIsValid(collation));/* result is always boolean */
1164+
/* CurrentOfExpr's result is boolean ... */
1165+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11471166
break;
11481167
caseT_NextValueExpr:
1149-
Assert(!OidIsValid(collation));/* result isalwaysan integer
1150-
* type */
1168+
/*NextValueExpr'sresult is an integer type ... */
1169+
Assert(!OidIsValid(collation));/* ... so never set a collation */
11511170
break;
11521171
default:
11531172
elog(ERROR,"unrecognized node type: %d", (int)nodeTag(expr));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp