Compare commits
No commits in common. "main" and "v2.7.0.Alpha1" have entirely different histories.
main
...
v2.7.0.Alp
|
@ -60,12 +60,6 @@
|
||||||
#error Expecting timestamps to be represented as integers, not as floating-point.
|
#error Expecting timestamps to be represented as integers, not as floating-point.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if PG_VERSION_NUM >= 170000
|
|
||||||
#define TUPLE_ACCESS(x) x
|
|
||||||
#else
|
|
||||||
#define TUPLE_ACCESS(x) &x->tuple
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PG_MODULE_MAGIC;
|
PG_MODULE_MAGIC;
|
||||||
|
|
||||||
/* define a time macro to convert TimestampTz into something more sane,
|
/* define a time macro to convert TimestampTz into something more sane,
|
||||||
|
@ -628,13 +622,13 @@ static void pg_decode_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
|
||||||
rmsg.new_tuple =
|
rmsg.new_tuple =
|
||||||
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_new_tuple);
|
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_new_tuple);
|
||||||
tuple_to_tuple_msg(rmsg.new_tuple, relation,
|
tuple_to_tuple_msg(rmsg.new_tuple, relation,
|
||||||
TUPLE_ACCESS(change->data.tp.newtuple), tupdesc);
|
&change->data.tp.newtuple->tuple, tupdesc);
|
||||||
|
|
||||||
rmsg.n_new_typeinfo = rmsg.n_new_tuple;
|
rmsg.n_new_typeinfo = rmsg.n_new_tuple;
|
||||||
rmsg.new_typeinfo =
|
rmsg.new_typeinfo =
|
||||||
palloc(sizeof(Decoderbufs__TypeInfo*) * rmsg.n_new_typeinfo);
|
palloc(sizeof(Decoderbufs__TypeInfo*) * rmsg.n_new_typeinfo);
|
||||||
add_metadata_to_msg(rmsg.new_typeinfo, relation,
|
add_metadata_to_msg(rmsg.new_typeinfo, relation,
|
||||||
TUPLE_ACCESS(change->data.tp.newtuple), tupdesc);
|
&change->data.tp.newtuple->tuple, tupdesc);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case REORDER_BUFFER_CHANGE_UPDATE:
|
case REORDER_BUFFER_CHANGE_UPDATE:
|
||||||
|
@ -649,7 +643,7 @@ static void pg_decode_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
|
||||||
rmsg.old_tuple =
|
rmsg.old_tuple =
|
||||||
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_old_tuple);
|
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_old_tuple);
|
||||||
tuple_to_tuple_msg(rmsg.old_tuple, relation,
|
tuple_to_tuple_msg(rmsg.old_tuple, relation,
|
||||||
TUPLE_ACCESS(change->data.tp.oldtuple), tupdesc);
|
&change->data.tp.oldtuple->tuple, tupdesc);
|
||||||
}
|
}
|
||||||
if (change->data.tp.newtuple != NULL) {
|
if (change->data.tp.newtuple != NULL) {
|
||||||
elog(DEBUG1, "decoding new tuple information");
|
elog(DEBUG1, "decoding new tuple information");
|
||||||
|
@ -659,13 +653,13 @@ static void pg_decode_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
|
||||||
rmsg.new_tuple =
|
rmsg.new_tuple =
|
||||||
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_new_tuple);
|
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_new_tuple);
|
||||||
tuple_to_tuple_msg(rmsg.new_tuple, relation,
|
tuple_to_tuple_msg(rmsg.new_tuple, relation,
|
||||||
TUPLE_ACCESS(change->data.tp.newtuple), tupdesc);
|
&change->data.tp.newtuple->tuple, tupdesc);
|
||||||
|
|
||||||
rmsg.n_new_typeinfo = rmsg.n_new_tuple;
|
rmsg.n_new_typeinfo = rmsg.n_new_tuple;
|
||||||
rmsg.new_typeinfo =
|
rmsg.new_typeinfo =
|
||||||
palloc(sizeof(Decoderbufs__TypeInfo*) * rmsg.n_new_typeinfo);
|
palloc(sizeof(Decoderbufs__TypeInfo*) * rmsg.n_new_typeinfo);
|
||||||
add_metadata_to_msg(rmsg.new_typeinfo, relation,
|
add_metadata_to_msg(rmsg.new_typeinfo, relation,
|
||||||
TUPLE_ACCESS(change->data.tp.newtuple), tupdesc);
|
&change->data.tp.newtuple->tuple, tupdesc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -681,7 +675,7 @@ static void pg_decode_change(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
|
||||||
rmsg.old_tuple =
|
rmsg.old_tuple =
|
||||||
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_old_tuple);
|
palloc(sizeof(Decoderbufs__DatumMessage*) * rmsg.n_old_tuple);
|
||||||
tuple_to_tuple_msg(rmsg.old_tuple, relation,
|
tuple_to_tuple_msg(rmsg.old_tuple, relation,
|
||||||
TUPLE_ACCESS(change->data.tp.oldtuple), tupdesc);
|
&change->data.tp.oldtuple->tuple, tupdesc);
|
||||||
} else {
|
} else {
|
||||||
elog(DEBUG1, "no information to decode from DELETE because either no PK is present or REPLICA IDENTITY NOTHING or invalid ");
|
elog(DEBUG1, "no information to decode from DELETE because either no PK is present or REPLICA IDENTITY NOTHING or invalid ");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue