Commit 0671030f authored by terrymanu's avatar terrymanu
Browse files

for #2084, placeholderIndex => parameterMarkerIndex

parent 710cd5ff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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);
+7 −7
Original line number Diff line number Diff line
@@ -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;
@@ -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) {
@@ -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) {
@@ -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,
@@ -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));
    }
    
+7 −7
Original line number Diff line number Diff line
@@ -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;
    
@@ -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:
@@ -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));
@@ -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("'");
+1 −1
Original line number Diff line number Diff line
@@ -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