Commit Graph

953 Commits

Author SHA1 Message Date
Chris Cranford
b3ca33287a DBZ-1242 Issue warning when filters produce an empty schema 2019-06-05 13:31:25 -04:00
Gunnar Morling
246c1be305 DBZ-1283 Enforcing presence of database.server.name globally 2019-06-03 10:58:14 +02:00
Chris Cranford
5f0b44b4ec DBZ-1283 Only validate history topic name for affected connectors 2019-06-03 10:58:14 +02:00
Jiri Pechanec
4b64c8e447 DBZ-1295 3state snapshot for MySQL 2019-05-31 10:56:05 +02:00
Bartosz Miedlar
ead68b1b14 DBZ-1300 DDL that contains user are unparsable by antlr 2019-05-30 11:40:55 +02:00
Gunnar Morling
0c7763c68a DBZ-871 Simplifying test assertions 2019-05-30 08:51:28 +02:00
Jiri Pechanec
4209900731 DBZ-871 Test for multitable statement 2019-05-30 08:51:28 +02:00
Gunnar Morling
ca361bd122 DBZ-871 Clearly separating between DB and table events 2019-05-30 08:51:28 +02:00
Jiri Pechanec
e826599e2e DBZ-871 Add table(s) name to schema change event 2019-05-30 08:51:27 +02:00
Gunnar Morling
7759333fe3 DBZ-1092 Using ColumnNameFilter instead of Predicate<Column> 2019-05-29 15:49:49 +02:00
Jiri Pechanec
ab460c86af DBZ-1235 Return server name to legacy MySQL 2019-05-28 09:35:15 +02:00
Gunnar Morling
3377b96ca8 DBZ-1235 Removing redundant method 2019-05-28 09:35:15 +02:00
Jiri Pechanec
526e780513 DBZ-1235 Misc fixes 2019-05-28 09:35:15 +02:00
Jiri Pechanec
80afd4975a DBZ-1235 Changes missed in refactoring 2019-05-28 09:35:15 +02:00
Gunnar Morling
eef37cb567 DBZ-1235 Misc adjustments;
* Removing superfluous parameter from getSourceInfoStructMaker()
* JavaDoc
* Renaming field to "source.struct.version"
2019-05-28 09:35:15 +02:00
Gunnar Morling
8f28f323e7 DBZ-1235 Using Instant to represent timestamps internally;
Only "rendered" as epoch milli-seconds at the system boundaries.
2019-05-28 09:35:15 +02:00
Jiri Pechanec
6f6c8ddf06 DBZ-1235 Refactored to unify the code 2019-05-28 09:35:15 +02:00
Jiri Pechanec
0ec2d651fe DBZ-1235 Timestamp in ms for MySQL connector 2019-05-28 09:35:15 +02:00
Jiri Pechanec
f5757dbd9f DBZ-1235 Extract serverName to common source 2019-05-28 09:35:15 +02:00
Gunnar Morling
4ed8b4636c DBZ-1224 Completing implementation;
* Further unification of override handling;
* Undoing change related to SnapshotStatementFactory as it seems not needed
* Adding test
2019-05-27 08:44:42 +02:00
mokkara
b3de0250a9 DBZ-1224 Snapshot SELECT support for SQL Server 2019-05-27 08:44:42 +02:00
Chris Cranford
377728ef87 DBZ-1127 Synchronize MySQL grammar with upstream grammar. 2019-05-22 17:05:11 +02:00
Chris Cranford
778b394085 DBZ-1127 Synchronize MySQL grammar with upstream grammar. 2019-05-22 17:05:11 +02:00
Jiri Pechanec
c1c4d3d149 DBZ-683 After review changes 2019-05-22 14:52:06 +02:00
Jiri Pechanec
540196091c DBZ-683 Snapshot supports storing only whitelisted tables setting 2019-05-22 14:52:06 +02:00
Chris Cranford
1603ebda89 DBZ-1234 Remove support for adaptive time precision mode 2019-05-22 10:19:05 +02:00
Chris Cranford
e2c74111ad DBZ-1234 Removed deprecated configuration options 2019-05-22 10:19:05 +02:00
Gunnar Morling
7519623c58 DBZ-1244 Fixing formatting glitch 2019-05-21 15:53:55 +02:00
Jiri Pechanec
c8c6360095 DBZ-1244 Detecting unreplicated purged GTIDs;
The purpose of this change is to provide the same functionality for
when_needed snapshot for GTID enabled database like for non-GTID.
The non-GTID just relies on missing replication log to detect the
new snapshot needs to be triggered. This does not work in GTID
environment as we need to compare the GTIDs that are available on
the server with those we have already processed - stored in the
offsets.

If there is a set of GTIDs that were not replicated by Debezium
and at the same time have been already purged then we detect the
situation and trigger a new snapshot when required.

We thus

* Take all GTIDs ever processed by the server
* Filter out GTIDs that were processed by Debezium
* Compare them with purged GTID set
* If the interesction is not empty we know we have not replicated
transaction that have already been removed from the server
2019-05-21 15:51:17 +02:00
Jiri Pechanec
29c10c27ea DBZ-1276 Skip events upon connector restart 2019-05-21 10:38:41 +02:00
Chris Cranford
9afe06945e DBZ-736 Fixed compilation problem with duplicate test class. 2019-05-20 13:38:01 -04:00
Gunnar Morling
d35e401e34 DBZ-736 Removing obsolete MySqlDefaultValueTest;
* Removing old test for legacy parser
* Pulling Antlr-specific methods up to base class
* Renaming that one into MySqlDefaultValueTest
2019-05-20 13:38:01 -04:00
Gunnar Morling
3f0e2c7758 DBZ-1246 Removing obsolete exclusion of legacy parser during test 2019-05-20 16:38:03 +02:00
Jiri Pechanec
30c2df4f23 DBZ-1246 Convert unique index to primary key 2019-05-20 16:38:03 +02:00
Gunnar Morling
c72a2fb14d DBZ-844 Expanding test 2019-05-20 15:33:39 +02:00
Jiri Pechanec
d35c2ec347 DBZ-844 Use table charset for parsing string defaults 2019-05-20 15:33:39 +02:00
jcechace
d9657dab1a [DBZ-1273] Bumping JDBC and Mongo driver versions 2019-05-18 05:50:27 +02:00
Gunnar Morling
c7d2a35a0e DBZ-1264 Member ordering 2019-05-18 05:48:54 +02:00
Jiri Pechanec
a8f6533c66 DBZ-1264 Ignore unique index for non-monitored tables 2019-05-18 05:46:56 +02:00
Chris Cranford
f67ce1b8be DBZ-733 Consolidate parser tests 2019-05-17 13:18:24 -04:00
Chris Cranford
efa22016a8 DBZ-736 DBZ-733 Removed MySQL legacy parser and consolidate parser tests 2019-05-17 13:18:24 -04:00
Chris Cranford
373e508d70 DBZ-736 Remove MySQL legacy parser 2019-05-17 13:18:24 -04:00
Jiri Pechanec
13e5fe4537 DBZ-1228 Simplify error handling 2019-05-17 10:24:02 -04:00
Arkoprabho Chakraborti
ceb56c1c57 DBZ-1228 Changes as suggested in PR #867
Used multiple catch statements and handle in 1 branch.

Not using static modifier for keymanager.
2019-05-17 10:24:02 -04:00
Arkoprabho Chakraborti
b7526d537d DBZ-1228 MySQL connection with client authentication does not work
The SSL properties were being reset, and thus the authentication was failing on the second time.
When debezium connects to the database the first time in order to test the connections, the required parameters are all set. And thus the test passes.
After that the shutdown method is called that clears these properties, and the consecutive connection fails.

DBZ-1228: MySQL connection with client authentication does not work

Create and pass a socket factory that provides they keystore config

DBZ-1228: MySQL connection with client authentication does not work

Prevent forcing of SSL. Use SSL only if the required properties are set.

DBZ-1228: MySQL connection with client authentication does not work

