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

Commitbfcb932

Browse files
committed
Index tuple data arrays using Anum_xxx symbolic constants instead of "i++".
We had already converted most places to this style, but this patch gets thelast few that were still doing it the old way. The main advantage is thatthis exposes a greppable name for each target column, rather than havingto rely on comments (which a couple of places failed to provide anyhow).Richard Hopkins, additional work by me to clean up update_attstats() too
1 parent7357558 commitbfcb932

File tree

5 files changed

+114
-121
lines changed

5 files changed

+114
-121
lines changed

‎src/backend/catalog/pg_operator.c

Lines changed: 28 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -234,22 +234,21 @@ OperatorShellMake(const char *operatorName,
234234
* initialize values[] with the operator name and input data types. Note
235235
* that oprcode is set to InvalidOid, indicating it's a shell.
236236
*/
237-
i=0;
238237
namestrcpy(&oname,operatorName);
239-
values[i++]=NameGetDatum(&oname);/* oprname */
240-
values[i++]=ObjectIdGetDatum(operatorNamespace);/* oprnamespace */
241-
values[i++]=ObjectIdGetDatum(GetUserId());/* oprowner */
242-
values[i++]=CharGetDatum(leftTypeId ? (rightTypeId ?'b' :'r') :'l');/* oprkind */
243-
values[i++]=BoolGetDatum(false);/* oprcanmerge */
244-
values[i++]=BoolGetDatum(false);/* oprcanhash */
245-
values[i++]=ObjectIdGetDatum(leftTypeId);/* oprleft */
246-
values[i++]=ObjectIdGetDatum(rightTypeId);/* oprright */
247-
values[i++]=ObjectIdGetDatum(InvalidOid);/* oprresult */
248-
values[i++]=ObjectIdGetDatum(InvalidOid);/* oprcom */
249-
values[i++]=ObjectIdGetDatum(InvalidOid);/* oprnegate */
250-
values[i++]=ObjectIdGetDatum(InvalidOid);/* oprcode */
251-
values[i++]=ObjectIdGetDatum(InvalidOid);/* oprrest */
252-
values[i++]=ObjectIdGetDatum(InvalidOid);/* oprjoin */
238+
values[Anum_pg_operator_oprname-1]=NameGetDatum(&oname);
239+
values[Anum_pg_operator_oprnamespace-1]=ObjectIdGetDatum(operatorNamespace);
240+
values[Anum_pg_operator_oprowner-1]=ObjectIdGetDatum(GetUserId());
241+
values[Anum_pg_operator_oprkind-1]=CharGetDatum(leftTypeId ? (rightTypeId ?'b' :'r') :'l');
242+
values[Anum_pg_operator_oprcanmerge-1]=BoolGetDatum(false);
243+
values[Anum_pg_operator_oprcanhash-1]=BoolGetDatum(false);
244+
values[Anum_pg_operator_oprleft-1]=ObjectIdGetDatum(leftTypeId);
245+
values[Anum_pg_operator_oprright-1]=ObjectIdGetDatum(rightTypeId);
246+
values[Anum_pg_operator_oprresult-1]=ObjectIdGetDatum(InvalidOid);
247+
values[Anum_pg_operator_oprcom-1]=ObjectIdGetDatum(InvalidOid);
248+
values[Anum_pg_operator_oprnegate-1]=ObjectIdGetDatum(InvalidOid);
249+
values[Anum_pg_operator_oprcode-1]=ObjectIdGetDatum(InvalidOid);
250+
values[Anum_pg_operator_oprrest-1]=ObjectIdGetDatum(InvalidOid);
251+
values[Anum_pg_operator_oprjoin-1]=ObjectIdGetDatum(InvalidOid);
253252

254253
/*
255254
* open pg_operator
@@ -492,22 +491,21 @@ OperatorCreate(const char *operatorName,
492491
nulls[i]= false;
493492
}
494493

495-
i=0;
496494
namestrcpy(&oname,operatorName);
497-
values[i++]=NameGetDatum(&oname);/* oprname */
498-
values[i++]=ObjectIdGetDatum(operatorNamespace);/* oprnamespace */
499-
values[i++]=ObjectIdGetDatum(GetUserId());/* oprowner */
500-
values[i++]=CharGetDatum(leftTypeId ? (rightTypeId ?'b' :'r') :'l');/* oprkind */
501-
values[i++]=BoolGetDatum(canMerge);/* oprcanmerge */
502-
values[i++]=BoolGetDatum(canHash);/* oprcanhash */
503-
values[i++]=ObjectIdGetDatum(leftTypeId);/* oprleft */
504-
values[i++]=ObjectIdGetDatum(rightTypeId);/* oprright */
505-
values[i++]=ObjectIdGetDatum(operResultType);/* oprresult */
506-
values[i++]=ObjectIdGetDatum(commutatorId);/* oprcom */
507-
values[i++]=ObjectIdGetDatum(negatorId);/* oprnegate */
508-
values[i++]=ObjectIdGetDatum(procedureId);/* oprcode */
509-
values[i++]=ObjectIdGetDatum(restrictionId);/* oprrest */
510-
values[i++]=ObjectIdGetDatum(joinId);/* oprjoin */
495+
values[Anum_pg_operator_oprname-1]=NameGetDatum(&oname);
496+
values[Anum_pg_operator_oprnamespace-1]=ObjectIdGetDatum(operatorNamespace);
497+
values[Anum_pg_operator_oprowner-1]=ObjectIdGetDatum(GetUserId());
498+
values[Anum_pg_operator_oprkind-1]=CharGetDatum(leftTypeId ? (rightTypeId ?'b' :'r') :'l');
499+
values[Anum_pg_operator_oprcanmerge-1]=BoolGetDatum(canMerge);
500+
values[Anum_pg_operator_oprcanhash-1]=BoolGetDatum(canHash);
501+
values[Anum_pg_operator_oprleft-1]=ObjectIdGetDatum(leftTypeId);
502+
values[Anum_pg_operator_oprright-1]=ObjectIdGetDatum(rightTypeId);
503+
values[Anum_pg_operator_oprresult-1]=ObjectIdGetDatum(operResultType);
504+
values[Anum_pg_operator_oprcom-1]=ObjectIdGetDatum(commutatorId);
505+
values[Anum_pg_operator_oprnegate-1]=ObjectIdGetDatum(negatorId);
506+
values[Anum_pg_operator_oprcode-1]=ObjectIdGetDatum(procedureId);
507+
values[Anum_pg_operator_oprrest-1]=ObjectIdGetDatum(restrictionId);
508+
values[Anum_pg_operator_oprjoin-1]=ObjectIdGetDatum(joinId);
511509

512510
pg_operator_desc=heap_open(OperatorRelationId,RowExclusiveLock);
513511

‎src/backend/catalog/pg_type.c

Lines changed: 61 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -87,37 +87,36 @@ TypeShellMake(const char *typeName, Oid typeNamespace, Oid ownerId)
8787
* give it typtype = TYPTYPE_PSEUDO as extra insurance that it won't be
8888
* mistaken for a usable type.
8989
*/
90-
i=0;
9190
namestrcpy(&name,typeName);
92-
values[i++]=NameGetDatum(&name);/* typname */
93-
values[i++]=ObjectIdGetDatum(typeNamespace);/* typnamespace */
94-
values[i++]=ObjectIdGetDatum(ownerId);/* typowner */
95-
values[i++]=Int16GetDatum(sizeof(int4));/* typlen */
96-
values[i++]=BoolGetDatum(true);/* typbyval */
97-
values[i++]=CharGetDatum(TYPTYPE_PSEUDO);/* typtype */
98-
values[i++]=CharGetDatum(TYPCATEGORY_PSEUDOTYPE);/* typcategory */
99-
values[i++]=BoolGetDatum(false);/* typispreferred */
100-
values[i++]=BoolGetDatum(false);/* typisdefined */
101-
values[i++]=CharGetDatum(DEFAULT_TYPDELIM);/* typdelim */
102-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typrelid */
103-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typelem */
104-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typarray */
105-
values[i++]=ObjectIdGetDatum(F_SHELL_IN);/* typinput */
106-
values[i++]=ObjectIdGetDatum(F_SHELL_OUT);/* typoutput */
107-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typreceive */
108-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typsend */
109-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typmodin */
110-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typmodout */
111-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typanalyze */
112-
values[i++]=CharGetDatum('i');/* typalign */
113-
values[i++]=CharGetDatum('p');/* typstorage */
114-
values[i++]=BoolGetDatum(false);/* typnotnull */
115-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typbasetype */
116-
values[i++]=Int32GetDatum(-1);/* typtypmod */
117-
values[i++]=Int32GetDatum(0);/* typndims */
118-
values[i++]=ObjectIdGetDatum(InvalidOid);/* typcollation */
119-
nulls[i++]= true;/* typdefaultbin */
120-
nulls[i++]= true;/* typdefault */
91+
values[Anum_pg_type_typname-1]=NameGetDatum(&name);
92+
values[Anum_pg_type_typnamespace-1]=ObjectIdGetDatum(typeNamespace);
93+
values[Anum_pg_type_typowner-1]=ObjectIdGetDatum(ownerId);
94+
values[Anum_pg_type_typlen-1]=Int16GetDatum(sizeof(int4));
95+
values[Anum_pg_type_typbyval-1]=BoolGetDatum(true);
96+
values[Anum_pg_type_typtype-1]=CharGetDatum(TYPTYPE_PSEUDO);
97+
values[Anum_pg_type_typcategory-1]=CharGetDatum(TYPCATEGORY_PSEUDOTYPE);
98+
values[Anum_pg_type_typispreferred-1]=BoolGetDatum(false);
99+
values[Anum_pg_type_typisdefined-1]=BoolGetDatum(false);
100+
values[Anum_pg_type_typdelim-1]=CharGetDatum(DEFAULT_TYPDELIM);
101+
values[Anum_pg_type_typrelid-1]=ObjectIdGetDatum(InvalidOid);
102+
values[Anum_pg_type_typelem-1]=ObjectIdGetDatum(InvalidOid);
103+
values[Anum_pg_type_typarray-1]=ObjectIdGetDatum(InvalidOid);
104+
values[Anum_pg_type_typinput-1]=ObjectIdGetDatum(F_SHELL_IN);
105+
values[Anum_pg_type_typoutput-1]=ObjectIdGetDatum(F_SHELL_OUT);
106+
values[Anum_pg_type_typreceive-1]=ObjectIdGetDatum(InvalidOid);
107+
values[Anum_pg_type_typsend-1]=ObjectIdGetDatum(InvalidOid);
108+
values[Anum_pg_type_typmodin-1]=ObjectIdGetDatum(InvalidOid);
109+
values[Anum_pg_type_typmodout-1]=ObjectIdGetDatum(InvalidOid);
110+
values[Anum_pg_type_typanalyze-1]=ObjectIdGetDatum(InvalidOid);
111+
values[Anum_pg_type_typalign-1]=CharGetDatum('i');
112+
values[Anum_pg_type_typstorage-1]=CharGetDatum('p');
113+
values[Anum_pg_type_typnotnull-1]=BoolGetDatum(false);
114+
values[Anum_pg_type_typbasetype-1]=ObjectIdGetDatum(InvalidOid);
115+
values[Anum_pg_type_typtypmod-1]=Int32GetDatum(-1);
116+
values[Anum_pg_type_typndims-1]=Int32GetDatum(0);
117+
values[Anum_pg_type_typcollation-1]=ObjectIdGetDatum(InvalidOid);
118+
nulls[Anum_pg_type_typdefaultbin-1]= true;
119+
nulls[Anum_pg_type_typdefault-1]= true;
121120

122121
/*
123122
* create a new type tuple
@@ -322,56 +321,53 @@ TypeCreate(Oid newTypeOid,
322321
}
323322

324323
/*
325-
*initialize the *values information
324+
*insert datavalues
326325
*/
327-
i=0;
328326
namestrcpy(&name,typeName);
329-
values[i++]=NameGetDatum(&name);/* typname */
330-
values[i++]=ObjectIdGetDatum(typeNamespace);/* typnamespace */
331-
values[i++]=ObjectIdGetDatum(ownerId);/* typowner */
332-
values[i++]=Int16GetDatum(internalSize);/* typlen */
333-
values[i++]=BoolGetDatum(passedByValue);/* typbyval */
334-
values[i++]=CharGetDatum(typeType);/* typtype */
335-
values[i++]=CharGetDatum(typeCategory);/* typcategory */
336-
values[i++]=BoolGetDatum(typePreferred);/* typispreferred */
337-
values[i++]=BoolGetDatum(true);/* typisdefined */
338-
values[i++]=CharGetDatum(typDelim);/* typdelim */
339-
values[i++]=ObjectIdGetDatum(relationOid);/* typrelid */
340-
values[i++]=ObjectIdGetDatum(elementType);/* typelem */
341-
values[i++]=ObjectIdGetDatum(arrayType);/* typarray */
342-
values[i++]=ObjectIdGetDatum(inputProcedure);/* typinput */
343-
values[i++]=ObjectIdGetDatum(outputProcedure);/* typoutput */
344-
values[i++]=ObjectIdGetDatum(receiveProcedure);/* typreceive */
345-
values[i++]=ObjectIdGetDatum(sendProcedure);/* typsend */
346-
values[i++]=ObjectIdGetDatum(typmodinProcedure);/* typmodin */
347-
values[i++]=ObjectIdGetDatum(typmodoutProcedure);/* typmodout */
348-
values[i++]=ObjectIdGetDatum(analyzeProcedure);/* typanalyze */
349-
values[i++]=CharGetDatum(alignment);/* typalign */
350-
values[i++]=CharGetDatum(storage);/* typstorage */
351-
values[i++]=BoolGetDatum(typeNotNull);/* typnotnull */
352-
values[i++]=ObjectIdGetDatum(baseType);/* typbasetype */
353-
values[i++]=Int32GetDatum(typeMod);/* typtypmod */
354-
values[i++]=Int32GetDatum(typNDims);/* typndims */
355-
values[i++]=ObjectIdGetDatum(typeCollation);/* typcollation */
327+
values[Anum_pg_type_typname-1]=NameGetDatum(&name);
328+
values[Anum_pg_type_typnamespace-1]=ObjectIdGetDatum(typeNamespace);
329+
values[Anum_pg_type_typowner-1]=ObjectIdGetDatum(ownerId);
330+
values[Anum_pg_type_typlen-1]=Int16GetDatum(internalSize);
331+
values[Anum_pg_type_typbyval-1]=BoolGetDatum(passedByValue);
332+
values[Anum_pg_type_typtype-1]=CharGetDatum(typeType);
333+
values[Anum_pg_type_typcategory-1]=CharGetDatum(typeCategory);
334+
values[Anum_pg_type_typispreferred-1]=BoolGetDatum(typePreferred);
335+
values[Anum_pg_type_typisdefined-1]=BoolGetDatum(true);
336+
values[Anum_pg_type_typdelim-1]=CharGetDatum(typDelim);
337+
values[Anum_pg_type_typrelid-1]=ObjectIdGetDatum(relationOid);
338+
values[Anum_pg_type_typelem-1]=ObjectIdGetDatum(elementType);
339+
values[Anum_pg_type_typarray-1]=ObjectIdGetDatum(arrayType);
340+
values[Anum_pg_type_typinput-1]=ObjectIdGetDatum(inputProcedure);
341+
values[Anum_pg_type_typoutput-1]=ObjectIdGetDatum(outputProcedure);
342+
values[Anum_pg_type_typreceive-1]=ObjectIdGetDatum(receiveProcedure);
343+
values[Anum_pg_type_typsend-1]=ObjectIdGetDatum(sendProcedure);
344+
values[Anum_pg_type_typmodin-1]=ObjectIdGetDatum(typmodinProcedure);
345+
values[Anum_pg_type_typmodout-1]=ObjectIdGetDatum(typmodoutProcedure);
346+
values[Anum_pg_type_typanalyze-1]=ObjectIdGetDatum(analyzeProcedure);
347+
values[Anum_pg_type_typalign-1]=CharGetDatum(alignment);
348+
values[Anum_pg_type_typstorage-1]=CharGetDatum(storage);
349+
values[Anum_pg_type_typnotnull-1]=BoolGetDatum(typeNotNull);
350+
values[Anum_pg_type_typbasetype-1]=ObjectIdGetDatum(baseType);
351+
values[Anum_pg_type_typtypmod-1]=Int32GetDatum(typeMod);
352+
values[Anum_pg_type_typndims-1]=Int32GetDatum(typNDims);
353+
values[Anum_pg_type_typcollation-1]=ObjectIdGetDatum(typeCollation);
356354

357355
/*
358356
* initialize the default binary value for this type. Check for nulls of
359357
* course.
360358
*/
361359
if (defaultTypeBin)
362-
values[i]=CStringGetTextDatum(defaultTypeBin);
360+
values[Anum_pg_type_typdefaultbin-1]=CStringGetTextDatum(defaultTypeBin);
363361
else
364-
nulls[i]= true;
365-
i++;/* typdefaultbin */
362+
nulls[Anum_pg_type_typdefaultbin-1]= true;
366363

367364
/*
368365
* initialize the default value for this type.
369366
*/
370367
if (defaultTypeValue)
371-
values[i]=CStringGetTextDatum(defaultTypeValue);
368+
values[Anum_pg_type_typdefault-1]=CStringGetTextDatum(defaultTypeValue);
372369
else
373-
nulls[i]= true;
374-
i++;/* typdefault */
370+
nulls[Anum_pg_type_typdefault-1]= true;
375371

376372
/*
377373
* open pg_type and prepare to insert or update a row.

‎src/backend/commands/analyze.c

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,21 +1603,23 @@ update_attstats(Oid relid, bool inh, int natts, VacAttrStats **vacattrstats)
16031603
replaces[i]= true;
16041604
}
16051605

1606-
i=0;
1607-
values[i++]=ObjectIdGetDatum(relid);/* starelid */
1608-
values[i++]=Int16GetDatum(stats->attr->attnum);/* staattnum */
1609-
values[i++]=BoolGetDatum(inh);/* stainherit */
1610-
values[i++]=Float4GetDatum(stats->stanullfrac);/* stanullfrac */
1611-
values[i++]=Int32GetDatum(stats->stawidth);/* stawidth */
1612-
values[i++]=Float4GetDatum(stats->stadistinct);/* stadistinct */
1606+
values[Anum_pg_statistic_starelid-1]=ObjectIdGetDatum(relid);
1607+
values[Anum_pg_statistic_staattnum-1]=Int16GetDatum(stats->attr->attnum);
1608+
values[Anum_pg_statistic_stainherit-1]=BoolGetDatum(inh);
1609+
values[Anum_pg_statistic_stanullfrac-1]=Float4GetDatum(stats->stanullfrac);
1610+
values[Anum_pg_statistic_stawidth-1]=Int32GetDatum(stats->stawidth);
1611+
values[Anum_pg_statistic_stadistinct-1]=Float4GetDatum(stats->stadistinct);
1612+
i=Anum_pg_statistic_stakind1-1;
16131613
for (k=0;k<STATISTIC_NUM_SLOTS;k++)
16141614
{
16151615
values[i++]=Int16GetDatum(stats->stakind[k]);/* stakindN */
16161616
}
1617+
i=Anum_pg_statistic_staop1-1;
16171618
for (k=0;k<STATISTIC_NUM_SLOTS;k++)
16181619
{
16191620
values[i++]=ObjectIdGetDatum(stats->staop[k]);/* staopN */
16201621
}
1622+
i=Anum_pg_statistic_stanumbers1-1;
16211623
for (k=0;k<STATISTIC_NUM_SLOTS;k++)
16221624
{
16231625
intnnum=stats->numnumbers[k];
@@ -1641,6 +1643,7 @@ update_attstats(Oid relid, bool inh, int natts, VacAttrStats **vacattrstats)
16411643
values[i++]= (Datum)0;
16421644
}
16431645
}
1646+
i=Anum_pg_statistic_stavalues1-1;
16441647
for (k=0;k<STATISTIC_NUM_SLOTS;k++)
16451648
{
16461649
if (stats->numvalues[k]>0)

‎src/backend/commands/comment.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,10 @@ CreateComments(Oid oid, Oid classoid, int32 subid, char *comment)
157157
nulls[i]= false;
158158
replaces[i]= true;
159159
}
160-
i=0;
161-
values[i++]=ObjectIdGetDatum(oid);
162-
values[i++]=ObjectIdGetDatum(classoid);
163-
values[i++]=Int32GetDatum(subid);
164-
values[i++]=CStringGetTextDatum(comment);
160+
values[Anum_pg_description_objoid-1]=ObjectIdGetDatum(oid);
161+
values[Anum_pg_description_classoid-1]=ObjectIdGetDatum(classoid);
162+
values[Anum_pg_description_objsubid-1]=Int32GetDatum(subid);
163+
values[Anum_pg_description_description-1]=CStringGetTextDatum(comment);
165164
}
166165

