Hi jpechane
The ponly problem is - is there a concurrent access to the registry? I'd like to avoid adding synchronization to it if possible.
I am not aware of any concurrent access. My hope is that for the most part building the TypeRegistry up-front with these domain types solves 99% of the use cases for users. The only time that we'd mutate the TypeRegistry is when a new table is added with a new domain type at runtime. If we'd rather not make it mutable, could we add that as a limitation that the connector should be restarted after adding new domain types and before adding new objects that use said domain types?
have you checked the snapshot -e.g. JDBC? How does it behave in this case?
In this case we get a SpecialValueDecimal with a decimalValue.
could you please check the behaviour of having column.propagate.source.type set to one of columns with custom type?
Without any changes, what I observe is that the schema parameters for the Field are populated with:
__debezium.source.column.type=MONEY2
__debezium.source.column.length=2147483647
__debezium.source.column.scale=0
This should be resolved automatically by making sure that the MONEY2 domain type is in the TypeRegistry and that the right attribute type modifiers are being applied to the type so that the length, precision, and scale are being resolved and therefore can be propagated downstream when this is enabled.
Given that MONEY2 is defined as NUMERIC(12,2) in the above use case, I would expect it to then have these parameters defined as
__debezium.source.column.type=MONEY2
__debezium.source.column.length=12
__debezium.source.column.scale=2
Released