Added better exception messages
2019-05-17 10:24:02 -04:00
Chris Cranford
9404eff794 DBZ-1226 Cleaned up tests 2019-05-01 18:37:09 -04:00
Gunnar Morling
2cd0eb17db DBZ-739 Removing obsolete method 2019-05-01 23:17:00 +02:00
Chris Cranford
46111505ed DBZ-1226 Fix test to validate enum/set options directly from antlr parsing. 2019-05-01 21:17:42 +02:00
Chris Cranford
a5fdfd9b24 DBZ-1226 Replace double single-quotes with a singular quote. 2019-05-01 21:17:42 +02:00
Chris Cranford
c6aa02f813 DBZ-1226 Add support for enum/set values that contain commas or escaped characters. 2019-05-01 21:17:42 +02:00
jchipmunk
72b06366fe Removing extra initialisation of "config" variable in PG config 2019-04-30 09:57:11 +02:00
jchipmunk
9fe033ce24 DBZ-1247 Specifying default snapshot fetch size for each connector config 2019-04-30 09:57:11 +02:00
Chris Cranford
83bf0f861a DBZ-1243 Fix handling of default value for datetime(0) 2019-04-25 17:31:22 +02:00
Jiri Pechanec
79afafcb0d DBZ-1249 Fix default value conversion for larger bits 2019-04-23 13:02:31 +02:00
krizhan
70c564b4c2 DBZ-212 Moved SERVER_NAME to RelationalDatabaseConnectorConfig 2019-04-23 12:29:44 +02:00
Gunnar Morling
5339dfc289 DBZ-1233 Formatting 2019-04-23 12:18:53 +02:00
Mathieu Rozieres
df79dfe751 DBZ-1233 MODE and others as MySQL column names
Add MODE to keywordsCanBeId to fix parse exception on so named columns
2019-04-23 12:18:40 +02:00
Gunnar Morling
f04147d67d DBZ-1208 Misc. clean-up;
* Adding reference to source of logic for setting up SSL socket factory
* Making method side-effect free
* Adding Jordon to COPYRIGHT.txt
2019-04-10 11:41:51 +02:00
jbragg
9ae2ebe329 DBZ-1208 Support for TLSv1.2;
Using accepted TLS protocol version  to set for BinaryLogClient
2019-04-10 11:41:13 +02:00
Jiri Pechanec
50fbe32113 DBZ-1220 Integration test for schema metadata 2019-04-10 11:20:09 +02:00
Jiri Pechanec
394eb74d0f DBZ-1220 FLOAT supports also single precision constraint 2019-04-10 11:20:09 +02:00
Jiri Pechanec
de9e80a58d DBZ-1143 Describe test values; improve tests 2019-04-10 10:59:02 +02:00
Jiri Pechanec
9c7f181174 DBZ-1143 Year adjustment configurable; test 19xx years 2019-04-10 10:59:02 +02:00
Jiri Pechanec
155e63adab DBZ-1143 Change default to Debezium-made conversion 2019-04-10 10:59:02 +02:00
Jiri Pechanec
16e731b748 DBZ-1143 2-digit years are converted by database by default 2019-04-10 10:59:02 +02:00
Steviep
7742e66e11 DBZ-1221 Creating new metric IsGtidModeEnabled 2019-04-09 14:52:18 +02:00
Steviep
94f71ea96e DBZ-1206 Adding new connector metric "numberOfFilteredEvents" 2019-04-09 14:46:54 +02:00
Chris Cranford
664c617661 DBZ-1203 Replace collectionOption rule with STRING_LITERAL token. 2019-04-08 11:16:42 +02:00
Chris Cranford
38e1cc56bb DBZ-1203 Fix parsing alter column with enum and character set 2019-04-08 11:16:42 +02:00
Joy Gao
08271ab444 DBZ-1218 Close JDBC connection in SnapshotReader for MySQL Connector 2019-04-08 08:47:43 +02:00
jchipmunk
7c0ae3ee20 DBZ-1212 SLF4J usage issues 2019-04-04 21:32:12 +02:00
Jiri Pechanec
b90274cc63 DBZ-1194 Convert nulls even for key 2019-03-29 21:20:53 +01:00
Jiri Pechanec
e6b956b36d DBZ-1204 Allow setting boolean as default value for TINYINT 2019-03-29 09:41:44 +01:00
ShubhamRwt
540a951211 DBZ- 362 Adding WhitespaceAfter check to Checkstyle 2019-03-28 09:24:11 +01:00
Jiri Pechanec
9b405aa84d DBZ-1039 Add missing spaces 2019-03-25 10:23:14 +01:00
shubham
8cca21e969 DBZ-1039 Make all ifs with braces 2019-03-25 10:23:14 +01:00
Jiri Pechanec
13f49f02a9 DBZ-1185 Use Boolean instead of Optional 2019-03-21 14:02:23 +01:00
Jiri Pechanec
958d207121 DBZ-1185 Skip unsupported tests for legacy parser 2019-03-21 14:02:23 +01:00
Jiri Pechanec
601f2008ac DBZ-1185 SERIAL is valid table/column id 2019-03-21 14:02:23 +01:00
Jiri Pechanec
76e7cd6664 DBZ-1185 Support for SERIAL default value 2019-03-21 14:02:23 +01:00
Jiri Pechanec
4d4741a207 DBZ-1185 Support for SERIAL type alias 2019-03-21 14:02:23 +01:00
Jiri Pechanec
915bdc9b7f DBZ-1186 Comma is not mandatory between table options 2019-03-21 11:22:07 +01:00
Jiri Pechanec
f3c0c94b40 DBZ-1188 Use string testing utility method 2019-03-21 10:38:32 +01:00
Jiri Pechanec
2df2a62ddf DBZ-1188 False pasitive warning for non-empty password 2019-03-21 10:32:06 +01:00
Jiri Pechanec
c740400587 DBZ-1184 Run the test as the last in testsuite 2019-03-18 12:12:12 +01:00
Jiri Pechanec
08bc66f8ef DBZ-1184 Simplify the test 2019-03-18 12:12:12 +01:00
Jiri Pechanec
a892a4eb6f DBZ-1184 Add test 2019-03-18 12:12:12 +01:00
Jiri Pechanec
41734d322e DBZ-1184 Support long purged GTID set 2019-03-18 12:12:12 +01:00
Jiri Pechanec
c7e0ff231b DBZ-1156 DBZ-1157 Upgrade to Kafka 2.1.1, Confluent Plat. 5.1.2 2019-02-21 09:39:05 +01:00
Gunnar Morling
510e9415f9 DBZ-1137 Some clean-up;
* Using existing justifyLeft() method
* Giving expected values as Duration
* Removing unused methods
2019-02-19 18:41:09 +01:00
Jiri Pechanec
0d60e60243 DBZ-1137 Default for TIME can be generic interval value 2019-02-19 13:40:01 +01:00
Jiri Pechanec
46aad6bcf5 DBZ-1147 Single quotes for string constant 2019-02-18 14:41:03 +01:00
Jiri Pechanec
14c1f30ca3 DBZ-1150 CHECK TABLE options are valid identifiers 2019-02-18 14:38:36 +01:00
Gunnar Morling
6a871e1b65 DBZ-983 Expanding test 2019-02-07 15:04:43 +01:00
Jiri Pechanec
eff78cae5a DBZ-983 Handle rounding of defaults 2019-02-07 15:04:43 +01:00
Jiri Pechanec
3487cf1bfb DBZ-983 BigDecimal default value scales according to column 2019-02-07 15:04:43 +01:00
Jiri Pechanec
6637f68861 DBZ-1123 Integration test for generated defaults 2019-02-07 14:06:49 +01:00
Jiri Pechanec
f65cbb7b7d DBZ-1123 Support generated colums 2019-02-07 14:06:49 +01:00
Gunnar Morling
99caad60d8 DBZ-1040 Changing resolution of "lag behind source" to milli-seconds;
Also using Duration/Instant types internally.
2019-02-04 12:39:07 +01:00
Gunnar Morling
913e0bc5c8 DBZ-1040 Making metadata provider a member of Metrics instead of passing it for each onEvent() call 2019-02-04 12:39:07 +01:00
Jiri Pechanec
a621e43d8b DBZ-1040 Expose transaction id 2019-02-04 12:39:07 +01:00
Jiri Pechanec
213d4a42ca DBZ-1040 Metrics for internal queue 2019-02-04 12:39:07 +01:00
Jiri Pechanec
d993ee265e DBZ-1040 Metrics for lag behind source, offset and tx count 2019-02-04 12:39:07 +01:00
jchipmunk
ff4e38cc46 DBZ-1112 Strings.join() doesn't apply conversation for first element
Replace:
- Integer.parseInt() to Integer.valueOf()
- Short.parseShort() and new Short() to Short.valueOf()
- Long.parseLong() to Long.valueOf()
2019-01-30 09:36:09 +01:00
Gunnar Morling
dd01d26d16 DBZ-1113 Pulling up test to MySqlDdlParserTest;
* Adding Joy Gao to COPYRIGHT.txt
* Typo fix
2019-01-30 09:22:05 +01:00
Joy Gao
030cf9ac14 DBZ-1113 allow adding multiple partitions in a single statement 2019-01-30 09:22:05 +01:00
Gunnar Morling
ccff79e07d DBZ-1105 Removing TableImpl#columnNames field 2019-01-28 10:23:56 +01:00
Gunnar Morling
c9c84afc9d DBZ-1099 Don't enque further records after request to stop 2019-01-25 10:19:19 +01:00
Gunnar Morling
95a13b5dd7 DBZ-1062 Fix MySQL trustStore password setting 2019-01-24 17:38:42 +01:00
Moira Tagle
01c779fb62 DBZ-175 Setting completed GTIDs in the final binlog reader context in setupUnifiedReader() 2019-01-24 10:43:44 +01:00
Moira Tagle
0e10c4af48 DBZ-175 Modifying BinlogReaderMetrics to take in the BinlogReader name 2019-01-24 10:43:44 +01:00
Gunnar Morling
884f2f40ea DBZ-175 Adding toString() for readers 2019-01-24 10:43:44 +01:00
Gunnar Morling
206cd06c24 DBZ-175 Using passed filters instead of rebuilding them in MySqlSchema 2019-01-24 10:43:44 +01:00
Gunnar Morling
ed4787bc8a DBZ-175 Misc. clean-up;
* Removing unused code (constructor, method and return value)
* Making ParallelSnapshotReader logger static
* Making RecordMakers#restartOffset final; avoiding unchecked cast
2019-01-24 10:43:44 +01:00
Gunnar Morling
965b789dab DBZ-175 Misc. adjustments;
* Dedicated functional interface for halting predicates
* Using semantic temporal types
* Typo fixes
* Exposing SnapshotNewTables through connector config
* Static loggers
* Adding Moira to COPYRIGHT.txt
2019-01-24 10:43:44 +01:00
Moira Tagle
a6d791cd8c DBZ-175 Initial implementation for support to whitelist/blacklist changes;
* The filter config is stored in offsets now, allowing to detect changes
to the config after a connector restart
* In that case, roughly the following steps are done:
- set up a binlog reader for the "old" tables
- set up a snapshot reader for the "new" tables
- if the snapshot is done, set up a binlog reader for the new tables
- if both binlog readers are in proximity of the logs head, stop them
and set up a single binlog reader for all tables
* That behavior is disabled by default for the purposes of testing and
can be enabled via new connector option "snapshot.new.tables"
* To facilitate connector restarts while whitelist/blacklist changes are
processed, separate restart offsets are added to the offsets
2019-01-24 10:43:44 +01:00
Jiri Pechanec
a638d5599b DBZ-1064 Use geometry instead of point for empty 2019-01-16 13:01:36 +01:00
Jiri Pechanec
ceb6c62721 DBZ-1064 Remove lazy fallback values 2019-01-16 13:01:36 +01:00
Jiri Pechanec
536e517c08 DBZ-1064 Geometry default value changes; fixes for default suppliers 2019-01-16 13:01:36 +01:00
Jiri Pechanec
bff7eea734 DBZ-1064 Use convert value template 2019-01-16 13:01:36 +01:00
Jiri Pechanec
920e0cbd3f DBZ-1064 Set default value only for non-nullable fields 2019-01-16 13:01:36 +01:00
Amit Sela
b0b7d942a3 DBZ-1073 Adding scale as schema parameter, if present 2019-01-11 15:40:30 +01:00
Grzegorz Kołakowski
91c72738c0 DBZ-1067 Add column blacklist field to RelationalDatabaseConnectorConfig 2019-01-09 18:13:26 +01:00
Gagan Agrawal
aff45c7dc6 DBZ-1063 Fixed schema parsing bug for handling unsigned max default value 2019-01-09 17:50:18 +01:00
Jiri Pechanec
03570a1a3a DBZ-1059 Support qualified table name in rename 2019-01-04 12:57:55 +01:00
Jiri Pechanec
9fcc25e4c5 DBZ-688 Uncommitted TX with temp tables are not stored in binlog in MySQL 8 2018-12-18 15:42:15 +01:00
LiuHanlin
c58031582d DBZ-1033 Mysql binlog reader lost data if restart task when last binlog event is QUERY event.
https://issues.jboss.org/browse/DBZ-1033
Reset restartEventsToSkip each time updating the restartBinlogPosition.
2018-12-17 13:42:01 +01:00
Gunnar Morling
1258beae55 DBZ-688 Moving differences related solely to geo-spatial test into the test class itself 2018-12-14 10:39:05 +01:00
Jiri Pechanec
c8f09f110b DBZ-688 Centralize MySQL differences in a single file 2018-12-14 10:39:05 +01:00
Jiri Pechanec
3c1da7d5d4 DBZ-688 Robust identification of geom collection type 2018-12-14 10:39:05 +01:00
Jiri Pechanec
12083452a5 DBZ-688 CURRNT_TIMESTAMP handled differently by MySQL 8 2018-12-14 10:39:05 +01:00
Jiri Pechanec
994f1b6e03 DBZ-688 Update geometry handling 2018-12-14 10:39:05 +01:00
Jiri Pechanec
8b83df82b5 DBZ-688 Ignore differences in generated metadata 2018-12-14 10:39:05 +01:00
Jiri Pechanec
974731b0ae DBZ-688 Support for test execution on MySQL 8 server 2018-12-14 10:39:05 +01:00
Jiri Pechanec
edec1c3090 DBZ-978 Added last event and captured tables metrics 2018-12-13 20:52:11 +01:00
Grzegorz Kołakowski
2a1934eeb1 DBZ-966 Make snapshot.delay.ms global property 2018-12-13 14:29:54 +01:00
Gunnar Morling
0075bbb17e DBZ-1028, DBZ-992 Expanding test 2018-12-12 23:05:29 +01:00
Jiri Pechanec
946d5c113d DBZ-1028 Literal "CSV" is not a special token 2018-12-12 23:05:07 +01:00
Jiri Pechanec
f3a87a039f DBZ-1008 Process first GTID after failover 2018-12-12 16:52:53 +01:00
Jiri Pechanec
edb116677d DBZ-960 Handle TX closing safely 2018-12-11 14:15:53 +01:00
Jiri Pechanec
2b2ff0754d DBZ-960 Run SnapshotReader in a single transaction 2018-12-11 14:15:53 +01:00
Gunnar Morling
68b6bc2efe DBZ-977 Adding log statement 2018-12-11 14:12:23 +01:00
Jiri Pechanec
6a88309f0e DBZ-977 ALTER TABLE filters works even for stored DDL 2018-12-11 14:12:23 +01:00
Jiri Pechanec
c5ecff4be6 DBZ-1005 Detect GTID by database setting not GTID set 2018-11-30 11:58:07 +01:00
Jiri Pechanec
415830003a DBZ-1016 Fix expected records count 2018-11-30 11:18:47 +01:00
Jiri Pechanec
2c3d2ee083 DBZ-1010 Handle error deserialization also in deserializers 2018-11-30 11:09:30 +01:00
Jiri Pechanec
9c81e54b9d DBZ-1006 Guard against NPE when start() fails 2018-11-23 16:13:50 +01:00
Gunnar Morling
62fe7d1ee7 DBZ-604 Making sure connector cleanly shuts down also if records are produced after polling loop has stopped 2018-11-23 14:36:05 +01:00
Gunnar Morling
2fd16a6bc0 DBZ-923 Misc. clean-up;
* Exposing new option via MySqlConnectorConfig
* Formatting
* Using GtidSet type in signatures
* Adding new option to configDef() and ALL_FIELDS
2018-11-22 10:54:10 +01:00
Eero Koplimets
972c08fcda fix checkstyle errors 2018-11-22 09:50:46 +01:00
Eero Koplimets
3e1eaef318 fix GTID_NEW_CHANNEL_POSITION description 2018-11-22 09:50:46 +01:00
Eero Koplimets
268101acd5 Change config from boolean to enum 2018-11-22 09:50:46 +01:00
Eero Koplimets
8844442459 DBZ-923 config to use earliest available gtid set from mysql server when connecting 2018-11-22 09:50:46 +01:00
Jiri Pechanec
b7e7bfa218 DBZ-990 Engine names can be quoted 2018-11-19 14:30:21 +01:00
Jiri Pechanec
530e2190a8 DBZ-757 Use antlr parser by default 2018-11-16 14:17:47 +01:00
Gunnar Morling
6bd4024618 DBZ-776 Misc. improvements;
* Renaming getTimeSinceLastEvent() to getMilliSecondsSinceLastEvent()
* Further unifying metrics implementation across connectors
* Emitting event in EventDispatcher also if event is filtered out
* Typo fixes
2018-11-16 08:52:07 +01:00
Gunnar Morling
818d5e4696 DBZ-776 Misc. clean-up 2018-11-16 08:52:07 +01:00
Jiri Pechanec
4510e2bbe6 DBZ-776 Cleanup after review 2018-11-16 08:52:07 +01:00
Gunnar Morling
360714a5a1 DBZ-776 Formatting and minor clean-up 2018-11-16 08:52:07 +01:00
Jiri Pechanec
b44c9fd04f DBZ-776 A first set of metrics implemented in new framework 2018-11-16 08:52:07 +01:00
Jiri Pechanec
4cdc3e669b DBZ-776 Extract metrics to a common code 2018-11-16 08:52:07 +01:00
Gunnar Morling
9994172860 DBZ-953 Pulling decimal mode handling up to RelationalDatabaseConnectorConfig;
Also using it in MySQL connector.
2018-11-08 09:23:28 +01:00
Jiri Pechanec
a5ff561deb DBZ-959 ADD PARTITION needs parenthesis 2018-11-02 07:14:42 +01:00
s0r01ed
fdab3386d4 DBZ-780 | Adding RENAME column semantics to rename a column 2018-10-24 20:20:04 +02:00
Deepak Barr
bc0712e240 DBZ-935 Error while parsing json column type for MySQL 2018-10-11 11:40:18 +02:00
Deepak Barr
4aaed1fd2b DBZ-927 Gracefully handling invalid default values for timestamp fields 2018-10-04 10:30:56 +02:00
jchipmunk
3ec0b3be81 DBZ-918 Moving connector identifier from SourceInfo to Module class 2018-10-04 09:00:13 +02:00
jchipmunk
05ba99bb0a DBZ-918 Adding Debezium connector field to source info
This will allow consumers to recognize the Debezium connector used for creating a given message, helping them to adjust their behavior for a variety of connectors.
2018-10-04 09:00:13 +02:00
Jiri Pechanec
3b51818864 DBZ-910 Verify also anonymous CONSTRAINT CHECK 2018-09-18 15:51:46 +02:00
Jiri Pechanec
3c5a67856b DBZ-910 Improve support for CHECK constraint 2018-09-18 15:51:46 +02:00
Jiri Pechanec
6fe48b7764 DBZ-769 Try to release table locks during exception 2018-09-18 10:49:48 +02:00
jchipmunk
b0feaf496a DBZ-633 Adding "field.blacklist" property for MongoDB connector
The "field.blacklist" configuration property is an optional comma-separated list of the fully-qualified names of fields that should be excluded from change event message values. Fully-qualified names for fields are of the form "databaseName.collectionName.fieldName.nestedFieldName", where "databaseName" and "collectionName" may contain the wildcard (*) which matches any characters.

