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 the last few that were still doing it the old way. The main advantage is that this exposes a greppable name for each target column, rather than having to rely on comments (which a couple of places failed to provide anyhow). Richard Hopkins, additional work by me to clean up update_attstats() too
This commit is contained in:
parent
7357558fc8
commit
bfcb9328e5
|
@ -234,22 +234,21 @@ OperatorShellMake(const char *operatorName,
|
|||
* initialize values[] with the operator name and input data types. Note
|
||||
* that oprcode is set to InvalidOid, indicating it's a shell.
|
||||
*/
|
||||
i = 0;
|
||||
namestrcpy(&oname, operatorName);
|
||||
values[i++] = NameGetDatum(&oname); /* oprname */
|
||||
values[i++] = ObjectIdGetDatum(operatorNamespace); /* oprnamespace */
|
||||
values[i++] = ObjectIdGetDatum(GetUserId()); /* oprowner */
|
||||
values[i++] = CharGetDatum(leftTypeId ? (rightTypeId ? 'b' : 'r') : 'l'); /* oprkind */
|
||||
values[i++] = BoolGetDatum(false); /* oprcanmerge */
|
||||
values[i++] = BoolGetDatum(false); /* oprcanhash */
|
||||
values[i++] = ObjectIdGetDatum(leftTypeId); /* oprleft */
|
||||
values[i++] = ObjectIdGetDatum(rightTypeId); /* oprright */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* oprresult */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* oprcom */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* oprnegate */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* oprcode */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* oprrest */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* oprjoin */
|
||||
values[Anum_pg_operator_oprname - 1] = NameGetDatum(&oname);
|
||||
values[Anum_pg_operator_oprnamespace - 1] = ObjectIdGetDatum(operatorNamespace);
|
||||
values[Anum_pg_operator_oprowner - 1] = ObjectIdGetDatum(GetUserId());
|
||||
values[Anum_pg_operator_oprkind - 1] = CharGetDatum(leftTypeId ? (rightTypeId ? 'b' : 'r') : 'l');
|
||||
values[Anum_pg_operator_oprcanmerge - 1] = BoolGetDatum(false);
|
||||
values[Anum_pg_operator_oprcanhash - 1] = BoolGetDatum(false);
|
||||
values[Anum_pg_operator_oprleft - 1] = ObjectIdGetDatum(leftTypeId);
|
||||
values[Anum_pg_operator_oprright - 1] = ObjectIdGetDatum(rightTypeId);
|
||||
values[Anum_pg_operator_oprresult - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_operator_oprcom - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_operator_oprnegate - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_operator_oprcode - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_operator_oprrest - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_operator_oprjoin - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
|
||||
/*
|
||||
* open pg_operator
|
||||
|
@ -492,22 +491,21 @@ OperatorCreate(const char *operatorName,
|
|||
nulls[i] = false;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
namestrcpy(&oname, operatorName);
|
||||
values[i++] = NameGetDatum(&oname); /* oprname */
|
||||
values[i++] = ObjectIdGetDatum(operatorNamespace); /* oprnamespace */
|
||||
values[i++] = ObjectIdGetDatum(GetUserId()); /* oprowner */
|
||||
values[i++] = CharGetDatum(leftTypeId ? (rightTypeId ? 'b' : 'r') : 'l'); /* oprkind */
|
||||
values[i++] = BoolGetDatum(canMerge); /* oprcanmerge */
|
||||
values[i++] = BoolGetDatum(canHash); /* oprcanhash */
|
||||
values[i++] = ObjectIdGetDatum(leftTypeId); /* oprleft */
|
||||
values[i++] = ObjectIdGetDatum(rightTypeId); /* oprright */
|
||||
values[i++] = ObjectIdGetDatum(operResultType); /* oprresult */
|
||||
values[i++] = ObjectIdGetDatum(commutatorId); /* oprcom */
|
||||
values[i++] = ObjectIdGetDatum(negatorId); /* oprnegate */
|
||||
values[i++] = ObjectIdGetDatum(procedureId); /* oprcode */
|
||||
values[i++] = ObjectIdGetDatum(restrictionId); /* oprrest */
|
||||
values[i++] = ObjectIdGetDatum(joinId); /* oprjoin */
|
||||
values[Anum_pg_operator_oprname - 1] = NameGetDatum(&oname);
|
||||
values[Anum_pg_operator_oprnamespace - 1] = ObjectIdGetDatum(operatorNamespace);
|
||||
values[Anum_pg_operator_oprowner - 1] = ObjectIdGetDatum(GetUserId());
|
||||
values[Anum_pg_operator_oprkind - 1] = CharGetDatum(leftTypeId ? (rightTypeId ? 'b' : 'r') : 'l');
|
||||
values[Anum_pg_operator_oprcanmerge - 1] = BoolGetDatum(canMerge);
|
||||
values[Anum_pg_operator_oprcanhash - 1] = BoolGetDatum(canHash);
|
||||
values[Anum_pg_operator_oprleft - 1] = ObjectIdGetDatum(leftTypeId);
|
||||
values[Anum_pg_operator_oprright - 1] = ObjectIdGetDatum(rightTypeId);
|
||||
values[Anum_pg_operator_oprresult - 1] = ObjectIdGetDatum(operResultType);
|
||||
values[Anum_pg_operator_oprcom - 1] = ObjectIdGetDatum(commutatorId);
|
||||
values[Anum_pg_operator_oprnegate - 1] = ObjectIdGetDatum(negatorId);
|
||||
values[Anum_pg_operator_oprcode - 1] = ObjectIdGetDatum(procedureId);
|
||||
values[Anum_pg_operator_oprrest - 1] = ObjectIdGetDatum(restrictionId);
|
||||
values[Anum_pg_operator_oprjoin - 1] = ObjectIdGetDatum(joinId);
|
||||
|
||||
pg_operator_desc = heap_open(OperatorRelationId, RowExclusiveLock);
|
||||
|
||||
|
|
|
@ -87,37 +87,36 @@ TypeShellMake(const char *typeName, Oid typeNamespace, Oid ownerId)
|
|||
* give it typtype = TYPTYPE_PSEUDO as extra insurance that it won't be
|
||||
* mistaken for a usable type.
|
||||
*/
|
||||
i = 0;
|
||||
namestrcpy(&name, typeName);
|
||||
values[i++] = NameGetDatum(&name); /* typname */
|
||||
values[i++] = ObjectIdGetDatum(typeNamespace); /* typnamespace */
|
||||
values[i++] = ObjectIdGetDatum(ownerId); /* typowner */
|
||||
values[i++] = Int16GetDatum(sizeof(int4)); /* typlen */
|
||||
values[i++] = BoolGetDatum(true); /* typbyval */
|
||||
values[i++] = CharGetDatum(TYPTYPE_PSEUDO); /* typtype */
|
||||
values[i++] = CharGetDatum(TYPCATEGORY_PSEUDOTYPE); /* typcategory */
|
||||
values[i++] = BoolGetDatum(false); /* typispreferred */
|
||||
values[i++] = BoolGetDatum(false); /* typisdefined */
|
||||
values[i++] = CharGetDatum(DEFAULT_TYPDELIM); /* typdelim */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typrelid */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typelem */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typarray */
|
||||
values[i++] = ObjectIdGetDatum(F_SHELL_IN); /* typinput */
|
||||
values[i++] = ObjectIdGetDatum(F_SHELL_OUT); /* typoutput */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typreceive */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typsend */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typmodin */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typmodout */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typanalyze */
|
||||
values[i++] = CharGetDatum('i'); /* typalign */
|
||||
values[i++] = CharGetDatum('p'); /* typstorage */
|
||||
values[i++] = BoolGetDatum(false); /* typnotnull */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typbasetype */
|
||||
values[i++] = Int32GetDatum(-1); /* typtypmod */
|
||||
values[i++] = Int32GetDatum(0); /* typndims */
|
||||
values[i++] = ObjectIdGetDatum(InvalidOid); /* typcollation */
|
||||
nulls[i++] = true; /* typdefaultbin */
|
||||
nulls[i++] = true; /* typdefault */
|
||||
values[Anum_pg_type_typname - 1] = NameGetDatum(&name);
|
||||
values[Anum_pg_type_typnamespace - 1] = ObjectIdGetDatum(typeNamespace);
|
||||
values[Anum_pg_type_typowner - 1] = ObjectIdGetDatum(ownerId);
|
||||
values[Anum_pg_type_typlen - 1] = Int16GetDatum(sizeof(int4));
|
||||
values[Anum_pg_type_typbyval - 1] = BoolGetDatum(true);
|
||||
values[Anum_pg_type_typtype - 1] = CharGetDatum(TYPTYPE_PSEUDO);
|
||||
values[Anum_pg_type_typcategory - 1] = CharGetDatum(TYPCATEGORY_PSEUDOTYPE);
|
||||
values[Anum_pg_type_typispreferred - 1] = BoolGetDatum(false);
|
||||
values[Anum_pg_type_typisdefined - 1] = BoolGetDatum(false);
|
||||
values[Anum_pg_type_typdelim - 1] = CharGetDatum(DEFAULT_TYPDELIM);
|
||||
values[Anum_pg_type_typrelid - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typelem - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typarray - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typinput - 1] = ObjectIdGetDatum(F_SHELL_IN);
|
||||
values[Anum_pg_type_typoutput - 1] = ObjectIdGetDatum(F_SHELL_OUT);
|
||||
values[Anum_pg_type_typreceive - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typsend - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typmodin - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typmodout - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typanalyze - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typalign - 1] = CharGetDatum('i');
|
||||
values[Anum_pg_type_typstorage - 1] = CharGetDatum('p');
|
||||
values[Anum_pg_type_typnotnull - 1] = BoolGetDatum(false);
|
||||
values[Anum_pg_type_typbasetype - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
values[Anum_pg_type_typtypmod - 1] = Int32GetDatum(-1);
|
||||
values[Anum_pg_type_typndims - 1] = Int32GetDatum(0);
|
||||
values[Anum_pg_type_typcollation - 1] = ObjectIdGetDatum(InvalidOid);
|
||||
nulls[Anum_pg_type_typdefaultbin - 1] = true;
|
||||
nulls[Anum_pg_type_typdefault - 1] = true;
|
||||
|
||||
/*
|
||||
* create a new type tuple
|
||||
|
@ -322,56 +321,53 @@ TypeCreate(Oid newTypeOid,
|
|||
}
|
||||
|
||||
/*
|
||||
* initialize the *values information
|
||||
* insert data values
|
||||
*/
|
||||
i = 0;
|
||||
namestrcpy(&name, typeName);
|
||||
values[i++] = NameGetDatum(&name); /* typname */
|
||||
values[i++] = ObjectIdGetDatum(typeNamespace); /* typnamespace */
|
||||
values[i++] = ObjectIdGetDatum(ownerId); /* typowner */
|
||||
values[i++] = Int16GetDatum(internalSize); /* typlen */
|
||||
values[i++] = BoolGetDatum(passedByValue); /* typbyval */
|
||||
values[i++] = CharGetDatum(typeType); /* typtype */
|
||||
values[i++] = CharGetDatum(typeCategory); /* typcategory */
|
||||
values[i++] = BoolGetDatum(typePreferred); /* typispreferred */
|
||||
values[i++] = BoolGetDatum(true); /* typisdefined */
|
||||
values[i++] = CharGetDatum(typDelim); /* typdelim */
|
||||
values[i++] = ObjectIdGetDatum(relationOid); /* typrelid */
|
||||
values[i++] = ObjectIdGetDatum(elementType); /* typelem */
|
||||
values[i++] = ObjectIdGetDatum(arrayType); /* typarray */
|
||||
values[i++] = ObjectIdGetDatum(inputProcedure); /* typinput */
|
||||
values[i++] = ObjectIdGetDatum(outputProcedure); /* typoutput */
|
||||
values[i++] = ObjectIdGetDatum(receiveProcedure); /* typreceive */
|
||||
values[i++] = ObjectIdGetDatum(sendProcedure); /* typsend */
|
||||
values[i++] = ObjectIdGetDatum(typmodinProcedure); /* typmodin */
|
||||
values[i++] = ObjectIdGetDatum(typmodoutProcedure); /* typmodout */
|
||||
values[i++] = ObjectIdGetDatum(analyzeProcedure); /* typanalyze */
|
||||
values[i++] = CharGetDatum(alignment); /* typalign */
|
||||
values[i++] = CharGetDatum(storage); /* typstorage */
|
||||
values[i++] = BoolGetDatum(typeNotNull); /* typnotnull */
|
||||
values[i++] = ObjectIdGetDatum(baseType); /* typbasetype */
|
||||
values[i++] = Int32GetDatum(typeMod); /* typtypmod */
|
||||
values[i++] = Int32GetDatum(typNDims); /* typndims */
|
||||
values[i++] = ObjectIdGetDatum(typeCollation); /* typcollation */
|
||||
values[Anum_pg_type_typname - 1] = NameGetDatum(&name);
|
||||
values[Anum_pg_type_typnamespace - 1] = ObjectIdGetDatum(typeNamespace);
|
||||
values[Anum_pg_type_typowner - 1] = ObjectIdGetDatum(ownerId);
|
||||
values[Anum_pg_type_typlen - 1] = Int16GetDatum(internalSize);
|
||||
values[Anum_pg_type_typbyval - 1] = BoolGetDatum(passedByValue);
|
||||
values[Anum_pg_type_typtype - 1] = CharGetDatum(typeType);
|
||||
values[Anum_pg_type_typcategory - 1] = CharGetDatum(typeCategory);
|
||||
values[Anum_pg_type_typispreferred - 1] = BoolGetDatum(typePreferred);
|
||||
values[Anum_pg_type_typisdefined - 1] = BoolGetDatum(true);
|
||||
values[Anum_pg_type_typdelim - 1] = CharGetDatum(typDelim);
|
||||
values[Anum_pg_type_typrelid - 1] = ObjectIdGetDatum(relationOid);
|
||||
values[Anum_pg_type_typelem - 1] = ObjectIdGetDatum(elementType);
|
||||
values[Anum_pg_type_typarray - 1] = ObjectIdGetDatum(arrayType);
|
||||
values[Anum_pg_type_typinput - 1] = ObjectIdGetDatum(inputProcedure);
|
||||
values[Anum_pg_type_typoutput - 1] = ObjectIdGetDatum(outputProcedure);
|
||||
values[Anum_pg_type_typreceive - 1] = ObjectIdGetDatum(receiveProcedure);
|
||||
values[Anum_pg_type_typsend - 1] = ObjectIdGetDatum(sendProcedure);
|
||||
values[Anum_pg_type_typmodin - 1] = ObjectIdGetDatum(typmodinProcedure);
|
||||
values[Anum_pg_type_typmodout - 1] = ObjectIdGetDatum(typmodoutProcedure);
|
||||
values[Anum_pg_type_typanalyze - 1] = ObjectIdGetDatum(analyzeProcedure);
|
||||
values[Anum_pg_type_typalign - 1] = CharGetDatum(alignment);
|
||||
values[Anum_pg_type_typstorage - 1] = CharGetDatum(storage);
|
||||
values[Anum_pg_type_typnotnull - 1] = BoolGetDatum(typeNotNull);
|
||||
values[Anum_pg_type_typbasetype - 1] = ObjectIdGetDatum(baseType);
|
||||
values[Anum_pg_type_typtypmod - 1] = Int32GetDatum(typeMod);
|
||||
values[Anum_pg_type_typndims - 1] = Int32GetDatum(typNDims);
|
||||
values[Anum_pg_type_typcollation - 1] = ObjectIdGetDatum(typeCollation);
|
||||
|
||||
/*
|
||||
* initialize the default binary value for this type. Check for nulls of
|
||||
* course.
|
||||
*/
|
||||
if (defaultTypeBin)
|
||||
values[i] = CStringGetTextDatum(defaultTypeBin);
|
||||
values[Anum_pg_type_typdefaultbin - 1] = CStringGetTextDatum(defaultTypeBin);
|
||||
else
|
||||
nulls[i] = true;
|
||||
i++; /* typdefaultbin */
|
||||
nulls[Anum_pg_type_typdefaultbin - 1] = true;
|
||||
|
||||
/*
|
||||
* initialize the default value for this type.
|
||||
*/
|
||||
if (defaultTypeValue)
|
||||
values[i] = CStringGetTextDatum(defaultTypeValue);
|
||||
values[Anum_pg_type_typdefault - 1] = CStringGetTextDatum(defaultTypeValue);
|
||||
else
|
||||
nulls[i] = true;
|
||||
i++; /* typdefault */
|
||||
nulls[Anum_pg_type_typdefault - 1] = true;
|
||||
|
||||
/*
|
||||
* open pg_type and prepare to insert or update a row.
|
||||
|
|
|
@ -1603,21 +1603,23 @@ update_attstats(Oid relid, bool inh, int natts, VacAttrStats **vacattrstats)
|
|||
replaces[i] = true;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
values[i++] = ObjectIdGetDatum(relid); /* starelid */
|
||||
values[i++] = Int16GetDatum(stats->attr->attnum); /* staattnum */
|
||||
values[i++] = BoolGetDatum(inh); /* stainherit */
|
||||
values[i++] = Float4GetDatum(stats->stanullfrac); /* stanullfrac */
|
||||
values[i++] = Int32GetDatum(stats->stawidth); /* stawidth */
|
||||
values[i++] = Float4GetDatum(stats->stadistinct); /* stadistinct */
|
||||
values[Anum_pg_statistic_starelid - 1] = ObjectIdGetDatum(relid);
|
||||
values[Anum_pg_statistic_staattnum - 1] = Int16GetDatum(stats->attr->attnum);
|
||||
values[Anum_pg_statistic_stainherit - 1] = BoolGetDatum(inh);
|
||||
values[Anum_pg_statistic_stanullfrac - 1] = Float4GetDatum(stats->stanullfrac);
|
||||
values[Anum_pg_statistic_stawidth - 1] = Int32GetDatum(stats->stawidth);
|
||||
values[Anum_pg_statistic_stadistinct - 1] = Float4GetDatum(stats->stadistinct);
|
||||
i = Anum_pg_statistic_stakind1 - 1;
|
||||
for (k = 0; k < STATISTIC_NUM_SLOTS; k++)
|
||||
{
|
||||
values[i++] = Int16GetDatum(stats->stakind[k]); /* stakindN */
|
||||
}
|
||||
i = Anum_pg_statistic_staop1 - 1;
|
||||
for (k = 0; k < STATISTIC_NUM_SLOTS; k++)
|
||||
{
|
||||
values[i++] = ObjectIdGetDatum(stats->staop[k]); /* staopN */
|
||||
}
|
||||
i = Anum_pg_statistic_stanumbers1 - 1;
|
||||
for (k = 0; k < STATISTIC_NUM_SLOTS; k++)
|
||||
{
|
||||
int nnum = stats->numnumbers[k];
|
||||
|
@ -1641,6 +1643,7 @@ update_attstats(Oid relid, bool inh, int natts, VacAttrStats **vacattrstats)
|
|||
values[i++] = (Datum) 0;
|
||||
}
|
||||
}
|
||||
i = Anum_pg_statistic_stavalues1 - 1;
|
||||
for (k = 0; k < STATISTIC_NUM_SLOTS; k++)
|
||||
{
|
||||
if (stats->numvalues[k] > 0)
|
||||
|
|
|
@ -157,11 +157,10 @@ CreateComments(Oid oid, Oid classoid, int32 subid, char *comment)
|
|||
nulls[i] = false;
|
||||
replaces[i] = true;
|
||||
}
|
||||
i = 0;
|
||||
values[i++] = ObjectIdGetDatum(oid);
|
||||
values[i++] = ObjectIdGetDatum(classoid);
|
||||
values[i++] = Int32GetDatum(subid);
|
||||
values[i++] = CStringGetTextDatum(comment);
|
||||
values[Anum_pg_description_objoid - 1] = ObjectIdGetDatum(oid);
|
||||
values[Anum_pg_description_classoid - 1] = ObjectIdGetDatum(classoid);
|
||||
values[Anum_pg_description_objsubid - 1] = Int32GetDatum(subid);
|
||||
values[Anum_pg_description_description - 1] = CStringGetTextDatum(comment);
|
||||
}
|
||||
|
||||
/* Use the index to search for a matching old tuple */
|
||||
|
@ -257,10 +256,9 @@ CreateSharedComments(Oid oid, Oid classoid, char *comment)
|
|||
nulls[i] = false;
|
||||
replaces[i] = true;
|
||||
}
|
||||
i = 0;
|
||||
values[i++] = ObjectIdGetDatum(oid);
|
||||
values[i++] = ObjectIdGetDatum(classoid);
|
||||
values[i++] = CStringGetTextDatum(comment);
|
||||
values[Anum_pg_shdescription_objoid - 1] = ObjectIdGetDatum(oid);
|
||||
values[Anum_pg_shdescription_classoid - 1] = ObjectIdGetDatum(classoid);
|
||||
values[Anum_pg_shdescription_description - 1] = CStringGetTextDatum(comment);
|
||||
}
|
||||
|
||||
/* Use the index to search for a matching old tuple */
|
||||
|
|
|
@ -60,7 +60,6 @@ InsertRule(char *rulname,
|
|||
{
|
||||
char *evqual = nodeToString(event_qual);
|
||||
char *actiontree = nodeToString((Node *) action);
|
||||
int i;
|
||||
Datum values[Natts_pg_rewrite];
|
||||
bool nulls[Natts_pg_rewrite];
|
||||
bool replaces[Natts_pg_rewrite];
|
||||
|
@ -78,16 +77,15 @@ InsertRule(char *rulname,
|
|||
*/
|
||||
MemSet(nulls, false, sizeof(nulls));
|
||||
|
||||
i = 0;
|
||||
namestrcpy(&rname, rulname);
|
||||
values[i++] = NameGetDatum(&rname); /* rulename */
|
||||
values[i++] = ObjectIdGetDatum(eventrel_oid); /* ev_class */
|
||||
values[i++] = Int16GetDatum(evslot_index); /* ev_attr */
|
||||
values[i++] = CharGetDatum(evtype + '0'); /* ev_type */
|
||||
values[i++] = CharGetDatum(RULE_FIRES_ON_ORIGIN); /* ev_enabled */
|
||||
values[i++] = BoolGetDatum(evinstead); /* is_instead */
|
||||
values[i++] = CStringGetTextDatum(evqual); /* ev_qual */
|
||||
values[i++] = CStringGetTextDatum(actiontree); /* ev_action */
|
||||
values[Anum_pg_rewrite_rulename - 1] = NameGetDatum(&rname);
|
||||
values[Anum_pg_rewrite_ev_class - 1] = ObjectIdGetDatum(eventrel_oid);
|
||||
values[Anum_pg_rewrite_ev_attr - 1] = Int16GetDatum(evslot_index);
|
||||
values[Anum_pg_rewrite_ev_type - 1] = CharGetDatum(evtype + '0');
|
||||
values[Anum_pg_rewrite_ev_enabled - 1] = CharGetDatum(RULE_FIRES_ON_ORIGIN);
|
||||
values[Anum_pg_rewrite_is_instead - 1] = BoolGetDatum(evinstead);
|
||||
values[Anum_pg_rewrite_ev_qual - 1] = CStringGetTextDatum(evqual);
|
||||
values[Anum_pg_rewrite_ev_action - 1] = CStringGetTextDatum(actiontree);
|
||||
|
||||
/*
|
||||
* Ready to store new pg_rewrite tuple
|
||||
|
|
Loading…
Reference in New Issue