You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Przemyslaw Dubaniewicz (Jira)" <ji...@apache.org> on 2020/02/24 15:59:00 UTC

[jira] [Created] (NIFI-7190) CaptureChangeMySQL processor doesn't emit DDL events if SQL statement begins with a comment

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)