Loading sharding-core/src/main/java/io/shardingsphere/core/merger/dql/DQLMergeEngine.java +3 −3 Original line number Diff line number Diff line Loading @@ -94,14 +94,14 @@ public final class DQLMergeEngine implements MergeEngine { @Override public MergedResult merge() throws SQLException { if (queryResults.size() == 1) { return new IteratorStreamMergedResult(queryResults); } selectStatement.setIndexForItems(columnLabelIndexMap); return decorate(build()); } private MergedResult build() throws SQLException { if (queryResults.size() == 1) { return new IteratorStreamMergedResult(queryResults); } if (!selectStatement.getGroupByItems().isEmpty() || !selectStatement.getAggregationSelectItems().isEmpty()) { return getGroupByMergedResult(); } Loading sharding-core/src/main/java/io/shardingsphere/core/rewrite/SQLRewriteEngine.java +0 −16 Original line number Diff line number Diff line Loading @@ -21,14 +21,12 @@ import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.base.Strings; import com.google.common.collect.Iterators; import io.shardingsphere.core.constant.AggregationType; import io.shardingsphere.core.constant.DatabaseType; import io.shardingsphere.core.metadata.datasource.ShardingDataSourceMetaData; import io.shardingsphere.core.optimizer.condition.ShardingConditions; import io.shardingsphere.core.parsing.lexer.token.DefaultKeyword; import io.shardingsphere.core.parsing.parser.context.OrderItem; import io.shardingsphere.core.parsing.parser.context.limit.Limit; import io.shardingsphere.core.parsing.parser.context.selectitem.AggregationSelectItem; import io.shardingsphere.core.parsing.parser.sql.SQLStatement; import io.shardingsphere.core.parsing.parser.sql.dml.insert.InsertStatement; import io.shardingsphere.core.parsing.parser.sql.dql.select.SelectStatement; Loading Loading @@ -118,9 +116,6 @@ public final class SQLRewriteEngine { return appendOriginalLiterals(result); } appendInitialLiterals(isRewrite, result); if (sqlStatement instanceof SelectStatement && !isRewrite) { removeAppendItems(); } appendTokensAndPlaceholders(isRewrite, result); return result; } Loading Loading @@ -154,17 +149,6 @@ public final class SQLRewriteEngine { result.appendLiterals(originalSQL.substring(firstSelectItemStartPosition, sqlTokens.get(0).getBeginPosition())); } private void removeAppendItems() { SelectStatement selectStatement = (SelectStatement) sqlStatement; selectStatement.getOrderByItems().clear(); selectStatement.getGroupByItems().clear(); for (AggregationSelectItem each : selectStatement.getAggregationSelectItems()) { if (AggregationType.AVG == each.getType()) { each.getDerivedAggregationSelectItems().clear(); } } } private void appendTokensAndPlaceholders(final boolean isRewrite, final SQLBuilder result) { int count = 0; for (SQLToken each : sqlTokens) { Loading Loading
sharding-core/src/main/java/io/shardingsphere/core/merger/dql/DQLMergeEngine.java +3 −3 Original line number Diff line number Diff line Loading @@ -94,14 +94,14 @@ public final class DQLMergeEngine implements MergeEngine { @Override public MergedResult merge() throws SQLException { if (queryResults.size() == 1) { return new IteratorStreamMergedResult(queryResults); } selectStatement.setIndexForItems(columnLabelIndexMap); return decorate(build()); } private MergedResult build() throws SQLException { if (queryResults.size() == 1) { return new IteratorStreamMergedResult(queryResults); } if (!selectStatement.getGroupByItems().isEmpty() || !selectStatement.getAggregationSelectItems().isEmpty()) { return getGroupByMergedResult(); } Loading
sharding-core/src/main/java/io/shardingsphere/core/rewrite/SQLRewriteEngine.java +0 −16 Original line number Diff line number Diff line Loading @@ -21,14 +21,12 @@ import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.base.Strings; import com.google.common.collect.Iterators; import io.shardingsphere.core.constant.AggregationType; import io.shardingsphere.core.constant.DatabaseType; import io.shardingsphere.core.metadata.datasource.ShardingDataSourceMetaData; import io.shardingsphere.core.optimizer.condition.ShardingConditions; import io.shardingsphere.core.parsing.lexer.token.DefaultKeyword; import io.shardingsphere.core.parsing.parser.context.OrderItem; import io.shardingsphere.core.parsing.parser.context.limit.Limit; import io.shardingsphere.core.parsing.parser.context.selectitem.AggregationSelectItem; import io.shardingsphere.core.parsing.parser.sql.SQLStatement; import io.shardingsphere.core.parsing.parser.sql.dml.insert.InsertStatement; import io.shardingsphere.core.parsing.parser.sql.dql.select.SelectStatement; Loading Loading @@ -118,9 +116,6 @@ public final class SQLRewriteEngine { return appendOriginalLiterals(result); } appendInitialLiterals(isRewrite, result); if (sqlStatement instanceof SelectStatement && !isRewrite) { removeAppendItems(); } appendTokensAndPlaceholders(isRewrite, result); return result; } Loading Loading @@ -154,17 +149,6 @@ public final class SQLRewriteEngine { result.appendLiterals(originalSQL.substring(firstSelectItemStartPosition, sqlTokens.get(0).getBeginPosition())); } private void removeAppendItems() { SelectStatement selectStatement = (SelectStatement) sqlStatement; selectStatement.getOrderByItems().clear(); selectStatement.getGroupByItems().clear(); for (AggregationSelectItem each : selectStatement.getAggregationSelectItems()) { if (AggregationType.AVG == each.getType()) { each.getDerivedAggregationSelectItems().clear(); } } } private void appendTokensAndPlaceholders(final boolean isRewrite, final SQLBuilder result) { int count = 0; for (SQLToken each : sqlTokens) { Loading