[ https://issues.apache.org/jira/browse/NIFI-7410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ZhangCheng updated NIFI-7410: ----------------------------- Description: when ExecuteSql or QueryDataBaseTable processor trigger below code in JdbcCommon.java ,clob would be unreadable code(with Chinese character) {code:java} if (javaSqlType == CLOB) { Clob clob = rs.getClob(i); if (clob != null) { long numChars = clob.length(); char[] buffer = new char[(int) numChars]; InputStream is = clob.getAsciiStream(); int index = 0; int c = is.read(); while (c >= 0) { buffer[index++] = (char) c; c = is.read(); } rec.put(i - 1, new String(buffer)); clob.free(); } else { rec.put(i - 1, null); } continue; } {code} I konw this can be resoveld by using ExecuteSqlRecord and QueryDatabaseTableRecord. Then have new avroWriter(by using controller cervice), so I think ,can we change the DefaultAvroSqlWriter to the new avroWriter? was: when ExecuteSql or QueryDataBaseTable processor trigger below code in JdbcCommon.java ,clob would be unreadable code(with Chinese character) {code:java} if (javaSqlType == CLOB) { Clob clob = rs.getClob(i); if (clob != null) { long numChars = clob.length(); char[] buffer = new char[(int) numChars]; InputStream is = clob.getAsciiStream(); int index = 0; int c = is.read(); while (c >= 0) { buffer[index++] = (char) c; c = is.read(); } rec.put(i - 1, new String(buffer)); clob.free(); } else { rec.put(i - 1, null); } continue; } {code} I konw this can be resoveld by using ExecuteSqlRecord and QueryDatabaseTableRecord. But I think this should be maintained too. > Clob unreadable code when convertToAvroStream in JdbcCommon.java > ----------------------------------------------------------------- > > Key: NIFI-7410 > URL: https://issues.apache.org/jira/browse/NIFI-7410 > Project: Apache NiFi > Issue Type: Bug > Reporter: ZhangCheng > Priority: Major > > when ExecuteSql or QueryDataBaseTable processor trigger below code in > JdbcCommon.java ,clob would be unreadable code(with Chinese character) > {code:java} > if (javaSqlType == CLOB) { > Clob clob = rs.getClob(i); > if (clob != null) { > long numChars = clob.length(); > char[] buffer = new char[(int) numChars]; > InputStream is = clob.getAsciiStream(); > int index = 0; > int c = is.read(); > while (c >= 0) { > buffer[index++] = (char) c; > c = is.read(); > } > rec.put(i - 1, new String(buffer)); > clob.free(); > } else { > rec.put(i - 1, null); > } > continue; > } > {code} > I konw this can be resoveld by using ExecuteSqlRecord and > QueryDatabaseTableRecord. Then have new avroWriter(by using controller > cervice), so I think ,can we change the DefaultAvroSqlWriter to the new > avroWriter? -- This message was sent by Atlassian Jira (v8.3.4#803005)