This is an automated email from the ASF dual-hosted git repository.
amashenkov pushed a commit to branch ignite-19497
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/ignite-19497 by this push:
new 6ecd6df452 wip.
6ecd6df452 is described below
commit 6ecd6df4521e9ed99f743594da9f877994c60f5d
Author: amashenkov <[email protected]>
AuthorDate: Wed Aug 9 04:51:51 2023 +0300
wip.
---
.../ignite/internal/sql/engine/SqlQueryProcessor.java | 5 +++++
.../sql/engine/exec/ExecutableTableRegistryImpl.java | 12 ++++++------
.../sql/engine/exec/ExecutableTableRegistrySelfTest.java | 2 +-
.../engine/exec/ExecutionDependencyResolverSelfTest.java | 16 ++++++++--------
4 files changed, 20 insertions(+), 15 deletions(-)
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
index 0cc8f5fa86..04971f2cf6 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java
@@ -71,6 +71,7 @@ import
org.apache.ignite.internal.sql.engine.prepare.PrepareServiceImpl;
import org.apache.ignite.internal.sql.engine.property.PropertiesHelper;
import org.apache.ignite.internal.sql.engine.property.PropertiesHolder;
import org.apache.ignite.internal.sql.engine.schema.CatalogSqlSchemaManager;
+import org.apache.ignite.internal.sql.engine.schema.IgniteSchema;
import org.apache.ignite.internal.sql.engine.schema.SqlSchemaManager;
import org.apache.ignite.internal.sql.engine.session.Session;
import org.apache.ignite.internal.sql.engine.session.SessionId;
@@ -420,6 +421,10 @@ public class SqlQueryProcessor implements QueryProcessor {
SchemaPlus schema = sqlSchemaManager.schema(schemaName,
txTimestamp.longValue());
+ int version = schema.unwrap(IgniteSchema.class).version();
+
+ System.out.println(format("Query: {}\nschema={}", sql,
version));
+
if (schema == null) {
return CompletableFuture.failedFuture(new
SchemaNotFoundException(schemaName));
}
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistryImpl.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistryImpl.java
index 087a602972..9c6c1688b1 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistryImpl.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistryImpl.java
@@ -78,6 +78,12 @@ public class ExecutableTableRegistryImpl implements
ExecutableTableRegistry, Sch
return tableCache.computeIfAbsent(new CacheKey(schemaVersion,
tableId), (k) -> loadTable(tableName, tableDescriptor));
}
+ /** {@inheritDoc} */
+ @Override
+ public void onSchemaUpdated() {
+ tableCache.clear();
+ }
+
private CompletableFuture<ExecutableTable> loadTable(String tableName,
TableDescriptor tableDescriptor) {
return tableManager.tableAsyncInternal(tableName.toUpperCase())
.thenApply(table -> {
@@ -94,12 +100,6 @@ public class ExecutableTableRegistryImpl implements
ExecutableTableRegistry, Sch
});
}
- /** {@inheritDoc} */
- @Override
- public void onSchemaUpdated() {
- tableCache.clear();
- }
-
private CompletableFuture<ExecutableTable> loadTable(int tableId,
TableDescriptor tableDescriptor) {
CompletableFuture<Map.Entry<InternalTable, SchemaRegistry>> f =
tableManager.tableAsync(tableId)
.thenApply(table -> {
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistrySelfTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistrySelfTest.java
index c98ee0c454..740a1cba71 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistrySelfTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutableTableRegistrySelfTest.java
@@ -150,7 +150,7 @@ public class ExecutableTableRegistrySelfTest {
when(schemaManager.schemaRegistry(tableId)).thenReturn(schemaRegistry);
when(schemaRegistry.schema()).thenReturn(schemaDescriptor);
- return registry.getTable(tableId, descriptor);
+ return registry.getTable(schemaVersion, tableId, descriptor);
}
}
}
diff --git
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionDependencyResolverSelfTest.java
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionDependencyResolverSelfTest.java
index 4a71794860..cc5a2e4d7a 100644
---
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionDependencyResolverSelfTest.java
+++
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionDependencyResolverSelfTest.java
@@ -103,8 +103,8 @@ public class ExecutionDependencyResolverSelfTest extends
AbstractPlannerTest {
tester.checkDependencies(deps, t1Id);
tester.checkDependencies(deps, t2Id);
- verify(registry, times(1)).getTable(eq(t1Id), anyString(), same(td1));
- verify(registry, times(1)).getTable(eq(t2Id), anyString(), same(td2));
+ verify(registry, times(1)).getTable(anyInt(), eq(t1Id), anyString(),
same(td1));
+ verify(registry, times(1)).getTable(anyInt(), eq(t2Id), anyString(),
same(td2));
}
/**
@@ -123,7 +123,7 @@ public class ExecutionDependencyResolverSelfTest extends
AbstractPlannerTest {
CompletableFuture<ResolvedDependencies> f =
tester.resolveDependencies("SELECT * FROM test1 WHERE id=1");
tester.checkDependencies(f.join(), t1Id);
- verify(registry, times(1)).getTable(eq(t1Id), anyString(), same(td1));
+ verify(registry, times(1)).getTable(anyInt(), eq(t1Id), anyString(),
same(td1));
}
/**
@@ -151,8 +151,8 @@ public class ExecutionDependencyResolverSelfTest extends
AbstractPlannerTest {
tester.checkDependencies(deps, t1Id);
tester.checkDependencies(deps, t2Id);
- verify(registry, times(1)).getTable(eq(t1Id), anyString(), same(td1));
- verify(registry, times(1)).getTable(eq(t2Id), anyString(), same(td2));
+ verify(registry, times(1)).getTable(anyInt(), eq(t1Id), anyString(),
same(td1));
+ verify(registry, times(1)).getTable(anyInt(), eq(t2Id), anyString(),
same(td2));
}
/**
@@ -173,7 +173,7 @@ public class ExecutionDependencyResolverSelfTest extends
AbstractPlannerTest {
ResolvedDependencies deps = f.join();
tester.checkDependencies(deps, t1Id);
- verify(registry, times(1)).getTable(anyInt(), anyString(),
any(TableDescriptor.class));
+ verify(registry, times(1)).getTable(anyInt(), anyInt(), anyString(),
any(TableDescriptor.class));
}
/**
@@ -261,14 +261,14 @@ public class ExecutionDependencyResolverSelfTest extends
AbstractPlannerTest {
CompletableFuture<ExecutableTable> f =
CompletableFuture.completedFuture(executableTable);
- when(registry.getTable(eq(tableId), anyString(),
any(TableDescriptor.class))).thenReturn(f);
+ when(registry.getTable(anyInt(), eq(tableId), anyString(),
any(TableDescriptor.class))).thenReturn(f);
}
void setError(int tableId, Throwable err) {
CompletableFuture<ExecutableTable> f = new CompletableFuture<>();
f.completeExceptionally(err);
- when(registry.getTable(eq(tableId), anyString(),
any(TableDescriptor.class))).thenReturn(f);
+ when(registry.getTable(anyInt(), eq(tableId), anyString(),
any(TableDescriptor.class))).thenReturn(f);
}
void setColocationGroup(int tableId,
CompletableFuture<ColocationGroup> group) {