SynchDB 1.1
Release Date: April 17, 2025
SynchDB 1.1 introduces Oracle connector support, enhanced data type transformation capabilities, and significantly improved core data processing engine. This update enhances performance through intelligent caching and optimized JSON parsing, while extending compatibility with PostgreSQL 16, 17, and IvorySQL 4.4.
Added
Connector Support
- added Oracle connector support.
- added support for PostgreSQL 16, 17 and IvorySQL 4.4
- added support for Oracle's variable size/scale data type
NUMBERprocessing.
Object Mapping & Data Transformation
- Added new
synchdb_objmaptable to store object mapping entries - Added new
synchdb_add_objamp()function to add object mappings for table names, column names, data types, and transform expressions - Added new
synchdb_reload_objmap()function to force connectors to reload object mappings - Added new
synchdb_del_objmap()function to disable and remove object mapping entries - Normalized all data type mapping entries to use lowercase letters
Metadata & Monitoring
- Added new
synchdb_attributetable that stores remote table attribute information - Added new
synchdb_att_viewview showing side-by-side comparison of data type, table and column name mappings - Added source timestamp, DBZ timestamp and PG timestamp information in
synchdb_get_stats
Connection Management
- Added
synchdb_add_extra_conninfo()function to configure extra SSL connection parameters - Added
synchdb_del_extra_conninfo()function to remove all extra parameters created bysynchdb_add_extra_conninfo() - Added
synchdb_del_conninfo()function to remove existing connector information
Configuration & Control
- Added new GUC
synchdb.error_handling_strategyto control error handling strategy (skip, exit, or retry) - Added new GUC
synchdb.dbz_log_levelto control the log level of Debezium runner engine - Added new
schemasyncsnapshot mode
Performance Optimizations
- Optimized DML parser to use cached hash table rather than accessing the catalog and rebuilding the hash at every change event
- DML parser now uses more efficient JSONB API calls for increased performance
- Optimized JNI calls to use cached JNI handle rather than recreating at every change event
- Enhanced batch completion marking by only marking the first and last change events within a batch
- Revamped data processing engine with more modular design to handle complex data type mappings
Changed
- When processing ALTER TABLE change events, SynchDB now only adds a primary key when the table itself has no primary key
- Removed the ability to configure connectors to connect to PostgreSQL databases other than where SynchDB is installed
- SynchDB now updates the new
synchdb_attributetable at the end of every DDL change event processing - Connectors now correct table names, column names, and data types when configured object mappings differ from current values
- Rule files have been replaced by
synchdb_add_objmap()utilities - All ID-based SQL function column definitions have changed data types from TEXT to NAME
- Removed the rulefile parameter from
synchdb_add_conninfo() - Non-native data types are now processed based on their category rather than all being treated as text
Fixed
- Fixed an issue where SPI update or delete could fail when only including primary key fields in WHERE clause
- Fixed an issue with ALTER TABLE errors when attempting to add duplicate primary keys
- Fixed an issue where SynchDB occasionally incorrectly looks up column schema values from JSON change events
- Fixed an issue in 'skip on error' mode causing panics due to error stack overflow
- Fixed an issue in ALTER TABLE ADD and DROP column operations not recognizing column name mappings in PostgreSQL