Although the "field.blacklist" configuration property allows you to remove fields from the event values, the "_id" field is always included in the event’s key.
2018-09-14 12:54:11 +02:00
Jiri Pechanec
e6b28eeea4 DBZ-903 Support function named DATABASE() 2018-09-13 16:17:50 +02:00
Jiri Pechanec
8dd8327826 DBZ-901 Handle default date/time values without micros 2018-09-13 15:47:00 +02:00
Gunnar Morling
e1bbbd7992 DBZ-865 DBZ-878 Replacing invalid topic name characters with "_"; 2018-09-05 12:56:53 +02:00
Cliff Wheadon
685f72f988 DBZ-880 MySQLConnectorTask no longer always reports finding the binlog 2018-08-28 08:56:52 +02:00
Jiri Pechanec
ce0b3cc940 DBZ-872 Use converters in parser tests 2018-08-24 08:12:54 +02:00
Jiri Pechanec
2cbc35dac7 DBZ-877 Process newly added columns 2018-08-24 08:12:54 +02:00
Gunnar Morling
985999b4af DBZ-872 Making MySqlAntlrDdlParser#tableFilter final 2018-08-24 08:12:54 +02:00
Jiri Pechanec
63ee65bb7d DBZ-872 Honor filters in ALTER TABLE parsing 2018-08-24 08:12:54 +02:00
Jiri Pechanec
29af79057b DBZ-859 Test for MySQL heartbeat 2018-08-23 11:44:53 +02:00
Jiri Pechanec
985e03e7b5 DBZ-859 Force heartbeat after snapshot completion 2018-08-23 11:44:53 +02:00
Rao
49214491a7 DBZ-763 Correcting the JDBC driver class 2018-08-23 11:31:37 +02:00
Gunnar Morling
414ebe5f13 DBZ-870 Adding test 2018-08-23 11:19:27 +02:00
Jiri Pechanec
99ab131910 DBZ-870 Accept zero as valid date/time value 2018-08-23 11:19:27 +02:00
Jiri Pechanec
26b82c88bd DBZ-860 DBZ-869 Enable default value tests for antlr parser 2018-08-23 11:19:27 +02:00
Jiri Pechanec
e9f9e4eb8f DBZ-860 Fix for primary keys with default value 2018-08-23 11:19:27 +02:00
Jiri Pechanec
7e0639f733 DBZ-864 Add support for CHARSET database option 2018-08-22 13:31:34 +02:00
Gunnar Morling
207f1896ab DBZ-763 Cleaning up tests 2018-08-22 11:54:55 +02:00
Rao
d13ea932f7 DBZ-763 Upgrading Mysql driver to version 8.0.12 2018-08-22 11:54:55 +02:00
Gunnar Morling
3862083756 DBZ-860 Expanding test 2018-08-20 19:01:55 +02:00
Jiri Pechanec
c2f014750e DBZ-860 Handle implicitly NOT NULL PKs 2018-08-20 19:01:32 +02:00
PengLv
3d978d717b fix gitd bug
method isGtidModeEnabled when to check gtid mode ,it'll always be true
2018-08-14 09:46:16 +02:00
artiship
bb4ecc79e0 DBZ-849 Refact read mysql system variables methods 2018-08-14 09:43:49 +02:00
artiship
cdb6d7301c DBZ-855 Make BinlogReader.informAboutUnknownTableIfRequired log with tableId 2018-08-14 08:41:30 +02:00
Gunnar Morling
3061c1dc0b DBZ-815 Passing offset to Heartbeat#heartbeat();
That's simpler to grasp than the approach of passing a supplier lambda to the constructor.
Also it allows to pass on the offset via local variables instead of instance fields in some cases.
2018-07-25 14:49:52 +02:00
Jiri Pechanec
0e35439019 DBZ-40 Snapshotting and connector restart 2018-07-18 14:39:11 +02:00
Gunnar Morling
20db9299c5 DBZ-627 Unifying TopicSelector implementations 2018-07-18 12:36:07 +02:00
Gunnar Morling
1523f230ca DBZ-793 Using TableFilter consistently;
Only the MySQL connector's Filters class still uses Predicate for the time being, so to avoid to much merging trouble with DBZ-175.
2018-07-11 13:16:44 +02:00
Peter Goransson
448330fd07 DBZ-789 Expose more granular snapshot metrics via JMX 2018-07-09 12:30:41 +02:00
Gunnar Morling
9d52614b79 DBZ-771 Adding test for changing column type and default value 2018-07-03 11:55:20 +02:00
Gunnar Morling
99048365c9 DBZ-771 Unsetting default value when changing a column's type 2018-07-03 11:55:20 +02:00
Gunnar Morling
dcd6b01134 DBZ-644 Simplifying RelationalDatabaseSchema constructor;
Also retrieving logical name via CommonConnectorConfig#getLogicalName() in more places
2018-07-03 07:03:59 +02:00
Gunnar Morling
068aa85bd6 DBZ-644 Misc. clean-up and tests;
* Using parameter keys under "__debezium" namespace
* More expressive names
* Adding tests
2018-07-03 07:03:59 +02:00
Gunnar Morling
8744488c8a DBZ-644 Unifying retrieval of ColumnMappers in RelationalDatabaseSchema 2018-07-03 07:03:59 +02:00
orr.ganani
747184c572 DBZ-644 add JDBC data type as additional metadata to DBZ events, if configuration is opted in 2018-07-03 07:03:59 +02:00
Gunnar Morling
c4c8cbc3ab DBZ-773 Moving management of Tables to RelationalDatabaseSchema 2018-06-29 09:09:10 +02:00
Gunnar Morling
bbfbdf6fab DBZ-773 Moving management of table schemas to RelationalDatabaseSchema 2018-06-29 09:09:10 +02:00
Gunnar Morling
90a453b0ee DBZ-768 Checking boolean flag just once 2018-06-28 10:14:01 +02:00
Jiri Pechanec
b4b1f6976b DBZ-768 Fix formatting. Behaviour not dependent on a timezone 2018-06-28 07:24:09 +02:00
Jiri Pechanec
741debe18e DBZ-768 Default values with variable second fractions 2018-06-28 06:17:41 +02:00
Gunnar Morling
a3f42610ff DBZ-751 Adding tests for NUMERIC columns 2018-06-27 14:48:59 +02:00
Gunnar Morling
0600ccf213 DBZ-751 Incorporating review remarks;
* Expanding test
* Extracting constant for parameter key in tests
2018-06-27 14:48:59 +02:00
Gunnar Morling
a292b05a96 DBZ-751 Propagating DECIMAL column precision to Avro schemas 2018-06-27 14:48:59 +02:00
Jiri Pechanec
d61db8930d DBZ-770 Typename comparison should not be case dependent 2018-06-27 11:37:58 +02:00
Jiri Pechanec
ca6b1c9168 DBZ-743 Empty password for PostgreSQL and MySQL 2018-06-27 11:18:19 +02:00
Gunnar Morling
9d05fc2dc5 DBZ-767 Typo fix 2018-06-27 10:34:00 +02:00
Gunnar Morling
20f622dc40 DBZ-767 Adjusting test to more closely match original report 2018-06-27 10:33:41 +02:00
Jiri Pechanec
84f8bfb070 DBZ-767 Column should not be renamed when name is not changed 2018-06-27 09:14:59 +02:00
Jiri Pechanec
c14693c4ec DBZ-765 Reduce the amount of test prints 2018-06-25 10:45:46 +02:00
Gunnar Morling
f5629d9f0b DBZ-578 Interpret DATETIME columns using UTC;
This partly reverts the work previously done for DBZ-578,
where DATETIME columns (logical date + time values without TZ)
were shifted using the database's (or connection's) time zone.
Instead, the DATETIME values are interpreted using UTC again
with this change.
2018-06-20 15:58:19 +02:00
Gunnar Morling
42e313284a DBZ-20 Adjustment after rebase 2018-06-20 13:05:37 +02:00
Gunnar Morling
b83f1493a2 DBZ-20 Avoiding Optional as method parameter 2018-06-20 13:05:37 +02:00
Gunnar Morling
dce1aa29f1 DBZ-20 Oracle precision supports negative numbers 2018-06-20 13:05:37 +02:00
Gunnar Morling
603f02e70d DBZ-20 Excluding generated sources from CheckStyle 2018-06-20 13:05:37 +02:00
Gunnar Morling
d7e196a18e DBZ-20 Initial import of Oracle connector based on XStream 2018-06-20 13:05:37 +02:00
Gunnar Morling
5b1807b286 DBZ-734 Avoiding repetition of option name and default value 2018-06-18 09:51:01 +02:00
Jiri Pechanec
ec03b431c9 DBZ-734 Maven profile for testing old/new DDL parser 2018-06-18 06:02:29 +02:00
Gunnar Morling
9eb4b90ec9 DBZ-191 Adding record validations 2018-06-15 20:23:17 +02:00
Gunnar Morling
84dd36df46 DBZ-252 Misc typo fixes and clean-up 2018-06-15 16:43:30 +02:00
Gunnar Morling
b56d6efdf1 DBZ-252 Making DataTypeResolver immutable 2018-06-15 16:43:29 +02:00
Gunnar Morling
54ca30624d DBZ-252 Misc. improvements;
* Dedicated getter for DDL mode
* Using Objects#equal()
* Typo fixes
2018-06-15 16:43:29 +02:00
Gunnar Morling
6a6a8c9f99 DBZ-727 Initializing defaults for NUMERIC in Antlr parser 2018-06-15 16:43:29 +02:00
Gunnar Morling
759940b879 DBZ-252 Using existing parser implementation by default;
* Avoiding reflection for parser instantiation
* Making legacy parser instantiatable again
2018-06-15 16:43:25 +02:00
Jiri Pechanec
9580c8c290 DBZ-252 Rebase to master 2018-06-15 11:42:24 +02:00
rkuchar
5022933581 DBZ-252 add javadoc 2018-06-15 11:42:24 +02:00
rkuchar
c2e13b3b5f DBZ-252 minor refactor 2018-06-15 11:42:24 +02:00
rkuchar
98384822eb DBZ-252 refactor - move mysql antlr ddl parsser implementation into mysql-connector module 2018-06-15 11:42:24 +02:00
rkuchar
b8191963f7 DBZ-252 resolve todos 2018-06-15 11:42:24 +02:00
rkuchar
6812b4f7f0 DBZ-252 remove unused import 2018-06-15 11:42:24 +02:00
rkuchar
5c9e718436 DBZ-252 uncomment getting ddl parser instance from configuration + improve/refactor dataType resolver for ANTLR 2018-06-15 11:42:24 +02:00
rkuchar
99eac9a8e2 DBZ-252 some test fixes + separate ddl test for antlr parser 2018-06-15 11:42:24 +02:00
rkuchar
a4105adaaa DBZ-252 refactor skipping nodes in tree walk 2018-06-15 11:42:24 +02:00
rkuchar
1ae7859acd DBZ-252 parse create view 2018-06-15 11:42:23 +02:00
rkuchar
07212043b5 DBZ-252 test fixes + grammar fixes + some bug repairs in antlr parser 2018-06-15 11:42:23 +02:00
rkuchar
b4480c55b7 DBZ-252 parse database queries (create, alter, delete), parse name tokens without quotes, add new Mysql connector configuration field for choosing ddl parsing mode 2018-06-15 11:42:23 +02:00
rkuchar
32d181480d DBZ-252 fix troubles with generalized system variables + add new data types that was missing in grammar 2018-06-15 11:42:23 +02:00
rkuchar
5851d1f07d DBZ-252 fix initialization of system variables object + add default scope for variales in case that scope will no be set 2018-06-15 11:42:23 +02:00
rkuchar
9311c82bc5 DBZ-252 reformat code to not have anything after closing "}" 2018-06-15 11:42:23 +02:00
rkuchar
782ab75160 DBZ-252 move listener support from base to only legacy implementation, refactor system variables for possible use with other DBMSs + introduce data type resolver for antlr mysql parser 2018-06-15 11:42:23 +02:00
rkuchar
6a21702ac9 DBZ-252 finished alter table query listeners + new listener for rename table and create index 2018-06-15 11:42:23 +02:00
rkuchar
909668e14a DBZ-252 Mysql alter table by add column/s parser listener 2018-06-15 11:42:23 +02:00
rkuchar
1df0b2033c DBZ-252 Create new debezium-ddl-parser module 2018-06-15 11:42:23 +02:00
rkuchar
36e2f33bf6 DBZ-252 - extract creation of DdlParser interface 2018-06-15 11:42:23 +02:00
rkuchar
30cb9c3059 DBZ-252 - remove UNDERSCORE fragment from lexer 2018-06-15 11:42:23 +02:00
rkuchar
4a70d9bd59 DBZ-252 - case insensitive lexer 2018-06-15 11:42:23 +02:00
rkuchar
fb53cde565 DBZ-252 = add ANTLR gramatic for MySQLm setup build for it and exclude generated files from checkstyle 2018-06-15 11:42:23 +02:00
Jiri Pechanec
f9c84030b3 DBZ-727 Initializing defaults for NUMERIC 2018-06-14 16:39:48 +02:00
Jiri Pechanec
29f8891b4f DBZ-578 Process timestamps without timezones as in server timezone 2018-06-11 15:27:08 +02:00
luobo
3f7186b3e5 DBZ-191 Represent all-zero time value with null if column allows null 2018-06-11 10:01:22 +02:00
Peter Goransson
3bf3e2e989 DBZ-601 Exposing new config 2018-06-07 10:42:20 +02:00
Gunnar Morling
c5b907873b DBZ-601 Minor clean-up 2018-06-06 08:40:05 +02:00
Peter Goransson
f387f72474 DBZ-601 Snapshot delay implementation 2018-06-06 08:33:10 +02:00
luobo
5b33d81f00 DBZ-191 support default value of column in mysql 2018-06-04 10:43:53 +02:00
Gunnar Morling
61f576bb90 DBZ-706 Misc. clean-up 2018-06-01 11:23:30 +02:00
Stephen Powis
40d872f48c DBZ-706 General cleanup 2018-06-01 11:23:30 +02:00
Stephen Powis
867202e0ca DBZ-706 Slight refactoring / shuffling of code to validate source query field in snapshot tests 2018-06-01 11:23:12 +02:00
Stephen Powis
cc33fed16a DBZ-706 Adding option for showing source query in sourceInfo element 2018-06-01 11:23:12 +02:00
Gunnar Morling
8d7806e71a DBZ-693 Expanding test; updating connector option description 2018-05-28 12:35:47 +02:00
Jiri Pechanec
45bc7b1536 DBZ-693 On connect statements supported for PostgreSQL 2018-05-28 12:35:47 +02:00
Jiri Pechanec
f74a9fe059 DBZ-693 Initial SQL statements 2018-05-28 12:35:47 +02:00
Jiri Pechanec
fc107972f2 DBZ-598 Metrics expose the list of captured tables 2018-05-28 09:40:33 +02:00
Rao
15a90548fb DBZ-666 Supporting ordered snapshot using tables.whitelist config 2018-05-17 06:23:31 +02:00
vucina.ivan
cd78b873fc DBZ-670 Adding connect.keep.alive.interval.ms configuration option 2018-03-28 09:19:13 +02:00
Rao
1e1946d77e DBZ-639 Removing restriction for none snapshot locking mode so that it can be used for all snapshot modes 2018-03-22 10:36:01 +01:00
Jiri Pechanec
a84b7ca682 DBZ-667 Test for scientific value sent to binlog 2018-03-20 14:42:55 +01:00
Jiri Pechanec
2b5370de1a DBZ-667 Sceintific numbers parsing 2018-03-20 14:42:55 +01:00
Jiri Pechanec
40a527b6ea DBZ-592 Make snapshot/init-sync false instead of null 2018-03-19 13:19:34 +01:00
Maciej Bryński
b7f13213b2 DBZ-646 Enhancing DDL parser to support compression parameter used with
CREATE TABLE on TokuDB
2018-03-18 18:29:41 +01:00
Peter Goransson
21cdf77634 DBZ-640 Destroy / de-initialization for Readers 2018-03-16 10:15:08 +01:00
Jiri Pechanec
469199350f DBZ-660 Fix for CONSTRAINT UNIQUE syntax 2018-03-16 09:44:47 +01:00
Jiri Pechanec
a51322da0c DBZ-611 Removed superfluous conversion 2018-03-06 16:55:24 +01:00
Jiri Pechanec
937c8b82f8 DBZ-611 Removed misleading comment 2018-03-06 16:55:24 +01:00
Jiri Pechanec
424aefbbb4 DBZ-611 Decimal-> String supported for MySQL 2018-03-06 16:55:24 +01:00
Gunnar Morling
f055020613 DBZ-602 Typo fixes; adding a few test assertions 2018-03-06 15:38:59 +01:00
stephen powis
c11875994a DBZ-602 Adding new locking mode for bypassing table locks 2018-03-06 15:08:55 +01:00
Gunnar Morling
9b88e035f5 DBZ-641 Formatting 2018-03-02 09:05:07 +01:00
Satyajit Vegesna
e79e55d07f DBZ-641 Enhancing parser to support CREATE TABLE with PARTITION ... ENGINE=InnoDB 2018-03-02 09:00:31 +01:00
Gunnar Morling
d89f4e91c6 DBZ-632 Removing unused method parameter 2018-02-23 21:54:41 +01:00
Gunnar Morling
c35c1827ff DBZ-630 Refactoring around MySQL task context;
* Making relationship from MySqlTaskContext to MySqlJdbcContext has-a i
2018-02-21 12:04:41 +01:00
Gunnar Morling
eef1ad7c2a DBZ-630 Refactoring around MongoDB task context;
* Renaming ConnectorTaskContext to CdcSourceTaskContext
* Renaming ReplicationContext to MongoDbTaskContext
* Making relationship from MongoDbTaskContext to ConnectionContext has-a instead of is-a
2018-02-21 12:04:41 +01:00
Gunnar Morling
bb12e521f8 DBZ-630 Pulling up getClock() to ConnectorTaskContext 2018-02-21 12:04:41 +01:00
Gunnar Morling
8264c20cf6 DBZ-630 Unifying common start-up logic across connectors 2018-02-21 12:04:41 +01:00
Gunnar Morling
7fe45db831 DBZ-626 Renaming AvroValidator to SchemaNameAdjuster;
Making apparent that this functionality doesn't solely validate but returns a new name actually
2018-02-20 09:26:47 +01:00
Gunnar Morling
cddd5fcc8a DBZ-626 Passing schema validator as AvroValidator instance instead of Function 2018-02-20 09:26:47 +01:00
Jiri Pechanec
a08a00d46e DBZ-615 Init unset Decimal props to default values 2018-02-20 08:54:28 +01:00
Jiri Pechanec
a06465ae34 DBZ-629 Fixed intermittent test issues 2018-02-20 08:01:51 +01:00
Gunnar Morling
e895fff2ac DBZ-628 Using common properties for MySQL connector 2018-02-20 06:34:42 +01:00
Gunnar Morling
ab11f48843 DBZ-620 Creating envelope schemas only once per table type 2018-02-19 12:18:37 +01:00
Jiri Pechanec
2e4be4c5ee DBZ-278 Create topic only when needed 2018-02-13 16:48:42 +01:00
Jiri Pechanec
4541fc53c9 DBZ-278 Explicit history storage initialization 2018-02-13 16:48:42 +01:00
Jiri Pechanec
ecdce6529d DBZ-220 Null Heartbeat object. Messages contains key 2018-02-13 12:26:48 +01:00
Jiri Pechanec
682cabb84a DBZ-220 Generate heartbeat events in binlog thread 2018-02-13 12:24:51 +01:00
Jiri Pechanec
3c1ea8206b DBZ-220 Refactor heartbeat to a separate class 2018-02-13 12:24:51 +01:00
Jiri Pechanec
4a22e17b71 DBZ-220 Disable heartbeat by default 2018-02-13 12:22:18 +01:00
Jiri Pechanec
ad682e109d DBZ-220 Constatnts configurable, heartbeat independent of binlog 2018-02-13 12:22:18 +01:00
Jiri Pechanec
e6936616d9 DBZ-220 Send periodically messages to a heartbeat topic 2018-02-13 12:19:30 +01:00
Gunnar Morling
3e29591846 DBZ-582 Supporting TOMBSTONES_ON_DELETE option with MySQL connector 2018-02-13 10:19:18 +01:00
Gunnar Morling
e8fa7b887e DBZ-588 Typo fix and additional method comment 2018-02-09 14:16:53 +01:00
Jiri Pechanec
2710094d11 DBZ-588 Defensively protecting CUD events themeselves 2018-02-09 11:03:16 +01:00
Jiri Pechanec
e4c9cf7191 DBZ-588 Changed message wording 2018-02-09 11:03:16 +01:00
Jiri Pechanec
16f4726a31 DBZ-588 Fail on inconsistent schema 2018-02-09 11:03:16 +01:00
Gunnar Morling
712824e43f DBZ-593 Passing version explicitly from SourceInfos to base class instead of relying specific packaging structure 2018-02-02 13:16:43 +01:00
Jiri Pechanec
7ebee94169 DBZ-593 Add Debezium version to source in envelope 2018-02-02 13:16:43 +01:00
Gunnar Morling
3a281d1185 DBZ-595 Making sure resources are cleaned up when snapshotting fails;
* shutting down the snapshotting thread and the DB history producer client
  if the connector is stopped while trying to write to the history topic
