@@ -87,37 +87,36 @@ TypeShellMake(const char *typeName, Oid typeNamespace, Oid ownerId)
87
87
* give it typtype = TYPTYPE_PSEUDO as extra insurance that it won't be
88
88
* mistaken for a usable type.
89
89
*/
90
- i = 0 ;
91
90
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;
121
120
122
121
/*
123
122
* create a new type tuple
@@ -322,56 +321,53 @@ TypeCreate(Oid newTypeOid,
322
321
}
323
322
324
323
/*
325
- * initialize the * values information
324
+ * insert data values
326
325
*/
327
- i = 0 ;
328
326
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 );
356
354
357
355
/*
358
356
* initialize the default binary value for this type. Check for nulls of
359
357
* course.
360
358
*/
361
359
if (defaultTypeBin )
362
- values [i ] = CStringGetTextDatum (defaultTypeBin );
360
+ values [Anum_pg_type_typdefaultbin - 1 ] = CStringGetTextDatum (defaultTypeBin );
363
361
else
364
- nulls [i ] = true;
365
- i ++ ; /* typdefaultbin */
362
+ nulls [Anum_pg_type_typdefaultbin - 1 ] = true;
366
363
367
364
/*
368
365
* initialize the default value for this type.
369
366
*/
370
367
if (defaultTypeValue )
371
- values [i ] = CStringGetTextDatum (defaultTypeValue );
368
+ values [Anum_pg_type_typdefault - 1 ] = CStringGetTextDatum (defaultTypeValue );
372
369
else
373
- nulls [i ] = true;
374
- i ++ ; /* typdefault */
370
+ nulls [Anum_pg_type_typdefault - 1 ] = true;
375
371
376
372
/*
377
373
* open pg_type and prepare to insert or update a row.
0 commit comments