[mysql] quota the field names when executing mysql query (#2381) (#2388)

Co-authored-by: DESKTOP-TQDONF3\狗狗jian <zhangjian@adream.org>
pull/2396/head
Malcolmjian 2 years ago committed by GitHub
parent a3ddc488d5
commit f7df47e2ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -244,7 +244,7 @@ public class StatementUtils {
RowType pkRowType, StringBuilder sql, String predicate) { RowType pkRowType, StringBuilder sql, String predicate) {
for (Iterator<String> fieldNamesIt = pkRowType.getFieldNames().iterator(); for (Iterator<String> fieldNamesIt = pkRowType.getFieldNames().iterator();
fieldNamesIt.hasNext(); ) { fieldNamesIt.hasNext(); ) {
sql.append(fieldNamesIt.next()).append(predicate); sql.append(quote(fieldNamesIt.next())).append(predicate);
if (fieldNamesIt.hasNext()) { if (fieldNamesIt.hasNext()) {
sql.append(" AND "); sql.append(" AND ");
} }
@ -255,7 +255,7 @@ public class StatementUtils {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
for (Iterator<String> fieldNamesIt = pkRowType.getFieldNames().iterator(); for (Iterator<String> fieldNamesIt = pkRowType.getFieldNames().iterator();
fieldNamesIt.hasNext(); ) { fieldNamesIt.hasNext(); ) {
sql.append(fieldNamesIt.next()); sql.append(quote(fieldNamesIt.next()));
if (fieldNamesIt.hasNext()) { if (fieldNamesIt.hasNext()) {
sql.append(" , "); sql.append(" , ");
} }
@ -267,7 +267,7 @@ public class StatementUtils {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
for (Iterator<String> fieldNamesIt = pkRowType.getFieldNames().iterator(); for (Iterator<String> fieldNamesIt = pkRowType.getFieldNames().iterator();
fieldNamesIt.hasNext(); ) { fieldNamesIt.hasNext(); ) {
sql.append("MAX(" + fieldNamesIt.next() + ")"); sql.append("MAX(" + quote(fieldNamesIt.next()) + ")");
if (fieldNamesIt.hasNext()) { if (fieldNamesIt.hasNext()) {
sql.append(" , "); sql.append(" , ");
} }

Loading…
Cancel
Save