* reducing the time that KafkaProducer#send() will block if Kafka isn't
  available; this will release the producer thread quicker in case the
  connector is stopped during snapshotting
* not returning from finally block (!) in case the TX is rolled back; This
  prevented the failed state to be set by the outer catch clause in execute()
2018-02-02 09:06:32 +01:00
Gunnar Morling
8821d89dfe DBZ-587 Making sure snapshot reader thread is removed 2018-02-01 10:04:20 +01:00
Jiri Pechanec
92740a3626 DBZ-587 Fix thread leak, thread names 2018-02-01 10:04:20 +01:00
Jiri Pechanec
9b592204ac DBZ-587 Centralize and unify thread management 2018-02-01 10:04:20 +01:00
Gunnar Morling
018a879d40 DBZ-583 Extracting a builder from ChainedReader, avoiding mutable state within its implementation 2018-01-30 08:59:41 +01:00
Jiri Pechanec
93cfb4f4cb DBZ-572 Transaction is completed also by XID event 2018-01-29 15:40:41 +01:00
Robert Coup
f9d90a482f DBZ-507 Expanding support for geometry types;
* Adding support for PostGIS geometry types
* Adding support for GEOMETRY, POLYGON and more in MySQL
* For all newly supported types, changes are represented using two new schema types Geometry and Geography, containing the WKB (binary geo data) ans srid (coord system identifier)
* The existing Point type also contains the new (optional) srid field
2018-01-24 16:51:49 +01:00
Jiri Pechanec
01577b40c3 DBZ-541 Only whitelisted tables are recorded in history 2018-01-24 14:43:57 +01:00
Peter Goransson
7d78357087 DBZ-443 Adding db-history recovery mode: schema_only_recovery 2018-01-23 09:17:39 +01:00
Gunnar Morling
7a7d43c237 DBZ-516 Returning control also from BlockingReader 2018-01-18 14:13:58 +01:00
Gunnar Morling
0c4190c493 DBZ-516 Using Duration instead of long in a few more places 2018-01-18 14:13:58 +01:00
Jiri Pechanec
24bdcaf059 DBZ-516 Return control to Connect periodically 2018-01-18 14:13:58 +01:00
Gunnar Morling
1d967a6d47 DBZ-392 Propagating value of tableIdCaseInsensitive 2018-01-17 11:21:02 +01:00
Gunnar Morling
4d1d016acb DBZ-392 Making table map and set dedicated classes just with the needed API 2018-01-17 11:21:02 +01:00
Jiri Pechanec
9f0f0fe5d4 DBZ-392 Support for MySQL running on lowercase filesystems 2018-01-17 11:21:02 +01:00
Jiri Pechanec
446b102ad9 DBZ-534 Using correct datattype in list lookup 2018-01-12 12:30:44 +01:00
Jiri Pechanec
0b269a6e41 DBZ-538 Improve invalid DDL statement reporting 2018-01-12 12:26:30 +01:00
Jiri Pechanec
374999ee45 DBZ-411 ROLLBACK TO savepoint is parseable 2018-01-11 09:19:11 +01:00
Jiri Pechanec
3d7cc6a7e3 DBZ-530 Multiple PARTITION defintions supported 2018-01-08 11:58:09 +01:00
Jiri Pechanec
42991d260f DBZ-524 RESTRICT in DROP COLUMN 2018-01-02 09:26:07 +01:00
Peter Goransson
5f3902d240 DBZ-522 Adding null check when encounting null TIME fields during snapshot 2018-01-02 07:00:03 +01:00
Jiri Pechanec
196f6b3571 DBZ-406 Fixing test, adding warning for disabled rollback 2017-12-13 14:12:27 +01:00
Gunnar Morling
06e72308d9 DBZ-406 Misc improvements;
* Making isReplayingEventsBeyondBufferCapacity() a "query method" only
* Using constant for buffer default size
* Misc. typo and doc fixes
* Removing unused variable
2017-12-13 14:08:11 +01:00
Jiri Pechanec
22dca4e498 DBZ-406 Buffering is disabled by default 2017-12-13 14:08:11 +01:00
Jiri Pechanec
5a5a85d920 DBZ-406 Support for look-ahead buffer with unlimited tx size
Also incorporates DBZ-405
2017-12-13 14:08:11 +01:00
Gunnar Morling
c88a521a52 DBZ-349 Avoiding need for map with overrides in config context 2017-12-13 12:34:30 +01:00
Andras Istvan Nagy
05a232d435 DBZ-349 refactoring to use a comma-separated list of tables in the snapshot.select.statement.overrides property and a separate config property for each override 2017-12-13 12:34:30 +01:00
Attila Szucs
c0d1c256ad DBZ-349 fix integration test 2017-12-13 12:34:30 +01:00
Andras Istvan Nagy
631c518d8e DBZ-349 Better support for large append-only tables by making the snapshotting process restartable 2017-12-13 12:34:30 +01:00
Jiri Pechanec
68f0a96a08 DBZ-461 Changed default bigint conversion to long 2017-12-02 21:04:29 +01:00
Gunnar Morling
db61ad2980 DBZ-491 Asserting offsets as per the given time and timezone (instead of now) 2017-12-01 10:55:43 +01:00
Gunnar Morling
79331608ae DBZ-342 Adding regression test for existing "adaptive" time handling mode 2017-11-30 09:07:30 +01:00
rkerner
c7ac481c43 [DBZ-342] fix broken MySQL data type "TIME" handling 2017-11-29 20:34:12 +01:00
Peter Goransson
f4d6af9429 DBZ-491 Normalizing date to UTC before asserting 2017-11-29 08:56:13 +01:00
Gunnar Morling
08310f9ea5 DBZ-483 Removing two unused methods from MySqlSchema 2017-11-24 17:04:01 +01:00
Jiri Pechanec
20a2cdfdea DBZ-476 Doubled quotes are parsed as escaped 2017-11-23 14:51:51 +01:00
Gunnar Morling
cc2afb3419 DBZ-473 Preventing unbounded polling in case connector is stopped during snapshotting 2017-11-21 11:24:05 +01:00
Jiri Pechanec
a1e0553b4d DBZ-475 Support for RENAME USER statement 2017-11-21 08:43:44 +01:00
Gunnar Morling
fe9222a633 DBZ-474 Adding Attila Szucs to COPYRIGHT.txt 2017-11-20 17:39:51 +01:00
Attila Szucs
07da3c8718 DBZ-474 Fix failure when COLLATE comes after NOT NULL 2017-11-20 17:39:47 +01:00
Gunnar Morling
6f9086d608 DBZ-217 Typo fix 2017-11-14 18:01:26 +01:00
Gunnar Morling
951abb5c62 DBZ-217 Making behavior for dealing with event deserialization failures configurable 2017-11-14 18:01:26 +01:00
Gunnar Morling
f705ae4ac6 DBZ-217 Handling exceptions ocurring during binlog event deserialization;
* Catching the exception and wrapping it into a pseudo INCIDENT event
* Logging the exception and the current SourceInfo state
2017-11-14 18:01:26 +01:00
Jiri Pechanec
55a252521f DBZ-447 Remove double initialization 2017-11-14 15:12:04 +01:00
Gunnar Morling
79a2e4a6c2 DBZ-396 Formatting and typo fix;
Also adding Peter to COPYRIGHT.txt
2017-11-14 11:37:28 +01:00
Peter Goransson
ba7478ffd7 DBZ-396 Adding BlockingReader to avoid high CPU utilization in
"snapshot_only" mode;

