(message: Message)
| 175 | } |
| 176 | |
| 177 | export function parseRowDescriptionMessage(message: Message): RowDescription { |
| 178 | const column_count = message.reader.readInt16(); |
| 179 | const columns = []; |
| 180 | |
| 181 | for (let i = 0; i < column_count; i++) { |
| 182 | // TODO: if one of columns has 'format' == 'binary', |
| 183 | // all of them will be in same format? |
| 184 | const column = new Column( |
| 185 | message.reader.readCString(), // name |
| 186 | message.reader.readInt32(), // tableOid |
| 187 | message.reader.readInt16(), // index |
| 188 | message.reader.readInt32(), // dataTypeOid |
| 189 | message.reader.readInt16(), // column |
| 190 | message.reader.readInt32(), // typeModifier |
| 191 | message.reader.readInt16(), // format |
| 192 | ); |
| 193 | columns.push(column); |
| 194 | } |
| 195 | |
| 196 | return new RowDescription(column_count, columns); |
| 197 | } |
no test coverage detected