This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 7e79846 Adjust Directory for query optimization (#8875)
7e79846 is described below
commit 7e79846622ad623b91200d97644ca3e4968bdede
Author: Juan Pan(Trista) <[email protected]>
AuthorDate: Mon Jan 4 17:02:40 2021 +0800
Adjust Directory for query optimization (#8875)
* Adjust Directory for query optimization
* Adjust Directory for query optimization
---
.../infra/optimize/context/CalciteContext.java | 1 -
.../infra/optimize/context/CalciteContextFactory.java | 17 +++++------------
.../optimize/execute/{ => raw}/CalciteRawExecutor.java | 5 +++--
.../{ => execute/raw}/context/CalciteDataContext.java | 3 ++-
.../{ => execute/raw}/convert/SqlNodeConverter.java | 2 +-
.../{ => execute/raw}/plan/PlannerInitializer.java | 2 +-
.../optimize/schema/CalciteLogicSchemaFactory.java | 9 ++++-----
.../{ => generator}/CalciteLogicSchemaGenerator.java | 8 ++++----
.../{ => generator}/CalciteLogicTableGenerator.java | 7 ++++---
.../optimize/schema/{ => row}/CalciteRowEnumerator.java | 2 +-
.../row/CalciteRowExecutor.java} | 4 ++--
.../schema/{ => table}/AbstractCalciteTable.java | 6 +++---
.../schema/{ => table}/CalciteFilterableTable.java | 7 ++++---
.../core/statement/ShardingSpherePreparedStatement.java | 4 ++--
.../jdbc/core/statement/ShardingSphereStatement.java | 4 ++--
.../proxy/backend/communication/ProxySQLExecutor.java | 4 ++--
16 files changed, 40 insertions(+), 45 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContext.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContext.java
index c47cd29..8ee4298 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContext.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContext.java
@@ -28,7 +28,6 @@ import java.util.Properties;
/**
* Calcite context.
- *
*/
@Getter
@RequiredArgsConstructor
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContextFactory.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContextFactory.java
index 9b6b481..cd45e84 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContextFactory.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteContextFactory.java
@@ -39,21 +39,18 @@ import org.apache.calcite.sql.validate.SqlValidator;
import org.apache.calcite.sql.validate.SqlValidatorUtil;
import org.apache.calcite.sql2rel.SqlToRelConverter;
import org.apache.calcite.sql2rel.StandardConvertletTable;
-import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
-import org.apache.shardingsphere.infra.optimize.plan.PlannerInitializer;
+import
org.apache.shardingsphere.infra.optimize.execute.raw.plan.PlannerInitializer;
import org.apache.shardingsphere.infra.optimize.schema.CalciteLogicSchema;
import
org.apache.shardingsphere.infra.optimize.schema.CalciteLogicSchemaFactory;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
-import java.sql.SQLException;
import java.util.Collections;
import java.util.Map;
import java.util.Properties;
/**
- * Calcite context.
- *
+ * Calcite context factory.
*/
public final class CalciteContextFactory {
@@ -103,12 +100,8 @@ public final class CalciteContextFactory {
* @param executor executor
* @return calcite context
*/
- public CalciteContext create(final String schema, final
CalciteInternalExecutor executor) {
- try {
- return create(connectionConfig, parserConfig, typeFactory,
cluster, factory.create(schema, executor));
- } catch (final SQLException ex) {
- throw new ShardingSphereException(ex);
- }
+ public CalciteContext create(final String schema, final CalciteRowExecutor
executor) {
+ return create(connectionConfig, parserConfig, typeFactory, cluster,
factory.create(schema, executor));
}
private CalciteContext create(final CalciteConnectionConfig config,
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/CalciteRawExecutor.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/CalciteRawExecutor.java
similarity index 94%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/CalciteRawExecutor.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/CalciteRawExecutor.java
index 3b6fa78..44e9894 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/CalciteRawExecutor.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/CalciteRawExecutor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.execute;
+package org.apache.shardingsphere.infra.optimize.execute.raw;
import lombok.RequiredArgsConstructor;
import org.apache.calcite.adapter.enumerable.EnumerableConvention;
@@ -31,7 +31,8 @@ import org.apache.calcite.sql.parser.SqlParseException;
import org.apache.calcite.sql.parser.SqlParser;
import
org.apache.shardingsphere.infra.executor.sql.execute.result.query.QueryResult;
import org.apache.shardingsphere.infra.optimize.context.CalciteContext;
-import org.apache.shardingsphere.infra.optimize.context.CalciteDataContext;
+import org.apache.shardingsphere.infra.optimize.execute.CalciteExecutor;
+import
org.apache.shardingsphere.infra.optimize.execute.raw.context.CalciteDataContext;
import java.sql.SQLException;
import java.util.Collections;
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteDataContext.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/context/CalciteDataContext.java
similarity index 92%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteDataContext.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/context/CalciteDataContext.java
index e7839b2..0e49194 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/context/CalciteDataContext.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/context/CalciteDataContext.java
@@ -15,13 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.context;
+package org.apache.shardingsphere.infra.optimize.execute.raw.context;
import lombok.RequiredArgsConstructor;
import org.apache.calcite.DataContext;
import org.apache.calcite.adapter.java.JavaTypeFactory;
import org.apache.calcite.linq4j.QueryProvider;
import org.apache.calcite.schema.SchemaPlus;
+import org.apache.shardingsphere.infra.optimize.context.CalciteContext;
/**
* Calcite data context.
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/convert/SqlNodeConverter.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/convert/SqlNodeConverter.java
similarity index 95%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/convert/SqlNodeConverter.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/convert/SqlNodeConverter.java
index 2b32b4e..d77aead 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/convert/SqlNodeConverter.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/convert/SqlNodeConverter.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.convert;
+package org.apache.shardingsphere.infra.optimize.execute.raw.convert;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/plan/PlannerInitializer.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/plan/PlannerInitializer.java
similarity index 96%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/plan/PlannerInitializer.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/plan/PlannerInitializer.java
index e4f943e..e9c5699 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/plan/PlannerInitializer.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/raw/plan/PlannerInitializer.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.plan;
+package org.apache.shardingsphere.infra.optimize.execute.raw.plan;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaFactory.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaFactory.java
index 648b127..38f706e 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaFactory.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaFactory.java
@@ -20,7 +20,8 @@ package org.apache.shardingsphere.infra.optimize.schema;
import org.apache.commons.collections4.map.LinkedMap;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
+import
org.apache.shardingsphere.infra.optimize.schema.generator.CalciteLogicSchemaGenerator;
import java.sql.SQLException;
import java.util.Map;
@@ -28,8 +29,7 @@ import java.util.Map.Entry;
/**
- * Calcite schema factory.
- *
+ * Calcite logic schema factory.
*/
public final class CalciteLogicSchemaFactory {
@@ -51,9 +51,8 @@ public final class CalciteLogicSchemaFactory {
* @param name name
* @param executor executor
* @return schema
- * @exception SQLException sql exception
*/
- public CalciteLogicSchema create(final String name, final
CalciteInternalExecutor executor) throws SQLException {
+ public CalciteLogicSchema create(final String name, final
CalciteRowExecutor executor) {
if (!schemas.containsKey(name)) {
throw new ShardingSphereException("No `%s` schema.", name);
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaGenerator.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/generator/CalciteLogicSchemaGenerator.java
similarity index 93%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaGenerator.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/generator/CalciteLogicSchemaGenerator.java
index cf85ccb..3752369 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicSchemaGenerator.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/generator/CalciteLogicSchemaGenerator.java
@@ -15,13 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.schema;
+package org.apache.shardingsphere.infra.optimize.schema.generator;
import org.apache.calcite.schema.Table;
import org.apache.commons.collections4.map.LinkedMap;
import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.CalciteLogicSchema;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.type.DataNodeContainedRule;
import org.apache.shardingsphere.infra.rule.type.DataSourceContainedRule;
@@ -89,9 +90,8 @@ public final class CalciteLogicSchemaGenerator {
*
* @param executor executor
* @return schema
- * @exception SQLException sql exception
*/
- public CalciteLogicSchema create(final CalciteInternalExecutor executor)
throws SQLException {
+ public CalciteLogicSchema create(final CalciteRowExecutor executor) {
Map<String, Table> tables = new LinkedMap<>();
for (Entry<String, CalciteLogicTableGenerator> entry :
this.tables.entrySet()) {
tables.put(entry.getKey(), entry.getValue().create(executor));
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicTableGenerator.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/generator/CalciteLogicTableGenerator.java
similarity index 93%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicTableGenerator.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/generator/CalciteLogicTableGenerator.java
index 51659f1..f447f04 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteLogicTableGenerator.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/generator/CalciteLogicTableGenerator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.schema;
+package org.apache.shardingsphere.infra.optimize.schema.generator;
import org.apache.calcite.rel.type.RelDataTypeFactory;
import org.apache.calcite.rel.type.RelDataTypeImpl;
@@ -29,7 +29,8 @@ import org.apache.shardingsphere.infra.datanode.DataNode;
import
org.apache.shardingsphere.infra.metadata.schema.builder.loader.TableMetaDataLoader;
import org.apache.shardingsphere.infra.metadata.schema.model.ColumnMetaData;
import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
+import
org.apache.shardingsphere.infra.optimize.schema.table.CalciteFilterableTable;
import javax.sql.DataSource;
import java.sql.SQLException;
@@ -85,7 +86,7 @@ public final class CalciteLogicTableGenerator {
* @param executor executor
* @return table
*/
- public Table create(final CalciteInternalExecutor executor) {
+ public Table create(final CalciteRowExecutor executor) {
return new CalciteFilterableTable(tableMetaData, relProtoDataType,
executor);
}
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteRowEnumerator.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/row/CalciteRowEnumerator.java
similarity index 98%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteRowEnumerator.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/row/CalciteRowEnumerator.java
index 799780f..c270893 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteRowEnumerator.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/row/CalciteRowEnumerator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.schema;
+package org.apache.shardingsphere.infra.optimize.schema.row;
import org.apache.calcite.linq4j.Enumerator;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/CalciteInternalExecutor.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/row/CalciteRowExecutor.java
similarity index 97%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/CalciteInternalExecutor.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/row/CalciteRowExecutor.java
index 7976f6c..f81b382 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/execute/CalciteInternalExecutor.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/row/CalciteRowExecutor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.execute;
+package org.apache.shardingsphere.infra.optimize.schema.row;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
* Calcite internal executor.
*/
@RequiredArgsConstructor
-public final class CalciteInternalExecutor {
+public final class CalciteRowExecutor {
// TODO Consider use emptyList
private final Collection<ShardingSphereRule> rules;
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/AbstractCalciteTable.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/table/AbstractCalciteTable.java
similarity index 89%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/AbstractCalciteTable.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/table/AbstractCalciteTable.java
index f2e2505..b421683 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/AbstractCalciteTable.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/table/AbstractCalciteTable.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.schema;
+package org.apache.shardingsphere.infra.optimize.schema.table;
import lombok.AccessLevel;
import lombok.Getter;
@@ -25,7 +25,7 @@ import org.apache.calcite.rel.type.RelDataTypeFactory;
import org.apache.calcite.rel.type.RelProtoDataType;
import org.apache.calcite.schema.impl.AbstractTable;
import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
/**
* Abstract calcite table.
@@ -38,7 +38,7 @@ public abstract class AbstractCalciteTable extends
AbstractTable {
private final RelProtoDataType relProtoDataType;
- private final CalciteInternalExecutor executor;
+ private final CalciteRowExecutor executor;
@Override
public final RelDataType getRowType(final RelDataTypeFactory typeFactory) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteFilterableTable.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/table/CalciteFilterableTable.java
similarity index 87%
rename from
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteFilterableTable.java
rename to
shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/table/CalciteFilterableTable.java
index a6695d5..ee0a171 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/CalciteFilterableTable.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/schema/table/CalciteFilterableTable.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.optimize.schema;
+package org.apache.shardingsphere.infra.optimize.schema.table;
import org.apache.calcite.DataContext;
import org.apache.calcite.linq4j.AbstractEnumerable;
@@ -25,7 +25,8 @@ import org.apache.calcite.rel.type.RelProtoDataType;
import org.apache.calcite.rex.RexNode;
import org.apache.calcite.schema.ProjectableFilterableTable;
import org.apache.shardingsphere.infra.metadata.schema.model.TableMetaData;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
+import
org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowEnumerator;
import java.util.List;
@@ -36,7 +37,7 @@ import java.util.List;
public final class CalciteFilterableTable extends AbstractCalciteTable
implements ProjectableFilterableTable {
public CalciteFilterableTable(final TableMetaData tableMetaData, final
RelProtoDataType relProtoDataType,
- final CalciteInternalExecutor executor) {
+ final CalciteRowExecutor executor) {
super(tableMetaData, relProtoDataType, executor);
}
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index aef17db..fd2e10a 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -67,7 +67,7 @@ import
org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
import org.apache.shardingsphere.infra.optimize.execute.CalciteExecutor;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
import org.apache.shardingsphere.infra.optimize.execute.CalciteJDBCExecutor;
import org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine;
import org.apache.shardingsphere.infra.rule.type.DataNodeContainedRule;
@@ -211,7 +211,7 @@ public final class ShardingSpherePreparedStatement extends
AbstractPreparedState
int maxConnectionsSizePerQuery =
metaDataContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
StatementExecuteQueryCallback callback = new
StatementExecuteQueryCallback(metaDataContexts.getDefaultMetaData().getResource().getDatabaseType(),
executionContext.getSqlStatementContext().getSqlStatement(),
SQLExecutorExceptionHandler.isExceptionThrown());
- CalciteInternalExecutor executor = new
CalciteInternalExecutor(metaDataContexts.getDefaultMetaData().getRuleMetaData().getRules(),
+ CalciteRowExecutor executor = new
CalciteRowExecutor(metaDataContexts.getDefaultMetaData().getRuleMetaData().getRules(),
maxConnectionsSizePerQuery, connection,
driverJDBCExecutor.getJdbcExecutor(), executionContext, callback);
// TODO Consider CalciteRawExecutor
return new
CalciteJDBCExecutor(metaDataContexts.getCalciteContextFactory().create(DefaultSchema.LOGIC_NAME,
executor));
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 6d50251..6f7df62 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -65,7 +65,7 @@ import
org.apache.shardingsphere.infra.merge.result.MergedResult;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
import org.apache.shardingsphere.infra.optimize.execute.CalciteExecutor;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
import org.apache.shardingsphere.infra.optimize.execute.CalciteJDBCExecutor;
import org.apache.shardingsphere.infra.parser.ShardingSphereSQLParserEngine;
import org.apache.shardingsphere.infra.route.context.RouteUnit;
@@ -181,7 +181,7 @@ public final class ShardingSphereStatement extends
AbstractStatementAdapter {
int maxConnectionsSizePerQuery =
metaDataContexts.getProps().<Integer>getValue(ConfigurationPropertyKey.MAX_CONNECTIONS_SIZE_PER_QUERY);
StatementExecuteQueryCallback callback = new
StatementExecuteQueryCallback(metaDataContexts.getDefaultMetaData().getResource().getDatabaseType(),
executionContext.getSqlStatementContext().getSqlStatement(),
SQLExecutorExceptionHandler.isExceptionThrown());
- CalciteInternalExecutor executor = new
CalciteInternalExecutor(metaDataContexts.getDefaultMetaData().getRuleMetaData().getRules(),
+ CalciteRowExecutor executor = new
CalciteRowExecutor(metaDataContexts.getDefaultMetaData().getRuleMetaData().getRules(),
maxConnectionsSizePerQuery, connection,
driverJDBCExecutor.getJdbcExecutor(), executionContext, callback);
// TODO Consider CalciteRawExecutor
return new
CalciteJDBCExecutor(metaDataContexts.getCalciteContextFactory().create(DefaultSchema.LOGIC_NAME,
executor));
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
index f61856d..689ee94 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/communication/ProxySQLExecutor.java
@@ -34,7 +34,7 @@ import
org.apache.shardingsphere.infra.executor.sql.prepare.driver.DriverExecuti
import
org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc.StatementOption;
import
org.apache.shardingsphere.infra.executor.sql.prepare.raw.RawExecutionPrepareEngine;
import org.apache.shardingsphere.infra.optimize.execute.CalciteExecutor;
-import
org.apache.shardingsphere.infra.optimize.execute.CalciteInternalExecutor;
+import org.apache.shardingsphere.infra.optimize.schema.row.CalciteRowExecutor;
import org.apache.shardingsphere.infra.optimize.execute.CalciteJDBCExecutor;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.rule.type.RawExecutionRule;
@@ -135,7 +135,7 @@ public final class ProxySQLExecutor {
MetaDataContexts metaData =
ProxyContext.getInstance().getMetaDataContexts();
ProxyJDBCExecutorCallback callback =
ProxyJDBCExecutorCallbackFactory.newInstance(type,
metaData.getMetaData(backendConnection.getSchemaName()).getResource().getDatabaseType(),
executionContext.getSqlStatementContext().getSqlStatement(),
backendConnection, isExceptionThrown, isReturnGeneratedKeys, true);
- CalciteInternalExecutor executor = new CalciteInternalExecutor(rules,
maxConnectionsSizePerQuery, backendConnection, jdbcExecutor.getJdbcExecutor(),
executionContext, callback);
+ CalciteRowExecutor executor = new CalciteRowExecutor(rules,
maxConnectionsSizePerQuery, backendConnection, jdbcExecutor.getJdbcExecutor(),
executionContext, callback);
CalciteExecutor calciteExecutor = new
CalciteJDBCExecutor(metaData.getCalciteContextFactory().create(backendConnection.getSchemaName(),
executor));
backendConnection.setCalciteExecutor(calciteExecutor);
SQLUnit sqlUnit =
executionContext.getExecutionUnits().iterator().next().getSqlUnit();