Commit Graph

569 Commits

Author SHA1 Message Date
Chris Cranford
52906cf154 DBZ-3328 Avoid copying in Oracle LogMiner DML parser 2021-06-02 12:18:48 +02:00
Chris Cranford
ae9a32ab83 DBZ-3565 Make log.mining.history.xxx options internal 2021-06-02 10:47:54 +02:00
Chris Cranford
fd5afb04ea DBZ-3565 Fix formatting 2021-06-02 10:47:54 +02:00
Chris Cranford
eb22eaf85f DBZ-3565 Always use NeverHistoryRecorder if retention hours are 0 2021-06-02 10:47:54 +02:00
Chris Cranford
68c2c40097 DBZ-3565 Rename Oracle LogMiner history retention hours option
* Moved option to `log.mining.` namespace rather than `database.`
* Updated the documentation and field description accordingly.
2021-06-02 10:47:54 +02:00
Chris Cranford
9a5d48524a DBZ-3556 Remove ByteBuffer usage and refactor
* Combines BLOB chunks into a single hex-string for conversion
* Moved several strings to static variables
2021-05-31 10:03:24 +02:00
Gunnar Morling
28e36d55b1 DBZ-3554 Formatting 2021-05-26 13:04:25 +02:00
Chris Cranford
abb19d7437 DBZ-3554 Exclude ORA_TEMP_% tables from LogMiner DDL detection 2021-05-26 12:56:09 +02:00
Gunnar Morling
50bfd93e64 DBZ-3556 Moving getHexToRawByteArray() to value converters 2021-05-26 09:10:55 +02:00
Chris Cranford
901a74e604 DBZ-3556 Reduce database round-trip for LOB handling 2021-05-26 08:56:57 +02:00
Jiri Pechanec
39df21cdc1 DBZ-3460 New Oracle version in README 2021-05-25 08:02:56 +02:00
Patrick Chu
9bdbec995f DBZ-3545 Check for "IS NULL" in SelectLobParser 2021-05-21 10:13:16 +02:00
Debezium Builder
ead4ee7226 [maven-release-plugin] prepare for next development iteration 2021-05-20 19:07:44 +02:00
Debezium Builder
9e16df7d4b [maven-release-plugin] prepare release v1.6.0.Beta1 2021-05-20 19:07:44 +02:00
Chris Cranford
172c17d207 DBZ-2948 Fix IndexOutOfBoundsException with LOB select parser 2021-05-20 08:21:08 +02:00
Chris Cranford
754462a436 DBZ-2948 Fix potential null value being assigned to offset SCN 2021-05-20 08:21:08 +02:00
Chris Cranford
4aeb6069a3 DBZ-814 Ignore unsupported column types 2021-05-20 08:21:08 +02:00
Chris Cranford
8306bb5f15 DBZ-2948 Increase size of large CLOB/BLOB values 2021-05-20 08:21:08 +02:00
Chris Cranford
467a7f21f6 DBZ-2948 Implement BLOB/CLOB support for Oracle Xstream 2021-05-20 08:21:08 +02:00
Chris Cranford
fb7378ef52 DBZ-2948 Fix formatting 2021-05-20 08:21:08 +02:00
Chris Cranford
49703d9dc9 DBZ-2948 Implement BLOB/CLOB support for Oracle LogMiner 2021-05-20 08:21:08 +02:00
Chris Cranford
837a70f131
DBZ-3472 Relax retry logic for "No more data to read from socket"
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
2021-05-20 07:58:31 +02:00
Chris Cranford
d147d1f517
DBZ-3240 Remove database.tablename.case.insensitive deprecated option 2021-05-19 20:44:59 +02:00
Chris Cranford
d5c8dcff9f DBZ-3539 Mark xstream dependency scope as provided 2021-05-19 17:22:27 +02:00
Gunnar Morling
50c285031a
DBZ-3456 Minor clean-up 2021-05-19 13:42:03 +02:00
Thomas Aregger
d1670b636c
DBZ-3456 Timezone difference not considered in LagFromSourceInMilliseconds calculation;
* Retrieve v$logmnr_contents.change_time in UTC
* Respect time zones when calculating time difference
* Allow constructors to be annotated with VisibleForTesting
2021-05-19 13:41:02 +02:00
Chris Cranford
118cee24a7 DBZ-3256 Formatting 2021-05-19 09:40:19 +02:00
Chris Cranford
81190df6a8 DBZ-3256 Document query fragments 2021-05-19 09:40:19 +02:00
Chris Cranford
b7c1d798a3 DBZ-3256 Consolidate Oracle redo/archive log queries
* Moves de-duplication to database using SQL query, i.e. no duplicate SCN ranges
* Provides a consistent view of logs rather than relying on multiple queries
2021-05-19 09:40:19 +02:00
Chris Cranford
ab2c3f41e6 DBZ-3533 Drop tables after signal tests concluded 2021-05-18 14:24:54 -04:00
Chris Cranford
a33af6a2d7 DBZ-2916 Fix test failures 2021-05-18 13:53:43 -04:00
Thomas Aregger
2d87fa9b3d DBZ-3482 Parse timestamps with short form for months with locale "en" 2021-05-18 11:05:13 -04:00
Thomas Aregger
0027eb9f9c DBZ-3482 Add missing format model
When the format model is omitted, the default is used. The default is determined from NLS settings
2021-05-18 11:05:13 -04:00
Thomas Aregger
5009a9d586 DBZ-3482 Change date string to match provided format model 2021-05-18 11:05:13 -04:00
Thomas Aregger
f31909ab12 DBZ-3482 Use format model for DATE data types that is independent of clients NLS settings 2021-05-18 11:05:13 -04:00
Chris Cranford
9b011c75a3 DBZ-3322 Suggested test case change 2021-05-18 15:49:19 +02:00
Chris Cranford
967b945e0f DBZ-3322 Bubble up exceptions from RowMapper 2021-05-18 15:49:19 +02:00
Chris Cranford
00d75c282b DBZ-3322 Handle Oracle partially committed transactions 2021-05-18 15:49:19 +02:00
Chris Cranford
b13cbb1077 DBZ-2916 Add support for Oracle DDL statement parsing 2021-05-18 14:58:20 +02:00
Chris Cranford
0c8c0255a9 DBZ-3377 Restart Oracle connector on ORA-01291, missing logfile 2021-05-17 11:01:25 +02:00
Chris Cranford
d5bf7a3c0b DBZ-832 Add Oracle test for table without primary key 2021-05-13 06:50:15 +02:00
John Wu
05ce63e06a DBZ-3516 LogMining redo log switch not being detected 2021-05-12 14:40:16 -04:00
Chris Cranford
8f953dc9fe DBZ-3400 Remove Oracle Antlr DML parser 2021-05-11 17:56:55 +02:00
Chris Cranford
1d46cdb6b7 DBZ-3332 Limit oldest archive log query to only active records 2021-05-11 12:42:49 +02:00
Debezium Builder
4dd3a146ca [maven-release-plugin] prepare for next development iteration 2021-05-06 02:40:15 -04:00
Debezium Builder
b3c5bb281c [maven-release-plugin] prepare release v1.6.0.Alpha1 2021-05-06 02:40:15 -04:00
Gunnar Morling
dc02b896cd DBZ-3449 Moving QA releated plug-ins to separate profile, so to avoid loading them at all 2021-04-28 15:14:05 +02:00
Gunnar Morling
2088c035b1 DBZ-3449 Adding "quick" profile 2021-04-26 06:09:14 +02:00
kewenchao
47f380b565 DBZ-3397 Avoiding exception if system language is not English 2021-04-20 09:14:36 +02:00
Patrick Chu
e37abe5f92 DBZ-3413 Add additional unit tests for insert and update 2021-04-19 08:53:19 -04:00
Patrick Chu
ecae5b6b91 DBZ-3413 Handle double single quotes in LogMinerDmlParser
Double single quotes are treated as 2 quotes instead of 1 escaped quote in the WHERE clause parsing function.
2021-04-19 08:53:19 -04:00
Chris Cranford
7bd3e51e12 DBZ-1721 Fix DDL ParserException ID NUMBER(4) GENERATED BY
* Sync Oracle DDL grammar with latest upstream changes
* Implemented identity sequence spec for auto-generated column types
* Added Oracle examples to DDL parser project
* Corrected syntax failure after syncing grammar with upstream
2021-04-08 13:23:23 +02:00
Chris Cranford
bf0138064b DBZ-3365 Use Instantiator implementation 2021-04-08 11:56:35 +02:00
Chris Cranford
e5f8491fbb DBZ-3365 Fix formatting 2021-04-08 11:56:35 +02:00
Chris Cranford
c406527ccb DBZ-3365 Remove unused imports 2021-04-08 11:56:35 +02:00
Chris Cranford
0f35b0455d DBZ-3365 Allow building Oracle connector on CI 2021-04-08 11:56:35 +02:00
Debezium Builder
8a88ba9b45 [maven-release-plugin] prepare for next development iteration 2021-04-08 04:04:00 -04:00
Debezium Builder
74152afe74 [maven-release-plugin] prepare release v1.5.0.Final 2021-04-08 04:04:00 -04:00
Chris Cranford
f95a2f877e DBZ-3367 Correctly parse function string-args with parenthesis characters 2021-03-31 12:44:55 +02:00
Chris Cranford
776180a0df DBZ-3347 Emit schema change events with correct source partition 2021-03-30 07:26:06 +02:00
Chris Cranford
dd24a94a62 DBZ-2911 Fix Oracle test compatibility 2021-03-30 05:53:38 +02:00
Chris Cranford
705b98f79f DBZ-3341 Handle multiple local locations 2021-03-26 18:48:02 +01:00
Chris Cranford
6b7c7bc252 DBZ-3341 Only mine local destination archive logs 2021-03-26 18:48:02 +01:00
Chris Cranford
aee3550dc6 DBZ-3348 Oracle LogMiner can incorrectly resolve starting SCN is available 2021-03-26 08:22:34 +01:00
Chris Cranford
23baf34ee1 DBZ-3344 Fix Oracle test failures 2021-03-25 11:06:31 +01:00
Debezium Builder
6b4d88bb51 [maven-release-plugin] prepare for next development iteration 2021-03-24 06:35:02 -04:00
Debezium Builder
c578715233 [maven-release-plugin] prepare release v1.5.0.CR1 2021-03-24 06:35:02 -04:00
Chris Cranford
d8f0d2ba5a DBZ-2537 Rework Oracle's streaming metrics
* Consolidated LogMinerMetrics and TransactionalBufferMetrics
* Renamed LogMinerMetrics to OracleStreamingChangeEventSourceMetrics
* Standardized metrics method names & types
* Updated documentation to reflect metrics changes
2021-03-23 15:25:14 -04:00
Chris Cranford
1d9594ed88 DBZ-3290 Suggested changes
* Use {debezium-version} variable in examples
* Correct typos
* Document non-support for CLOB/BLOB data types
* Fix rendering of <= with unicode character
* Moved XStream documentation into separate section
* Moved database.oracle.version to internal
* Removed reference to database.oracle.version
* Resolve XStream POS version from OracleDatabaseVersion as fallback
  when internal.database.oracle.version is not supplied.
