Commit Graph

1274 Commits

Author SHA1 Message Date
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
harveyyue
e7dc03fe6d DBZ-4787 Add mysql connector ssl it and build the relation mysql docker container 2022-03-09 09:23:13 +01:00
harveyyue
49963a5688 DBZ-4787 Not reading the keystore/truststore when enable mysql ssl configurations 2022-03-09 09:23:13 +01:00
harveyyue
da67ba332e DBZ-4823 Add event type for filtering trace message 2022-03-08 09:43:01 +01:00
Gunnar Morling
d20a6f00e7 DBZ-4801 Using JdbcConfiguration in JdbcConnection 2022-03-07 17:53:45 +01:00
Gunnar Morling
c1c322ecf0 DBZ-4801 Simplifying JdbcConnection constructors 2022-03-07 17:53:45 +01:00
Gunnar Morling
d7dfeed12d DBZ-4823 Consistent trace message in case of filtering 2022-03-07 14:41:21 +01:00
harveyyue
b30a8d8492 DBZ-4823 Log the tableId is null when filter out some tables 2022-03-07 12:44:58 +01:00
harveyyue
856ab85cef DBZ-4824 Expect the null value with snapshot CapturedTables metric when skipping snapshotting 2022-03-07 12:19:13 +01:00
Debezium Builder
fece16039c [maven-release-plugin] prepare for next development iteration 2022-03-03 17:00:08 +00:00
Debezium Builder
e0d8a0d809 [maven-release-plugin] prepare release v1.9.0.Beta1 2022-03-03 17:00:08 +00:00