Hi everyone,
I stumbled upon a problem with handling signals, but I'm not sure if I'm using them correctly or if it's a general issue.
I noticed it when I wanted to snapshot a table's data for a day. Since this took a very long time, I looked at the corresponding session in Oracle. The where clause from the signal wasn't used, but rather it was broken down to the IDs from the primary key.
Unfortunately, this doesn't work in our environment because we use different number ranges (depending on where a record comes from), and therefore a much too large amount of data is affected.
I then created a signal that only covers the actual range.
But it took a very long time here too. So I looked at the contents of the bind variable used to read the records.
That surprised me a lot.
I sent the following signal:
insert into debezium_signal values ( to_char(sysdate,'dd.mm.yyyy hh24:mi:ss'), 'execute-snapshot', '{"data-collections": ["''MYDB.WORLD''.IFADMIN.UNITS"], "type": "INCREMENTAL", "additional-condition":" ident between 249305212 and 249577412 "}');
But the bind variables were:
:1 -> 39113
: 2 -> 28647485511 (which was the maximum id at that time)
Does anyone have an idea what could be causing this?
Best regards
JB