Hi all,
Hope everyone is doing well.
Wanted to check something regarding debezium-sqlserver usage for CDC. Noticed that the bootstrap of the connectors manages mapping of default values based on schema definition. However, in case of sqlserver it looks like there are 2 things that wanted to get some clarification on and whether it needs a change to debezium-sqlserver or anything on our end.
Source: Client's SqlServer instance we don't have control over
Cannot parse column default value '(getdate())' to type 'datetime'. Expression evaluation is not supported.
This seems due to lack of functional defaults support in sqlserver part of debezium. Have noticed similar defaults being handled in oracle connector. Is this a matter of adding cases where the value expression is of functional defaults? If that's not the root cause, any help to get around the issue is much appreciated.
Cannot parse column default value '(0)' to type 'money'. Expression evaluation is not supported.
Regarding this, I've noticed that there was support introduced for literal types to deal with both single and double parenthesis during parsing so that defaults are extracted correctly. However, looks like for other types, like "money" in this instance only deals with double parenthesis and the value we are getting from schema is a single one. Because of which it's failing. Happy to be corrected on that if this is being interpreted wrongly. Otherwise, what would be way forward to manage parsing of that correctly.
For both the above cases, had a look at the source code and if they require changes to debezium-sqlserver codebase, happy to raise a PR. Also, any help with next steps to proceed on this would be much appreciated.
Cheers,
Mahesh.