diff --git a/src/backend/catalog/pg_operator.c b/src/backend/catalog/pg_operator.c index ccd0fe1997def001bb782f1f819d682657d76a64..4d2d7b7e265611d395b2d13e25ab3b2c2171bc27 100644 --- a/src/backend/catalog/pg_operator.c +++ b/src/backend/catalog/pg_operator.c @@ -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); diff --git a/src/backend/catalog/pg_type.c b/src/backend/catalog/pg_type.c index de5c63defe5f292d08145fdb543e93ee4acced4b..f60822982399db6c179495f1ccff9711b64c3991 100644 --- a/src/backend/catalog/pg_type.c +++ b/src/backend/catalog/pg_type.c @@ -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. diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index 57188bc25a7bab0c13aacd958274131557befd72..7b73355dde36c86a5cb22717fffb6e44a305a7ba 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -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) diff --git a/src/backend/commands/comment.c b/src/backend/commands/comment.c index d09bef06824611c55a12289c923bcf461904bbf4..587a689496fc48f327a324239028ab3166e1332e 100644 --- a/src/backend/commands/comment.c +++ b/src/backend/commands/comment.c @@ -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 */ diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c index 52c55def155e568bf2a42f65c782f2b83d3fee1b..bb7d468d19db7d43b682c2308eb534bf728c4d17 100644 --- a/src/backend/rewrite/rewriteDefine.c +++ b/src/backend/rewrite/rewriteDefine.c @@ -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