A RowDescription packet is sent by the server at the beginning of a result set, after a Query or Execute packet.
String packetType: "RowDescription"
List<FieldDescriptor> fields : the field descriptors (see below)
FieldDescriptor getFieldByName(String fieldName) : gets one specific field descriptor. Keep in mind that it is possible to have two fields with the same name in one result set, for instance if the result set spans multiple tables that have columns with the same name. In that case, this method will return the first one it finds.
FieldDescriptor getFieldByName(String schemaName, String tableName, String fieldName) : gets one specific field descriptor, if present.
String schemaName() : the name of the schema from which this field comes. Can be null if the field is derived.
String tableName() : the name of the table from which this field comes. Can be null if the field is derived.
long objectID() : the Postgres object ID of the table that contains the field, if any.
String fieldName : the name of the field.
boolean isComposite : true if the data type of the field is composite, meaning it's not a primitive type.
boolean isEnum : true if the data type of the field is an enum type.
boolean isRange: true if the data type of the field is a range type.
boolean isDomain: true if the data type of the field is a domain type.
boolean isPseudo: true if the data type of the field is a pseudo-type.
boolean isMultirange: true if the data type of the field is a multi-range type.
int attributeNumber : if the field comes from a table, the attribute number of the field in that table.
int dataTypeID : the Postgres object ID of the data type of the field.
int dataTypeSize : the size of the field, if relevant. Can be negative for variable sizes.
int typeModifier : the type modifier, which is type-dependent.Â
int formatCode : the format code, can be zero (text) or one (binary).