[ https://issues.apache.org/jira/browse/NIFI-7785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17197557#comment-17197557 ]
Roberto Garcia edited comment on NIFI-7785 at 9/17/20, 10:11 AM: ----------------------------------------------------------------- in the groovy script change the lines ||from||to|| |Matcher regexMatcher = content =~ /(?s)(?<="id":2,"value":)(\d+?)(?=})/|Matcher regexMatcher = content =~ /(?s)(?<="gender", "column_type" : 1, "value" :\s)(\d+?)(?=\s})/| |String cdcConverted = content.replaceAll(/(?s)(?<="id":2,"value":)(\d+?)(?=})/, "\"" + enumText + "\"");|String cdcConverted = content.replaceAll(/(?s)(?<="gender", "column_type" : 1, "value" :\s)(\d+?)(?=\s})/, "\"" + enumText + "\"");| was (Author: robertogarcia): in the groovy script change the lines ||from||to|| |Matcher regexMatcher = content =~ /(?s)(?<="id":2,"value":)(\d+?)(?=})/|Matcher regexMatcher = content =~ /(?s)(?<="name" : "gender", "column_type" : 1, "value" :\s*)(\d+?)(?=\s*})/| |String cdcConverted = content.replaceAll(/(?s)(?<="id":2,"value":)(\d+?)(?=})/, "\"" + enumText + "\"");|String cdcConverted = content.replaceAll(/(?s)(?<="name" : "gender", "column_type" : 1, "value" :\s*)(\d+?)(?=\s*})/, "\"" + enumText + "\"");| > CaptureChangeMySQL processor captures enum values as "INDEX of those values" > from Mysql DB" > ------------------------------------------------------------------------------------------- > > Key: NIFI-7785 > URL: https://issues.apache.org/jira/browse/NIFI-7785 > Project: Apache NiFi > Issue Type: Bug > Components: Tools and Build > Affects Versions: 1.11.4 > Environment: Ubuntu EC2 instance with 8 GB ram > Reporter: zeyk > Priority: Major > Labels: features > Attachments: Screenshot from 2020-09-15 05-29-48.png, Screenshot from > 2020-09-15 08-05-33.png, flow.xml.gz, sample_with_enum.xml, sqlcmdReturn.png > > > CaptureChangeMySQL processor captures enum values as "INDEX of those values" > rather than the values specified. > for example: > A table has columns (id int, fruit enum ('apple','pears','orange'), price int) > On doing an insert: > insert into (1,'apple',45) > insert into (2,'pears',56) > I have used CaptureChangeMySql processor to capture the CDC changes, the > process does the capture but captures the enum column alone based on its > index like the sample below: > for 1st insert: > > { > "type":"insert", > "timestamp":1599004442000, > "binlog_filename":"mysql-bin-changelog.000039", > "binlog_position":1537835, > "database":"sample", > "table_name":"sample", > "table_id":82, > "columns":[ > { > "id":1, > "name":"id", > "column_type":-5, > "value":139 > }, > { > "id":2, > "name":"fruit", > "column_type":12, > "value":0 > }, > { > "id":3, > "name":"price", > "column_type":12, > "value":45 > } > ] > } > > for 2nd insert: > > { > "type":"insert", > "timestamp":1599004442000, > "binlog_filename":"mysql-bin-changelog.000039", > "binlog_position":1537835, > "database":"sample", > "table_name":"sample", > "table_id":82, > "columns":[ > { > "id":1, > "name":"id", > "column_type":-5, > "value":139 > }, > { > "id":2, > "name":"fruit", > "column_type":12, > "value":1 > }, > { > "id":3, > "name":"price", > "column_type":12, > "value":56 > } > ] > } > > > So the above has 0 and 1 in place of apple and pears respectively. > > Could you of you help me on this, if there are folks who have faced similar > kinda issue > > -- This message was sent by Atlassian Jira (v8.3.4#803005)