Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/ExpressionExtractor.java +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { Optional<ParserRuleContext> parameterMarkerNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.PARAMETER_MARKER); if (parameterMarkerNode.isPresent()) { Integer index = parameterMarkerIndexes.get(parameterMarkerNode.get()); result.setPlaceholderIndex(index); result.setParameterMarkerIndex(index); return result; } Optional<ParserRuleContext> bitExprNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.BIT_EXPR); Loading sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/sql/segment/dml/expr/LiteralExpressionSegment.java +3 −3 Original line number Diff line number Diff line Loading @@ -42,14 +42,14 @@ public final class LiteralExpressionSegment implements ExpressionSegment { private final int stopIndex; private int placeholderIndex = -1; private int parameterMarkerIndex = -1; private Object literals; @Override public SQLExpression getSQLExpression(final String sql) { if (-1 != placeholderIndex) { return new SQLPlaceholderExpression(placeholderIndex); if (-1 != parameterMarkerIndex) { return new SQLPlaceholderExpression(parameterMarkerIndex); } if (literals instanceof Number) { return new SQLNumberExpression((Number) literals); Loading sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/core/rewrite/placeholder/EncryptUpdateItemColumnPlaceholder.java +7 −7 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho private final Comparable<?> assistedColumnValue; private final int placeholderIndex; private final int parameterMarkerIndex; public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName) { this.logicTableName = logicTableName; Loading @@ -46,7 +46,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho columnValue = null; this.assistedColumnName = null; assistedColumnValue = null; placeholderIndex = 0; parameterMarkerIndex = 0; } public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName, final Comparable<?> columnValue) { Loading @@ -55,7 +55,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho this.columnValue = columnValue; this.assistedColumnName = null; this.assistedColumnValue = null; placeholderIndex = -1; parameterMarkerIndex = -1; } public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName, final String assistedColumnName) { Loading @@ -64,7 +64,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho columnValue = null; this.assistedColumnName = assistedColumnName; assistedColumnValue = null; placeholderIndex = 0; parameterMarkerIndex = 0; } public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName, Loading @@ -74,16 +74,16 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho this.columnValue = columnValue; this.assistedColumnName = assistedColumnName; this.assistedColumnValue = assistedColumnValue; placeholderIndex = -1; parameterMarkerIndex = -1; } @Override @SuppressWarnings("all") public String toString() { if (Strings.isNullOrEmpty(assistedColumnName)) { return -1 != placeholderIndex ? String.format("%s = ?", columnName) : String.format("%s = %s", columnName, toStringForColumnValue(columnValue)); return -1 != parameterMarkerIndex ? String.format("%s = ?", columnName) : String.format("%s = %s", columnName, toStringForColumnValue(columnValue)); } return -1 != placeholderIndex ? String.format("%s = ?, %s = ?", columnName, assistedColumnName) return -1 != parameterMarkerIndex ? String.format("%s = ?, %s = ?", columnName, assistedColumnName) : String.format("%s = %s, %s = %s", columnName, toStringForColumnValue(columnValue), assistedColumnName, toStringForColumnValue(assistedColumnValue)); } Loading sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/core/rewrite/placeholder/EncryptWhereColumnPlaceholder.java +7 −7 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder private final Map<Integer, Comparable<?>> indexValues; private final Collection<Integer> placeholderIndexes; private final Collection<Integer> parameterMarkerIndexes; private final ShardingOperator operator; Loading @@ -48,7 +48,7 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder public String toString() { switch (operator) { case EQUAL: return placeholderIndexes.isEmpty() ? String.format("%s = '%s'", columnName, indexValues.get(0)) : String.format("%s = ?", columnName); return parameterMarkerIndexes.isEmpty() ? String.format("%s = '%s'", columnName, indexValues.get(0)) : String.format("%s = ?", columnName); case BETWEEN: return toStringFromBetween(); case IN: Loading @@ -59,13 +59,13 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder } private String toStringFromBetween() { if (placeholderIndexes.isEmpty()) { if (parameterMarkerIndexes.isEmpty()) { return String.format("%s %s '%s' AND '%s'", columnName, operator.name(), indexValues.get(0), indexValues.get(1)); } if (2 == placeholderIndexes.size()) { if (2 == parameterMarkerIndexes.size()) { return String.format("%s %s ? AND ?", columnName, operator.name()); } if (0 == placeholderIndexes.iterator().next()) { if (0 == parameterMarkerIndexes.iterator().next()) { return String.format("%s %s ? AND '%s'", columnName, operator.name(), indexValues.get(0)); } return String.format("%s %s '%s' AND ?", columnName, operator.name(), indexValues.get(0)); Loading @@ -74,8 +74,8 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder private String toStringFromIn() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(columnName).append(" ").append(operator.name()).append(" ("); for (int i = 0; i < indexValues.size() + placeholderIndexes.size(); i++) { if (placeholderIndexes.contains(i)) { for (int i = 0; i < indexValues.size() + parameterMarkerIndexes.size(); i++) { if (parameterMarkerIndexes.contains(i)) { stringBuilder.append("?"); } else { stringBuilder.append("'").append(indexValues.get(i)).append("'"); Loading sharding-core/sharding-core-rewrite/src/test/java/org/apache/shardingsphere/core/rewrite/placeholder/EncryptUpdateItemColumnPlaceholderTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,6 @@ public class EncryptUpdateItemColumnPlaceholderTest { assertThat(encryptUpdateItemColumnPlaceholder.getAssistedColumnName(), is("column_assist")); assertThat(encryptUpdateItemColumnPlaceholder.getColumnValue(), is((Comparable) "a")); assertThat(encryptUpdateItemColumnPlaceholder.getAssistedColumnValue(), is((Comparable) 1)); assertThat(encryptUpdateItemColumnPlaceholder.getPlaceholderIndex(), is(-1)); assertThat(encryptUpdateItemColumnPlaceholder.getParameterMarkerIndex(), is(-1)); } } Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/extractor/impl/dml/ExpressionExtractor.java +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public final class ExpressionExtractor implements OptionalSQLSegmentExtractor { Optional<ParserRuleContext> parameterMarkerNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.PARAMETER_MARKER); if (parameterMarkerNode.isPresent()) { Integer index = parameterMarkerIndexes.get(parameterMarkerNode.get()); result.setPlaceholderIndex(index); result.setParameterMarkerIndex(index); return result; } Optional<ParserRuleContext> bitExprNode = ExtractorUtils.findFirstChildNode(expressionNode, RuleName.BIT_EXPR); Loading
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/antlr/sql/segment/dml/expr/LiteralExpressionSegment.java +3 −3 Original line number Diff line number Diff line Loading @@ -42,14 +42,14 @@ public final class LiteralExpressionSegment implements ExpressionSegment { private final int stopIndex; private int placeholderIndex = -1; private int parameterMarkerIndex = -1; private Object literals; @Override public SQLExpression getSQLExpression(final String sql) { if (-1 != placeholderIndex) { return new SQLPlaceholderExpression(placeholderIndex); if (-1 != parameterMarkerIndex) { return new SQLPlaceholderExpression(parameterMarkerIndex); } if (literals instanceof Number) { return new SQLNumberExpression((Number) literals); Loading
sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/core/rewrite/placeholder/EncryptUpdateItemColumnPlaceholder.java +7 −7 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho private final Comparable<?> assistedColumnValue; private final int placeholderIndex; private final int parameterMarkerIndex; public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName) { this.logicTableName = logicTableName; Loading @@ -46,7 +46,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho columnValue = null; this.assistedColumnName = null; assistedColumnValue = null; placeholderIndex = 0; parameterMarkerIndex = 0; } public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName, final Comparable<?> columnValue) { Loading @@ -55,7 +55,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho this.columnValue = columnValue; this.assistedColumnName = null; this.assistedColumnValue = null; placeholderIndex = -1; parameterMarkerIndex = -1; } public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName, final String assistedColumnName) { Loading @@ -64,7 +64,7 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho columnValue = null; this.assistedColumnName = assistedColumnName; assistedColumnValue = null; placeholderIndex = 0; parameterMarkerIndex = 0; } public EncryptUpdateItemColumnPlaceholder(final String logicTableName, final String columnName, Loading @@ -74,16 +74,16 @@ public final class EncryptUpdateItemColumnPlaceholder implements ShardingPlaceho this.columnValue = columnValue; this.assistedColumnName = assistedColumnName; this.assistedColumnValue = assistedColumnValue; placeholderIndex = -1; parameterMarkerIndex = -1; } @Override @SuppressWarnings("all") public String toString() { if (Strings.isNullOrEmpty(assistedColumnName)) { return -1 != placeholderIndex ? String.format("%s = ?", columnName) : String.format("%s = %s", columnName, toStringForColumnValue(columnValue)); return -1 != parameterMarkerIndex ? String.format("%s = ?", columnName) : String.format("%s = %s", columnName, toStringForColumnValue(columnValue)); } return -1 != placeholderIndex ? String.format("%s = ?, %s = ?", columnName, assistedColumnName) return -1 != parameterMarkerIndex ? String.format("%s = ?, %s = ?", columnName, assistedColumnName) : String.format("%s = %s, %s = %s", columnName, toStringForColumnValue(columnValue), assistedColumnName, toStringForColumnValue(assistedColumnValue)); } Loading
sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/core/rewrite/placeholder/EncryptWhereColumnPlaceholder.java +7 −7 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder private final Map<Integer, Comparable<?>> indexValues; private final Collection<Integer> placeholderIndexes; private final Collection<Integer> parameterMarkerIndexes; private final ShardingOperator operator; Loading @@ -48,7 +48,7 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder public String toString() { switch (operator) { case EQUAL: return placeholderIndexes.isEmpty() ? String.format("%s = '%s'", columnName, indexValues.get(0)) : String.format("%s = ?", columnName); return parameterMarkerIndexes.isEmpty() ? String.format("%s = '%s'", columnName, indexValues.get(0)) : String.format("%s = ?", columnName); case BETWEEN: return toStringFromBetween(); case IN: Loading @@ -59,13 +59,13 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder } private String toStringFromBetween() { if (placeholderIndexes.isEmpty()) { if (parameterMarkerIndexes.isEmpty()) { return String.format("%s %s '%s' AND '%s'", columnName, operator.name(), indexValues.get(0), indexValues.get(1)); } if (2 == placeholderIndexes.size()) { if (2 == parameterMarkerIndexes.size()) { return String.format("%s %s ? AND ?", columnName, operator.name()); } if (0 == placeholderIndexes.iterator().next()) { if (0 == parameterMarkerIndexes.iterator().next()) { return String.format("%s %s ? AND '%s'", columnName, operator.name(), indexValues.get(0)); } return String.format("%s %s '%s' AND ?", columnName, operator.name(), indexValues.get(0)); Loading @@ -74,8 +74,8 @@ public final class EncryptWhereColumnPlaceholder implements ShardingPlaceholder private String toStringFromIn() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(columnName).append(" ").append(operator.name()).append(" ("); for (int i = 0; i < indexValues.size() + placeholderIndexes.size(); i++) { if (placeholderIndexes.contains(i)) { for (int i = 0; i < indexValues.size() + parameterMarkerIndexes.size(); i++) { if (parameterMarkerIndexes.contains(i)) { stringBuilder.append("?"); } else { stringBuilder.append("'").append(indexValues.get(i)).append("'"); Loading
sharding-core/sharding-core-rewrite/src/test/java/org/apache/shardingsphere/core/rewrite/placeholder/EncryptUpdateItemColumnPlaceholderTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,6 @@ public class EncryptUpdateItemColumnPlaceholderTest { assertThat(encryptUpdateItemColumnPlaceholder.getAssistedColumnName(), is("column_assist")); assertThat(encryptUpdateItemColumnPlaceholder.getColumnValue(), is((Comparable) "a")); assertThat(encryptUpdateItemColumnPlaceholder.getAssistedColumnValue(), is((Comparable) 1)); assertThat(encryptUpdateItemColumnPlaceholder.getPlaceholderIndex(), is(-1)); assertThat(encryptUpdateItemColumnPlaceholder.getParameterMarkerIndex(), is(-1)); } }