<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Open Source on Vincenzo Santonastaso</title><link>https://vsantonastaso.github.io/open-source/</link><description>Recent content in Open Source on Vincenzo Santonastaso</description><generator>Hugo -- 0.154.0</generator><language>en-us</language><atom:link href="https://vsantonastaso.github.io/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrations of Debezium's MySQL parser from Positive Technology to Oracle's ANTLR grammar</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;The MySQL connector parsed DDL with a grammar from Positive Technologies that is no longer maintained, and the ANTLR team planned to deprecate it to avoid having several flavours of MySQL grammar.&lt;/p&gt;
&lt;p&gt;I migrated the connector to the Oracle MySQL grammar, which the ANTLR project maintains, and then fixed the DDL parsing edge cases that surfaced. I also wrote up the migration on the Debezium blog.&lt;/p&gt;</description></item><item><title>Bringing graph databases into Debezium with Neo4j</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Debezium had no support for graph databases, even though Neo4j is widely adopted and has shipped a Change Data Capture API since version 5.13.&lt;/p&gt;
&lt;p&gt;I am building the integration in both directions, and each step has a design document, an implementation and a runnable example. A single message transform maps Debezium change events from a relational database into Neo4j&amp;rsquo;s create, update and delete format. A second converter turns Neo4j change events into the Debezium envelope, so a Neo4j source can feed any Debezium sink such as the JDBC sink. The next step is a Neo4j source connector.&lt;/p&gt;</description></item><item><title>Hardening the Oracle MySQL grammar for production CDC</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;This is the ANTLR side of the Debezium MySQL migration. The connector now depends on the Oracle MySQL grammar in ANTLR&amp;rsquo;s shared grammars-v4 repository, so every gap in that grammar becomes a failure to parse a user&amp;rsquo;s schema.&lt;/p&gt;
&lt;p&gt;While migrating the connector I found cases where the grammar rejected valid MySQL syntax, and I fixed them upstream instead of patching them in Debezium, so every project that uses the grammar benefits.&lt;/p&gt;</description></item><item><title>Upgrading Debezium across SeaTunnel's CDC connectors</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;SeaTunnel&amp;rsquo;s MySQL, Oracle, PostgreSQL and SQL Server CDC connectors were all on Debezium 1.9.8. Jumping straight to 3.x would have been too risky, because every connector would have had to change at once.&lt;/p&gt;
&lt;p&gt;I started by refactoring the build so that each connector can depend on its own Debezium version.&lt;/p&gt;</description></item></channel></rss>