Skip to content

SynchDB 1.1

Choose a tag to compare

@caryhuang caryhuang released this 16 Apr 23:42
· 320 commits to release-v1 since this release
b0cb9fe

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 NUMBER processing.

Object Mapping & Data Transformation

  • Added new synchdb_objmap table 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_attribute table that stores remote table attribute information
  • Added new synchdb_att_view view 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 by synchdb_add_extra_conninfo()
  • Added synchdb_del_conninfo() function to remove existing connector information

Configuration & Control

  • Added new GUC synchdb.error_handling_strategy to control error handling strategy (skip, exit, or retry)
  • Added new GUC synchdb.dbz_log_level to control the log level of Debezium runner engine
  • Added new schemasync snapshot 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_attribute table 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