2021-03-23 15:25:14 -04:00
Jiri Pechanec
9e994967ed DBZ-3257 Use new method in tests 2021-03-23 09:48:54 +01:00
Chris Cranford
6d686d7543 DBZ-3257 Use DebeziumException instead 2021-03-23 06:12:04 +01:00
Chris Cranford
9aa1ba1471 DBZ-3257 Revert Clob behavior for Oracle LogMiner to avoid null values
* Snapshot now emits clob/nclob values correctly (all adapters)
* Fixed bug with LogMiner emitting clob/nclob values when using new parser
2021-03-23 06:12:04 +01:00
Chris Cranford
b85044cb14 DBZ-3319 Recalculate current log sequence 2021-03-22 20:04:00 -04:00
Chris Cranford
d75319a3ca DBZ-3319 Fix race condition with log switch detection
Rather than relying on log switch detection by looking at the name
of the current log file, this change uses the unique and always
increasing sequence to derive the log switch state to avoid any
type of ambiguity.
2021-03-22 09:04:54 +01:00
Chris Cranford
a8a22bd828 DBZ-3268 Remove unused code 2021-03-19 18:07:12 +01:00
Chris Cranford
fae784001e DBZ-3268 Emit TIMESTAMP WITH LOCAL TIME ZONE columns in UTC 2021-03-19 18:07:12 +01:00
Chris Cranford
d47db6e098 DBZ-3268 Use dedicated connection for XStream API
Once a connection is bound to XStream API, issuing any other type of query
or operation can lead to failures due to concurrent use of the connection
by Debezium and XStream's native methods.  This commit adds a dedicated
connection used specifically by XStream to avoid this concurrency issue,
so that data types such as TIMESTAMP WITH LOCAL TIME ZONE works.
2021-03-19 18:07:12 +01:00
Chris Cranford
7a98fcd96c DBZ-3268 Implement timestamp with local timezone support 2021-03-19 18:07:12 +01:00
Chris Cranford
6b8f61386b DBZ-3268 Fix Oracle time.precision.mode support 2021-03-19 18:07:12 +01:00
Chris Cranford
31ffa5e816 DBZ-2994 Fix ClassCastException & compilation error 2021-03-18 22:23:41 -04:00
Chris Cranford
41b571fb37 DBZ-3292 Apply suggested changes 2021-03-18 21:59:38 +01:00
Chris Cranford
dc92001676 DBZ-3292 Prefer archived logs over redo logs for same SCN range. 2021-03-18 21:59:38 +01:00
Jiri Pechanec
495be2659b DBZ-2511 Dedicated logger for schema name adjuster 2021-03-18 14:42:34 +01:00
Chris Cranford
97da4333a3 DBZ-2994 Return current SCN as string in LogMinerMetrics 2021-03-17 20:37:24 +01:00
Chris Cranford
bd7adb40ed DBZ-2994 Fix test failures for Oracle XStreams 2021-03-17 20:37:24 +01:00
Chris Cranford
36f17a7630 DBZ-2994 Removed Scn.ZERO and Scn.INVALID in favor of Scn.NULL 2021-03-17 20:37:24 +01:00
Chris Cranford
f91a01fb86 DBZ-2994 Use null default rather than Scn.ZERO 2021-03-17 20:37:24 +01:00
Chris Cranford
da02ca2a23 DBZ-2994 Suggested changes 2021-03-17 20:37:24 +01:00
Chris Cranford
f3412c02da DBZ-2994 Removed SCN2_KEY and COMMIT2_SCN_KEY from offsets 2021-03-17 20:37:24 +01:00
Chris Cranford
204ef73422 DBZ-2994 Moved Scn to parent package
Since the Scn class is used by the snapshot process, it makes sense to move
this class up by one package since it can now be leveraged by both adapters
as needed.
2021-03-17 20:37:24 +01:00
Chris Cranford
a9d59710a7 DBZ-2994 Use string-representation of SCN in offsets & source info 2021-03-17 20:37:24 +01:00
Chris Cranford
769f8dc4f4 DBZ-2457 Use BigInteger rather than BigDecimal for SCN values 2021-03-17 20:37:24 +01:00
Chris Cranford
787b459771 DBZ-3305 Fix IndexOutOfBoundsException for LogMiner Update DMLs 2021-03-17 12:07:58 +01:00
Chris Cranford
39dd1e6980 DBZ-3295 Fix typo in comments 2021-03-17 06:54:53 -04:00
Chris Cranford
f2593c2737 DBZ-3295 Restrict all LogMiner results to specified SCN boundary 2021-03-17 06:54:53 -04:00
Gunnar Morling
1f02d25738 DBZ-3271 Removing unused methods 2021-03-17 09:54:25 +01:00
Gunnar Morling
911b5e9a3b DBZ-3271 Unifying filter handling across relational connectors 2021-03-17 09:54:25 +01:00
Jiri Pechanec
f2eb868cde DBZ-2145 Provide Debezium BOM 2021-03-17 07:54:12 +01:00
Chris Cranford
15fd604b1f DBZ-3250 Add integration test 2021-03-16 18:12:10 +01:00
Chris Cranford
634be509d2 DBZ-3236 Make ORA-26653 is a retriable exception 2021-03-16 09:49:29 +01:00
Debezium Builder
f57057421b [maven-release-plugin] prepare for next development iteration 2021-03-12 04:38:17 -05:00
Debezium Builder
b57293013a [maven-release-plugin] prepare release v1.5.0.Beta2 2021-03-12 04:38:16 -05:00
Chris Cranford
3e82185e29 DBZ-3254 Log exception on failed connection validation 2021-03-12 08:01:39 +01:00
Chris Cranford
599341dece DBZ-3145 Suggested changes 2021-03-12 08:00:06 +01:00
Chris Cranford
043e07a33a DBZ-3145 Introduce LogFile implementation 2021-03-12 08:00:06 +01:00
Chris Cranford
858cfbcb7a DBZ-3145 Removed unused code & irrelevant todo 2021-03-12 08:00:06 +01:00
Chris Cranford
8bf8a7d40a DBZ-3145 Use Scn domain type rather than long 2021-03-12 08:00:06 +01:00
Chris Cranford
bb90d68903 DBZ-3145 Do not rely on Oracle version-specific max SCN values 2021-03-12 08:00:06 +01:00
Jiri Pechanec
123d9ef4eb DBZ-3213 Refactor Maven structure to deploy support modules 2021-03-11 16:14:15 +01:00
Jiri Pechanec
0b12e8a02c [release] Prevents NPE as parent method is not called 2021-03-11 08:58:06 +01:00
Jiri Pechanec
457598914d DBZ-3258 Parse space in table name 2021-03-11 08:01:25 +01:00
Gunnar Morling
e0c651395d DBZ-3141 Comment fix 2021-03-10 19:12:34 +01:00
Jiri Pechanec
de0d540a9f DBZ-3141 Change schema signal for Oracle 2021-03-10 19:12:34 +01:00
Chris Cranford
09fa9d38ab DBZ-3235 Do not fail parsing Oracle LogMiner SQL without a WHERE-clause 2021-03-09 07:22:12 +01:00
Chris Cranford
efc735d55c DBZ-3241 Use LogMiner adapter as default for Oracle connector 2021-03-06 10:33:43 +01:00
Chris Cranford
5f0e09d0b8 DBZ-3242 Fix test failure 2021-03-05 17:55:18 -05:00
Chris Cranford
b98dae6436 DBZ-3242 Disable log.mining.transaction.retention.hours by default
* Default value `0` disables the check
* Any negative value will show a configuration problem
* Any positive value over `0` will enable the retention check
2021-03-05 18:14:23 +01:00
Chris Cranford
8a7276cebc DBZ-3219 Fix column include/exclude support for Oracle 2021-03-05 10:35:00 +01:00
Chris Cranford
b0092dcfb4 DBZ-3190 Deprecate database.tablename.case.insensitive option
* Option deprecated
* If provided, value continues to be used with warning logged
* If not provided, value will be resolved by database version
2021-03-05 10:17:40 +01:00
Chris Cranford
8854a5c1a6 DBZ-3237 Cleanup test method artifacts 2021-03-05 09:12:32 +01:00
Chris Cranford
be80834838 DBZ-3208 Fix regression with Oracle XStreams 2021-03-04 20:33:08 +01:00
Chris Cranford
bb24f931d3 DBZ-3166 Add Oracle connector to build, updated READMEs 2021-03-02 13:25:54 -05:00
Chris Cranford
3dd0626e9f DBZ-3154 Updated README, Suggested changes 2021-03-02 17:24:33 +01:00
Chris Cranford
f0bdc22714 DBZ-3154 Use constant references 2021-03-02 17:24:33 +01:00
Chris Cranford
61cfe48b56 DBZ-3154 Update test suite to run in CDB & non-CDB modes. 2021-03-02 17:24:33 +01:00
Chris Cranford
8ac227b59c DBZ-3128 Revert fix for DBZ-2679. 2021-03-02 14:10:40 +01:00
Chris Cranford
1ed51fe1f9 DBZ-3208 Don't emit NUMBER(1) as boolean types
* NUMBER(1) column types emit as numeric
* Added OOTB converter, NumberOneToBooleanConverter
2021-03-02 09:05:41 +01:00
Chris Cranford
4d1d9bafee DBZ-3036 Detect and skip Oracle IOT special tables 2021-02-26 08:11:44 +01:00
Chris Cranford
ddb1498d1d DBZ-3194 Allow ORA-01284 errors to be retried 2021-02-26 08:08:38 +01:00
Chris Cranford
addec8f8a3 DBZ-3200 Fix potential division-by-zero with CommitThroughput metric 2021-02-26 08:07:35 +01:00
Chris Cranford
07322485b6 DBZ-3193 Fix IndexOutOfBoundsException with "IS NULL" predicate 2021-02-25 23:04:24 +01:00
Chris Cranford
2d919288f8 DBZ-3038 Fix LogMinerMetricsTest failure 2021-02-25 07:41:44 -05:00
Chris Cranford
8463249803 DBZ-3038 Fix LogMinerMetricsTest failure 2021-02-25 07:38:35 -05:00
Chris Cranford
2dedf1e27a DBZ-3038 Capture additional LogMiner JMX Metrics
* Min/Max duration to start a mining session
* Min/Max number of logs mined in a given session
* Min/Max duration of a mining batch loop
* Some metrics cleanup
2021-02-25 11:42:12 +01:00
Chris Cranford
879449d1c3 DBZ-2875 Start streaming LogMiner changes after offset SCN 2021-02-25 11:37:59 +01:00
Debezium Builder
c3980e5c17 [maven-release-plugin] prepare for next development iteration 2021-02-23 14:10:58 -05:00
Debezium Builder
454ba981f6 [maven-release-plugin] prepare release v1.5.0.Beta1 2021-02-23 14:10:58 -05:00
Debezium Builder
306efe9956 [maven-release-plugin] prepare for next development iteration 2021-02-23 13:32:13 -05:00
Debezium Builder
4995a207d9 [maven-release-plugin] prepare release v1.5.0.Beta1 2021-02-23 13:32:13 -05:00
Chris Cranford
63358d12b5 DBZ-3167 Add tests for column include/exclude & legacy options 2021-02-23 17:26:38 +01:00
Chris Cranford
8708817fdf DBZ-3167 Removed column.blacklist, cleaned up config definition 2021-02-23 17:26:38 +01:00
Jiri Pechanec
717278ac71 DBZ-3172 Convert NUMBER to boolean 2021-02-23 11:15:01 -05:00
Chris Cranford
db64e1092c DBZ-3151 Fix NullPointerException with Pattern matching 2021-02-23 15:02:49 +01:00
Chris Cranford
013b24e3f8 DBZ-3165 Fix test failure 2021-02-23 15:02:49 +01:00
Chris Cranford
49f8f5d70c DBZ-3009 Suggested changes
* Fixed prior commit mistake with log.mining.strategy default
* Added comment on excluded schema logic when building LogMiner query
2021-02-23 12:29:20 +01:00
Chris Cranford
fde3d2ff81 DBZ-3009 Exclude system schemas in LogMiner session queries 2021-02-23 12:29:20 +01:00
Chris Cranford
514c513f96 DBZ-3009 Fix tests compatibility w/Xstream 2021-02-23 12:29:20 +01:00
Chris Cranford
461b784974 DBZ-3009 Support multiple schemas with Oracle LogMiner 2021-02-23 12:29:20 +01:00
Chris Cranford
85cfdd2236 DBZ-3034 Remove build deprecation warnings 2021-02-23 10:52:49 +01:00
Chris Cranford
a9d3b889ee DBZ-3119 Implement Config validation 2021-02-22 20:00:11 +01:00