Commit Graph

1284 Commits

Author SHA1 Message Date
Vojtech Juranek
a2110f7c02 DBZ-5042 Add DB name logging support into MySQL connector 2022-05-27 14:20:30 -04:00
Vojtech Juranek
f8d4307155 DBZ-5052 Send tombstones only when consumer is able to consume them
Change event consumer may specify if is able to consume tombstones or
not. If the it's not, don't send them. However, connector configuration
takes precence and thus cunsumer capability is taken into account only
when `tombstones.on.delete` is not explicitely configured for the
connector.

Also fix debezium server - setting notifier has to be done once embedded
config already exists, not before it.
2022-05-26 12:40:02 +02:00
harveyyue
3ada04b522 DBZ-3865 Debezium MySql connector does not capture floating point numbers with the right precision 2022-05-25 12:54:42 -04:00
Chris Cranford
7d8c9486d6 DBZ-5119 Move Heartbeat creation to ConnectorConfig & descendants 2022-05-25 09:59:59 +02:00
Chris Cranford
7ff7826743 DBZ-5119 Pull heartbeat.action.query support into debezium-core 2022-05-24 12:54:40 +02:00
Chris Lee
2a8456d21b DBZ-5123 data-collection regex snapshot signal 2022-05-24 12:46:28 +02:00
harveyyue
52ba58ccc3 DBZ-5098 Introduce a new field "ts_ms" to identify the process time for schema change event 2022-05-18 14:21:39 +02:00
Vojtech Juranek
80aad894a2 DBZ-5131 Use fetch size only in tests which need it
Cuncurrent reading and modification of MySQL table can result into MySQL
JDBC driver ArrayIndexOutOfBoundsException when it tried to merge table
fields. This is result fo caching parepared statements while table
schema is modified. It seems that caching of prepared statements is
triggered by using fetch size. Use it only in test which needs this
option to work properly and which don't do any schema changes.
2022-05-17 05:56:42 +02:00
harveyyue
10632a3489 DBZ-5134 java.lang.NumberFormatException: For input string: \"0.000000000000000000\" 2022-05-16 10:53:32 +02:00
Jiabao Sun
6a2071acee DBZ-5126 Clear tableMapEventByTableId on rotate event 2022-05-16 09:19:47 +02:00
Vojtech Juranek
fd6be945b5 DBZ-5099 Allow zero-length dates
When date is zero and binary protocol use comperssion, date has zero
length [1]:

    type to store a DATE, DATETIME and TIMESTAMP fields in the binary protocol.

    to save space the packet can be compressed:
    if year, month, day, hour, minutes, seconds and micro_seconds are all 0, length is 0 and no other field is sent

Allow zero-lenght date and return null if column is optional, epoch date
otherwise (this conforms to MySqlDefaultValueConverter.convertToLocalDate()).

[1] https://dev.mysql.com/doc/internals/en/binary-protocol-value.html#packet-ProtocolBinary::MYSQL_TYPE_TIME
2022-05-09 13:57:04 +02:00
Chris Cranford
65017dc2d6 DBZ-5100 Do not default database.server.id 2022-05-09 08:52:24 +02:00
Vojtech Juranek
dfd8afab7b DBZ-4939 Fall back to JDBC driver if we fail to read timestamp or date
MySQL protocol can change during connection and as a result our custom
field reader may fail. In such case fall back to JDBC to read the value.
This is workaround until proper solution, which will require bigger
refactoring, is implemented, see DBZ-5084 for more details.
2022-05-06 07:55:58 +02:00
Sergei Morozov
194934b74a DBZ-5075: Clean up Javadocs 2022-05-03 13:46:23 +02:00
Sergei Morozov
f6546e4d87 DBZ-5075: Remove unused legacy MySQL code 2022-05-03 13:46:23 +02:00
Sergei Morozov
1e8181e5c4 DBZ-5075: Fix typo in a private property name 2022-05-03 13:46:23 +02:00
harveyyue
7fbc53df9d DBZ-5078 Rename "Mysql" to "MySql" in related MysqlFieldReader interface 2022-05-02 07:21:47 +02:00
Debezium Builder
901825810a [maven-release-plugin] prepare for next development iteration 2022-04-28 13:51:13 +00:00
Debezium Builder
05dcb45647 [maven-release-plugin] prepare release v2.0.0.Alpha1 2022-04-28 13:51:12 +00:00
Vojtech Juranek
391f36c52f DBZ-5054 Wait for the MySQL to be fully started before starting tests 2022-04-27 08:49:43 -04:00
harveyyue
7f60baa6e1 DBZ-4998 Should store event header timestamp in HistoryRecord 2022-04-19 13:50:09 +02:00
LarsWerkman
dbcb6e27c8 DBZ-4983 fix incorrect sorted import 2022-04-14 14:39:40 +02:00
LarsWerkman
6522809719 DBZ-4983 Move CharsetMappingWrapper to MysqlConnection class and expose using a static method 2022-04-14 14:39:40 +02:00
LarsWerkman
fec5aef1ec DBZ-4983 Use correct Java encoding Charset in AbstractMysqlFieldReader 2022-04-14 14:39:40 +02:00
Anisha Mohanty
b57b5e66dd DBZ-4965 Remove JDBC legacy date time properties 2022-04-08 08:31:30 +02:00
Anisha Mohanty
7d92a137e8 DBZ-4950 Remove MySQL legacy implementation 2022-04-08 08:31:30 +02:00
Debezium Builder
4a6de64c25 [maven-release-plugin] prepare for next development iteration 2022-04-05 14:49:52 +00:00
Debezium Builder
683851fd90 [maven-release-plugin] prepare release v1.9.0.Final 2022-04-05 14:49:51 +00:00
Nenad Stojanovikj
2d89f296de DBZ-4933 Fix NPE on null column data in MySQL
When doing a snapshot on a MySQL database which has char type columns
(VARCHAR, TEXT, CHAR) and they are null, and a custom converter is
present, the MySQL reader throws an NPE.

