#define PTYPE_CSV 1
#define PTYPE_GDAT 2
+#define PTYPE_STRUCT 3
#define CSVELEMENTS 1000
#define GDATELEMENTS 1000
struct csv {
gs_uint32_t numberfields;
gs_sp_t fields[CSVELEMENTS];
-};
-
-struct csv2 { // SSE accelerated CSV processor
- gs_uint32_t numberfields;
- gs_sp_t fields[CSVELEMENTS];
- gs_uint32_t field_lens[CSVELEMENTS];
- gs_uint8_t parsed[CSVELEMENTS];
+ gs_uint32_t field_lens[CSVELEMENTS];
};
struct gdat {
gs_uint8_t data[MAXTUPLESZ];
};
+struct packed {
+ void *values;
+ gs_sp_t *existence_bitmap;
+};
+
struct packet {
gs_uint32_t systemTime;
gs_uint32_t ptype; /* type of record e.g. PTYPE_CSV */
+ gs_schemahandle_t schema;
union {
struct csv csv; /* content of CSV record being processed */
- struct csv2 csv2;
struct gdat gdat;
+ struct packed packed;
} record;
};