167166
/* Use the index to search for a matching old tuple */
@@ -257,10 +256,9 @@ CreateSharedComments(Oid oid, Oid classoid, char *comment)
257256
nulls[i]= false;
258257
replaces[i]= true;
259258
}
260-
i=0;
261-
values[i++]=ObjectIdGetDatum(oid);
262-
values[i++]=ObjectIdGetDatum(classoid);
263-
values[i++]=CStringGetTextDatum(comment);
259+
values[Anum_pg_shdescription_objoid-1]=ObjectIdGetDatum(oid);
260+
values[Anum_pg_shdescription_classoid-1]=ObjectIdGetDatum(classoid);
261+
values[Anum_pg_shdescription_description-1]=CStringGetTextDatum(comment);
264262
}
265263

266264
/* Use the index to search for a matching old tuple */

‎src/backend/rewrite/rewriteDefine.c

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ InsertRule(char *rulname,
6060
{
6161
char*evqual=nodeToString(event_qual);
6262
char*actiontree=nodeToString((Node*)action);
63-
inti;
6463
Datumvalues[Natts_pg_rewrite];
6564
boolnulls[Natts_pg_rewrite];
6665
boolreplaces[Natts_pg_rewrite];
@@ -78,16 +77,15 @@ InsertRule(char *rulname,
7877
*/
7978
MemSet(nulls, false,sizeof(nulls));
8079

81-
i=0;
8280
namestrcpy(&rname,rulname);
83-
values[i++]=NameGetDatum(&rname);/* rulename */
84-
values[i++]=ObjectIdGetDatum(eventrel_oid);/* ev_class */
85-
values[i++]=Int16GetDatum(evslot_index);/* ev_attr */
86-
values[i++]=CharGetDatum(evtype+'0');/* ev_type */
87-
values[i++]=CharGetDatum(RULE_FIRES_ON_ORIGIN);/* ev_enabled */
88-
values[i++]=BoolGetDatum(evinstead);/* is_instead */
89-
values[i++]=CStringGetTextDatum(evqual);/* ev_qual */
90-
values[i++]=CStringGetTextDatum(actiontree);/* ev_action */
81+
values[Anum_pg_rewrite_rulename-1]=NameGetDatum(&rname);
82+
values[Anum_pg_rewrite_ev_class-1]=ObjectIdGetDatum(eventrel_oid);
83+
values[Anum_pg_rewrite_ev_attr-1]=Int16GetDatum(evslot_index);
84+
values[Anum_pg_rewrite_ev_type-1]=CharGetDatum(evtype+'0');
85+
values[Anum_pg_rewrite_ev_enabled-1]=CharGetDatum(RULE_FIRES_ON_ORIGIN);
86+
values[Anum_pg_rewrite_is_instead-1]=BoolGetDatum(evinstead);
87+
values[Anum_pg_rewrite_ev_qual-1]=CStringGetTextDatum(evqual);
88+
values[Anum_pg_rewrite_ev_action-1]=CStringGetTextDatum(actiontree);
9189

9290
/*
9391
* Ready to store new pg_rewrite tuple

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp