mirror of
https://github.com/oatpp/oatpp-postgresql.git
synced 2025-02-17 12:09:32 +08:00
Minor cleanup of PgArray
This commit is contained in:
parent
5301580346
commit
9916f6678b
@ -9,14 +9,14 @@
|
||||
|
||||
#include <libpq-fe.h>
|
||||
|
||||
// TODO: Assumes 64 bits for each element -- only valid for float64 and int64!
|
||||
struct PgElem {
|
||||
v_int32 size;
|
||||
v_int32 value[2];
|
||||
v_int32 size; // size of each element value (bytes)
|
||||
v_uint8 value[1]; // Beginning of value array -- dynamically sized
|
||||
};
|
||||
|
||||
// after https://stackoverflow.com/questions/4016412/postgresqls-libpq-encoding-for-binary-transport-of-array-data
|
||||
struct PgArrayHeader {
|
||||
PgArrayHeader() : ndim(0), _ign(0), oid(InvalidOid), size(0), index(0) {};
|
||||
v_int32 ndim; // Number of dimensions
|
||||
v_int32 _ign; // offset for data, removed by libpq
|
||||
Oid oid; // type of element in the array
|
||||
@ -26,6 +26,7 @@ struct PgArrayHeader {
|
||||
v_int32 index; // Index of first element
|
||||
};
|
||||
|
||||
// Layout of Postgres array in memory
|
||||
struct PgArray {
|
||||
PgArrayHeader header;
|
||||
PgElem elem[1]; // Beginning of (size, value) elements
|
||||
|
Loading…
Reference in New Issue
Block a user