postgrejs
Version:
Professional PostgreSQL client NodeJS
30 lines (29 loc) • 761 B
JavaScript
import { DataTypeNames, DataTypeOIDs } from '../constants.js';
import { fastParseInt } from '../util/fast-parseint.js';
export const OidType = {
name: 'oid',
oid: DataTypeOIDs.oid,
jsType: 'number',
parseBinary(v) {
return v.readUInt32BE(0);
},
encodeBinary(buf, v) {
buf.writeUInt32BE(fastParseInt(v));
},
parseText: fastParseInt,
isType(v) {
return typeof v === 'number' && Number.isInteger(v) && !!DataTypeNames[v];
},
};
export const ArrayOidType = {
...OidType,
name: '_oid',
oid: DataTypeOIDs._oid,
elementsOID: DataTypeOIDs.oid,
};
export const VectorOidType = {
...OidType,
name: '_oidvector',
oid: DataTypeOIDs.oidvector,
elementsOID: DataTypeOIDs.oid,
};