removed unnecessary field
diff --git a/src/theta_sketch_pg_functions.c b/src/theta_sketch_pg_functions.c
index 3f84a90..edcfa99 100644
--- a/src/theta_sketch_pg_functions.c
+++ b/src/theta_sketch_pg_functions.c
@@ -329,9 +329,8 @@
} else if (stateptr->type == INTERSECTION) {
stateptr->ptr = theta_intersection_get_result(stateptr->ptr);
}
- bytes_out = theta_sketch_serialize(stateptr->ptr, VARHDRSZ + 2);
- ((char*)bytes_out.ptr)[VARHDRSZ] = IMMUTABLE_SKETCH;
- ((char*)bytes_out.ptr)[VARHDRSZ + 1] = stateptr->lg_k;
+ bytes_out = theta_sketch_serialize(stateptr->ptr, VARHDRSZ + 1);
+ ((char*)bytes_out.ptr)[VARHDRSZ] = stateptr->lg_k;
theta_sketch_delete(stateptr->ptr);
pfree(stateptr);
SET_VARSIZE(bytes_out.ptr, bytes_out.size);
@@ -357,9 +356,8 @@
bytes_in = PG_GETARG_BYTEA_P(0);
stateptr = palloc(sizeof(struct agg_state));
- stateptr->type = *VARDATA(bytes_in);
- stateptr->lg_k = *(VARDATA(bytes_in) + 1);
- stateptr->ptr = theta_sketch_deserialize(VARDATA(bytes_in) + 2, VARSIZE(bytes_in) - VARHDRSZ - 2);
+ stateptr->lg_k = *VARDATA(bytes_in);
+ stateptr->ptr = theta_sketch_deserialize(VARDATA(bytes_in) + 1, VARSIZE(bytes_in) - VARHDRSZ - 1);
MemoryContextSwitchTo(oldcontext);