No binlog readers will be set up in this mode, causing the idle snapshot
reader to be polled with high frequency after it has done its work.
Therefore a blocking reader is added in that case, which prevents the
polling.
2017-11-14 11:32:27 +01:00
Jiri Pechanec
28258ece3f DBZ-260 Timestamp correctly handles timezones 2017-11-14 10:38:32 +01:00
Gunnar Morling
c4a29f6fb7 DBZ-437 Some clean-up 2017-11-14 09:40:54 +01:00
Jiri Pechanec
4d253d2987 DBZ-437 String tokens and SQL words are handled separately in procedure parsing 2017-11-14 09:40:54 +01:00
Jiri Pechanec
1611159a85 DBZ-415 Can parse embedded IFs, can parse IF with ( as first char 2017-11-14 09:00:58 +01:00
Jiri Pechanec
6db4e9b599 DBZ-425 Fix ALTER column for changing default value 2017-11-13 22:51:59 +01:00
Gunnar Morling
2744f54e9d DBZ-438 Renaming BufferedBlockingConsumer#flush() to close() to make clear it's onyl meant to be called once at the end 2017-11-13 14:19:39 +01:00
Jiri Pechanec
c905c7a558 DBZ-439 Support for PRECISION keyword 2017-11-13 13:58:53 +01:00
Jiri Pechanec
039566e717 DBZ-401 Log binlog reader position in case of exception 2017-11-03 09:12:09 +01:00
Jiri Pechanec
c1370556ff DBZ-428 TEXT datatype can have an optional length 2017-11-03 08:37:00 +01:00
Jiri Pechanec
e841cbd609 DBZ-429 Fixed signed default value handling 2017-11-03 06:13:05 +01:00
Jiri Pechanec
1fe753717f DBZ-412 Definition for column named column can be changed 2017-11-01 16:32:44 +01:00
Jiri Pechanec
decf822c65 DBZ-419 PK constraint name is optional 2017-10-30 17:31:08 +01:00
Gunnar Morling
ce16ef5eb3 DBZ-395 Reducing log level from info to debug 2017-10-26 11:31:55 +02:00
Jiri Pechanec
f93e1e9bcd DBZ-395 Make temp table regex stricter 2017-10-26 11:11:22 +02:00
Jiri Pechanec
1c6e652c71 DBZ-395 Filter out DROP TEMPORARY TABLE statements 2017-10-26 11:11:22 +02:00
Gunnar Morling
f86feaf9bd DBZ-408 Allowing for columns named "column" (escaped) in ALTER TABLE ADD/DROP... without COLUMN word 2017-10-26 10:20:25 +02:00
Gunnar Morling
1d7f41af26 DBZ-408 Consuming COLUMN token only for ALTER TABLE statements, so to support columns named "column" (escaped) in CREATE TABLE statements 2017-10-26 10:20:25 +02:00
Gunnar Morling
a38c4254f1 DBZ-402 Removing redundant call to initialize() 2017-10-19 21:43:35 +02:00
Randall Hauch
c71f6d2752 DBZ-402 Reader now has ability to initialize resource prior to starting
Since some Reader implementations are combinations of other Readers, it is sometimes necessary for Reader implementations to initialize resources up front and not wait until they are called. Thus, a new `initialize()` method is added to Reader that will, for the combination readers, initialize all of the readers right away.

This makes it easier to correctly register JMX metrics, for example, up front once all of the readers have been configured for use, rather than to do so upon construction when it is not clear that a particular Reader will be used after it is constructed.
2017-10-19 21:43:35 +02:00
Gunnar Morling
6a8e08db5d DBZ-363 Indentation fix; adding Ben Williams to copyright.txt 2017-10-18 10:31:00 +02:00
Ben Williams
a3b4fedd5f DBZ-363 Add support for BIGINT UNSIGNED handling for MySQL 2017-10-18 10:20:03 +02:00
Jiri Pechanec
875c3ac87a DBZ-336 Test for PAGE_CHECKSUM 2017-10-13 19:08:27 +02:00
Moira Tagle
4bcec0587a Fix inaccurate comment on MySQLSchema.tables method 2017-10-03 05:23:53 +02:00
Gunnar Morling
9958faee7b DBZ-378 Preventing NPE in MySqlConnectorTask#close() 2017-09-26 12:52:25 +02:00
LiuHanlin
4543c001b1 DBZ-359 Add support for dec and fixed for mysql ddl parser.
According to Mysql document, https://dev.mysql.com/doc/refman/5.7/en/numeric-types.html
keywords DEC and FIXED are synonyms for DECIMAL.
2017-09-19 09:12:09 +02:00
Gunnar Morling
99f39038bb DBZ-347 Formatting 2017-09-18 17:04:14 +02:00
Jiri Pechanec
38f8364647 DBZ-347 Simplified exception rethrowing 2017-09-18 17:02:21 +02:00
Jiri Pechanec
61ccefcc5c DBZ-347 Configurable behaviour for unknown DDL, failing by default 2017-09-18 17:02:21 +02:00
Jiri Pechanec
1c5326e731 DBZ-304 MySQL test conversion to dynamic database creation 2017-09-18 16:23:55 +02:00
Jiri Pechanec
7b9c29efe6 DBZ-210 Lock tables before starting tx in snapshot 2017-09-15 12:20:35 +02:00
Jiri Pechanec
81edc3d7ee DBZ-333 Filter database.history props out of JDBC URL 2017-09-15 11:45:53 +02:00
Jiri Pechanec
16671152f9 DBZ-346 Correctly parse MySQL merge tables 2017-09-15 10:03:44 +02:00
Jiri Pechanec
6fad4c62aa Added log statements for error events 2017-08-31 06:37:33 +02:00
Jiri Pechanec
8cb681f106 DBZ-219 Stop BinlogReaderClient background jobs 2017-08-29 14:55:04 +02:00
Satyajit Vegesna
b4a0ac0c35 DBZ-324 Support for PAGE_CHECKSUM=1 2017-08-17 08:56:53 +02:00
Gunnar Morling
4d90fb5154 DBZ-284 Removing some trailing whitespace 2017-06-13 17:10:29 +02:00
Omar Al-Safi
107a3a8b56 DBZ-284 Fix NPE when inserting a NULL in a POINT column 2017-06-13 15:33:37 +02:00
Gunnar Morling
46bc2ab38b DBZ-228 Avoiding some auto-boxing; extracting some additions to initialization time 2017-06-09 13:53:45 +02:00
Omar Al-Safi
730767f6c5 DBZ-228 Fix formatting issue 2017-06-09 13:53:45 +02:00
Omar Al-Safi
451bd95a75 DBZ-228 Add UNSIGNED BIGINT support 2017-06-09 13:53:45 +02:00