This fix addresses the problem by returning an object from the `null`
value.

https://issues.redhat.com/browse/DBZ-4933
2022-04-01 08:36:05 +02:00
Jiri Pechanec
586657f715 DBZ-3541 Test scientific as string 2022-03-29 09:12:17 +02:00
Sergei Morozov
a0533227cb DBZ-3541 Test case for scientific notation 2022-03-29 09:12:17 +02:00
Sergei Morozov
d766d806af DBZ-3541 Round decimal default values of integer columns 2022-03-29 09:12:17 +02:00
Debezium Builder
ab7fe3b96a [maven-release-plugin] prepare for next development iteration 2022-03-25 16:45:06 +00:00
Debezium Builder
d19fc234ee [maven-release-plugin] prepare release v1.9.0.CR1 2022-03-25 16:45:06 +00:00
Sergei Morozov
b258674782 DBZ-3535: Introduce schema.name.adjustment.mode 2022-03-24 09:37:05 +01:00
Sergei Morozov
3a03ff0186 DBZ-3535: Remove unused EventDispatcher constructor parameter 2022-03-24 09:37:05 +01:00
Vojtěch Juránek
49d3a10f1e
DBZ-3949 Ignore DML records in binlog in MySQL connector;
In some cases (e.g. in some cases when MEMORY engine is used), DML
records can appear in binlog in spite of the fact it's set to ROW
format. Always ignore these records.


Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2022-03-23 08:12:02 +01:00
Vojtech Juranek
0163c07800 DBZ-4786 Avoid NPE when removing column which doesn't exists 2022-03-23 07:53:06 +01:00
harveyyue
e1706802a6
DBZ-4787 Improving MySQL SSL truststore/keystore property descriptions
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2022-03-18 09:11:23 +01:00
kate
4b2d5c29be DBZ-4878 Re-read incremental snapshot chunk on DDL event 2022-03-18 07:55:43 +01:00
harveyyue
044e454e0a DBZ-4832 Don't set truststore/keystore parameters to system variables 2022-03-15 11:25:28 +01:00
harveyyue
dac2e1350f DBZ-4841 Debezium Mysql connector can't handle CREATE INDEX IF NOT EXISTS (MariaDB) 2022-03-11 15:11:00 +01:00
harveyyue
ba3438c860 DBZ-4822 Mysql: Getting ERROR `Failed due to error: connect.errors.ConnectException: For input string: "false" 2022-03-11 10:22:43 +01:00
harveyyue
759e52c423 DBZ-4787 Skip some tests with SSL auth enabled 2022-03-11 10:10:18 +01:00
harveyyue
66d413c114 DBZ-4833 MySQL 5.7 - no viable alternative at input 'ALTER TABLE ORD_ALLOCATION_CONFIG CHANGE RANK' 2022-03-10 15:09:13 +01:00
Gunnar Morling
b46773e5e4 DBZ-4787 Making one more test pass with SSL auth enabled, removing another, now obsolete, one 2022-03-09 14:42:51 +01:00
Gunnar Morling
76b365e1cb DBZ-4787 Skipping one test when SSL authentication is enabled 2022-03-09 12:12:25 +01:00
Gunnar Morling
8896feb635 DBZ-4787 Adjusting several tests to run with SSL enabled 2022-03-09 11:24:49 +01:00
Gunnar Morling
7e987cd806 DBZ-4787 Simplifying the execution of tests with SSL authentication in the IDE;
When starting a MySQL test with -Ddatabase.ssl.mode=verify_ca, the right
defaults for truststore/keystore location and password are used, matching
the set-up created and executed by the Maven build.
2022-03-09 09:23:13 +01:00
Gunnar Morling
8125b7d8b8 DBZ-4787 Allowing to run entire MySQL test suite with SSL authentication 2022-03-09 09:23:13 +01:00