Przemyslaw Dubaniewicz created NIFI-7190:
--------------------------------------------
Summary: CaptureChangeMySQL processor doesn't emit DDL events if
SQL statement begins with a comment
Key: NIFI-7190
URL: https://issues.apache.org/jira/browse/NIFI-7190
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.11.2
Reporter: Przemyslaw Dubaniewicz
The existing check for DDL Events doesn't take into account SQL statements that
begin with a comment, in file:
_nifi/nifi-nar-bundles/nifi-cdc/nifi-cdc-mysql-bundle/nifi-cdc-mysql-processors/src/main/java/org/apache/nifi/cdc/mysql/processors/CaptureChangeMySQL.java:821_
{code:java}
// Check for DDL events (alter table, e.g.). Normalize the query to do string
matching on the type of change
String normalizedQuery = sql.toLowerCase().trim().replaceAll(" {2,}", " ");
if (normalizedQuery.startsWith("alter table")
|| normalizedQuery.startsWith("alter ignore table")
|| normalizedQuery.startsWith("create table")
|| normalizedQuery.startsWith("truncate table")
|| normalizedQuery.startsWith("rename table")
|| normalizedQuery.startsWith("drop table")
|| normalizedQuery.startsWith("drop database")) {code}
SQL commands such as:
{code:sql}
/* ApplicationName=DataGrip 2019.2.4 */ alter table test_table
drop column test_column
{code}
won't evaluate to true.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)