[teiid-commits] teiid SVN: r2958 - in trunk/engine/src: main/java/org/teiid/dqp/internal/process/multisource and 10 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Wed Mar 2 15:28:36 EST 2011
Author: shawkins
Date: 2011-03-02 15:28:34 -0500 (Wed, 02 Mar 2011)
New Revision: 2958
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java
trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java
trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java
trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
trunk/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java
trunk/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java
trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java
trunk/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java
trunk/engine/src/main/resources/org/teiid/query/i18n.properties
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
trunk/engine/src/test/java/org/teiid/query/resolver/TestResolver.java
trunk/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java
trunk/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java
Log:
TEIID-1489 fix for getting the design time metadata for resolving views/procedures
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -196,14 +196,16 @@
throw new TeiidComponentException(QueryPlugin.Util.getString("DQPCore.Unable_to_load_metadata_for_VDB_name__{0},_version__{1}", this.vdbName, this.vdbVersion)); //$NON-NLS-1$
}
- this.metadata = new TempMetadataAdapter(metadata, new TempMetadataStore());
-
// Check for multi-source models and further wrap the metadata interface
Set<String> multiSourceModelList = workContext.getVDB().getMultiSourceModelNames();
if(multiSourceModelList != null && multiSourceModelList.size() > 0) {
this.multiSourceModels = multiSourceModelList;
this.metadata = new MultiSourceMetadataWrapper(this.metadata, this.multiSourceModels);
}
+
+ TempMetadataAdapter tma = new TempMetadataAdapter(metadata, new TempMetadataStore());
+ tma.setSession(true);
+ this.metadata = tma;
}
protected void createCommandContext() throws QueryValidatorException {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/multisource/MultiSourceMetadataWrapper.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -352,5 +352,10 @@
}
return false;
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return new MultiSourceMetadataWrapper(actualMetadata.getDesignTimeMetadata(), multiSourceModels);
+ }
}
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadata.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -518,5 +518,15 @@
public boolean isMultiSourceElement(Object elementId) {
return false;
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return this;
+ }
+
+ @Override
+ public boolean hasProcedure(String name) throws TeiidComponentException {
+ return false;
+ }
}
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/BasicQueryMetadataWrapper.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -383,5 +383,15 @@
public boolean isMultiSourceElement(Object elementId) throws QueryMetadataException, TeiidComponentException {
return actualMetadata.isMultiSourceElement(elementId);
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return actualMetadata.getDesignTimeMetadata();
+ }
+
+ @Override
+ public boolean hasProcedure(String name) throws TeiidComponentException {
+ return actualMetadata.hasProcedure(name);
+ }
}
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/QueryMetadataInterface.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -684,4 +684,8 @@
boolean isMultiSource(Object modelId) throws QueryMetadataException, TeiidComponentException;
boolean isMultiSourceElement(Object elementId) throws QueryMetadataException, TeiidComponentException;
+
+ QueryMetadataInterface getDesignTimeMetadata();
+
+ boolean hasProcedure(String name) throws TeiidComponentException;
}
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -58,6 +58,7 @@
private TempMetadataStore tempStore;
private Map materializationTables;
private Map queryNodes;
+ private boolean session;
public TempMetadataAdapter(QueryMetadataInterface metadata, TempMetadataStore tempStore) {
super(metadata);
@@ -69,8 +70,23 @@
this.tempStore = tempStore;
this.materializationTables = materializationTables;
this.queryNodes = queryNodes;
- }
+ }
+ public boolean isSession() {
+ return session;
+ }
+
+ public void setSession(boolean session) {
+ this.session = session;
+ }
+
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ if (isSession()) {
+ return this.actualMetadata.getDesignTimeMetadata();
+ }
+ return new TempMetadataAdapter(this.actualMetadata.getDesignTimeMetadata(), tempStore, materializationTables, queryNodes);
+ }
+
public TempMetadataStore getMetadataStore() {
return this.tempStore;
}
@@ -290,8 +306,11 @@
throws TeiidComponentException, QueryMetadataException {
// check if any dynamic materialization tables are defined
- if (this.materializationTables != null && this.materializationTables.containsKey(groupID)) {
- return this.materializationTables.get(groupID);
+ if (this.materializationTables != null) {
+ Object result = this.materializationTables.get(groupID);
+ if (result != null) {
+ return result;
+ }
}
if(groupID instanceof TempMetadataID) {
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -158,6 +158,13 @@
}
}
+ private TransformationMetadata(final CompositeMetadataStore store, FunctionLibrary functionLibrary) {
+ ArgCheck.isNotNull(store);
+ this.store = store;
+ this.vdbEntries = Collections.emptyMap();
+ this.functionLibrary = functionLibrary;
+ }
+
//==================================================================================
// I N T E R F A C E M E T H O D S
//==================================================================================
@@ -286,11 +293,31 @@
throw createInvalidRecordTypeException(elementID);
}
}
+
+ public boolean hasProcedure(String name) throws TeiidComponentException {
+ try {
+ return getStoredProcedureInfoForProcedure(name) != null;
+ } catch (QueryMetadataException e) {
+ return false;
+ }
+ }
- public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String fullyQualifiedProcedureName)
+ public StoredProcedureInfo getStoredProcedureInfoForProcedure(final String name)
throws TeiidComponentException, QueryMetadataException {
- ArgCheck.isNotEmpty(fullyQualifiedProcedureName);
- String lowerGroupName = fullyQualifiedProcedureName.toLowerCase();
+ StoredProcedureInfo result = getStoredProcInfoDirect(name);
+
+ if (result == null) {
+ throw new QueryMetadataException(name+NOT_EXISTS_MESSAGE);
+ }
+
+ return result;
+ }
+
+ private StoredProcedureInfo getStoredProcInfoDirect(
+ final String name)
+ throws TeiidComponentException, QueryMetadataException {
+ ArgCheck.isNotEmpty(name);
+ String lowerGroupName = name.toLowerCase();
Collection<StoredProcedureInfo> results = this.procedureCache.get(lowerGroupName);
if (results == null) {
@@ -352,20 +379,15 @@
for (StoredProcedureInfo storedProcedureInfo : results) {
Schema schema = (Schema)storedProcedureInfo.getModelID();
- if(fullyQualifiedProcedureName.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
+ if(name.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
if (result != null) {
- throw new QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure", fullyQualifiedProcedureName)); //$NON-NLS-1$
+ throw new QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure", name)); //$NON-NLS-1$
}
result = storedProcedureInfo;
}
}
-
- if (result == null) {
- throw new QueryMetadataException(fullyQualifiedProcedureName+NOT_EXISTS_MESSAGE);
- }
-
- return result;
- }
+ return result;
+ }
/**
* Method to convert the parameter type returned from a ProcedureParameterRecord
@@ -1085,4 +1107,9 @@
Table table = (Table)metadataID;
return table.getPrimaryKey();
}
+
+ @Override
+ public QueryMetadataInterface getDesignTimeMetadata() {
+ return new TransformationMetadata(store, functionLibrary);
+ }
}
\ No newline at end of file
Modified: trunk/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/optimizer/xml/QueryUtil.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -83,7 +83,7 @@
if (query == null) {
try {
query = QueryParser.getQueryParser().parseCommand(queryNode.getQuery());
- QueryResolver.resolveWithBindingMetadata(query, env.getGlobalMetadata(), queryNode, true);
+ QueryResolver.resolveWithBindingMetadata(query, env.getGlobalMetadata().getDesignTimeMetadata(), queryNode, true);
} catch (TeiidException e) {
throw new QueryPlannerException(e, QueryPlugin.Util.getString("ERR.015.004.0054", new Object[]{queryNode.getGroupName(), queryNode.getQuery()})); //$NON-NLS-1$
}
Modified: trunk/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/processor/proc/ExecDynamicSqlInstruction.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -22,7 +22,7 @@
package org.teiid.query.processor.proc;
-import static org.teiid.query.analysis.AnalysisRecord.PROP_SQL;
+import static org.teiid.query.analysis.AnalysisRecord.*;
import java.util.Collections;
import java.util.HashMap;
@@ -162,7 +162,7 @@
parentProcCommand.getVirtualGroup(), metadata);
}
- QueryResolver.resolveCommand(command, metadata);
+ QueryResolver.resolveCommand(command, metadata.getDesignTimeMetadata());
validateDynamicCommand(procEnv, command);
Modified: trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/resolver/ProcedureContainerResolver.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -98,7 +98,7 @@
try {
subCommand = parser.parseUpdateProcedure(plan);
} catch(QueryParserException e) {
- throw new QueryResolverException(e, "ERR.015.008.0045", QueryPlugin.Util.getString("ERR.015.008.0045", group)); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new QueryResolverException(e, "ERR.015.008.0045", QueryPlugin.Util.getString("ERR.015.008.0045", group, procCommand.getClass().getSimpleName())); //$NON-NLS-1$ //$NON-NLS-2$
}
return subCommand;
Modified: trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/resolver/QueryResolver.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -119,7 +119,7 @@
cupCommand.setProjectedSymbols(proc.getProjectedSymbols());
}
}
- resolveCommand(command, proc.getGroup(), proc.getType(), metadata);
+ resolveCommand(command, proc.getGroup(), proc.getType(), metadata.getDesignTimeMetadata());
return command;
}
@@ -427,6 +427,7 @@
String cacheString, QueryMetadataInterface qmi) throws TeiidComponentException,
QueryMetadataException, QueryResolverException,
QueryValidatorException {
+ qmi = qmi.getDesignTimeMetadata();
Command result = (Command)qmi.getFromMetadataCache(virtualGroup.getMetadataID(), "transformation/" + cacheString); //$NON-NLS-1$
if (result != null) {
result = (Command)result.clone();
Modified: trunk/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/java/org/teiid/query/resolver/command/TempTableResolver.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -71,6 +71,10 @@
if(!exitsingGroups.isEmpty()) {
throw new QueryResolverException(QueryPlugin.Util.getString("TempTableResolver.table_already_exists", group.getName())); //$NON-NLS-1$
}
+ if (metadata.getMetadata().hasProcedure(group.getName())) {
+ throw new QueryResolverException(QueryPlugin.Util.getString("TempTableResolver.table_already_exists", group.getName())); //$NON-NLS-1$
+ }
+
//now we will be more specific for temp groups
TempMetadataID id = metadata.getMetadataStore().getTempGroupID(group.getName());
if (id != null && !metadata.isTemporaryTable(id)) {
Modified: trunk/engine/src/main/resources/org/teiid/query/i18n.properties
===================================================================
--- trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/main/resources/org/teiid/query/i18n.properties 2011-03-02 20:28:34 UTC (rev 2958)
@@ -114,7 +114,7 @@
ERR.015.008.0041= Expected value of type ''{0}'' but ''{1}'' is of type ''{2}'' and no implicit conversion is available.
ERR.015.008.0042= Element ''{0}'' in ORDER BY is ambiguous and may refer to more than one element of SELECT clause.
ERR.015.008.0043= Element ''{0}'' in ORDER BY was not found in SELECT clause.
-ERR.015.008.0045= Failed parsing insert plan for {0}
+ERR.015.008.0045= Failed parsing {1} plan for {0}
ERR.015.008.0046= The symbol {0} may only be used once in the FROM clause.
ERR.015.008.0047= The symbol {0} refers to a group not defined in the FROM clause.
ERR.015.008.0049= Bindings must be specified
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestDQPCore.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -52,8 +52,9 @@
private DQPCore core;
@Before public void setUp() throws Exception {
- DQPWorkContext context = FakeMetadataFactory.buildWorkContext(FakeMetadataFactory.exampleBQTCached(), FakeMetadataFactory.exampleBQTVDB());
+ DQPWorkContext context = FakeMetadataFactory.buildWorkContext(FakeMetadataFactory.exampleBQT());
context.getVDB().getModel("BQT3").setVisible(false); //$NON-NLS-1$
+ context.getVDB().getModel("VQT").setVisible(false); //$NON-NLS-1$
ConnectorManagerRepository repo = Mockito.mock(ConnectorManagerRepository.class);
context.getVDB().addAttchment(ConnectorManagerRepository.class, repo);
@@ -159,6 +160,14 @@
}
/**
+ * Ensures that VQT visibility does not affect the view query
+ */
+ @Test public void testViewVisibility() throws Exception {
+ String sql = "SELECT * FROM VQT.SmallA_2589g"; //$NON-NLS-1$
+ helpExecute(sql, "a"); //$NON-NLS-1$
+ }
+
+ /**
* Tests whether an exception result is sent when an exception occurs
* @since 4.3
*/
Modified: trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/test/java/org/teiid/query/processor/TestTempTables.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -22,8 +22,7 @@
package org.teiid.query.processor;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
import java.util.Arrays;
import java.util.Collection;
@@ -66,6 +65,7 @@
@Before public void setUp() {
tempStore = new TempTableStore("1"); //$NON-NLS-1$
metadata = new TempMetadataAdapter(FakeMetadataFactory.example1Cached(), tempStore.getMetadataStore());
+ metadata.setSession(true);
FakeDataManager fdm = new FakeDataManager();
TestProcessor.sampleData1(fdm);
BufferManager bm = BufferManagerFactory.getStandaloneBufferManager();
@@ -286,7 +286,16 @@
execute("create local temporary table x (e1 serial, e2 integer not null, primary key (e1))", new List[] {Arrays.asList(0)}); //$NON-NLS-1$
execute("insert into x (e2) values ((select null))", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
}
-
+
+ /**
+ * If the session metadata is still visible, then the procedure will fail due to the conflicting
+ * definitions of temp_table
+ */
+ @Test public void testSessionResolving() throws Exception {
+ execute("create local temporary table temp_table (column1 integer)", new List[] {Arrays.asList(0)});
+ execute("exec pm1.vsp60()", new List[] {Arrays.asList("First"), Arrays.asList("Second"), Arrays.asList("Third")});
+ }
+
private void sampleTable() throws Exception {
execute("create local temporary table x (e1 string, e2 integer, primary key (e1, e2))", new List[] {Arrays.asList(0)}); //$NON-NLS-1$
execute("insert into x (e2, e1) values (3, 'b')", new List[] {Arrays.asList(1)}); //$NON-NLS-1$
Modified: trunk/engine/src/test/java/org/teiid/query/resolver/TestResolver.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/resolver/TestResolver.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/test/java/org/teiid/query/resolver/TestResolver.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -2338,6 +2338,11 @@
String sql = "CREATE LOCAL TEMPORARY TABLE pm1.g1 (column1 string)"; //$NON-NLS-1$
helpResolveException(sql, "Cannot create temporary table \"pm1.g1\". Local temporary tables must be created with unqualified names."); //$NON-NLS-1$
}
+
+ @Test public void testProcedureConflict() {
+ String sql = "create local temporary table MMSP6 (e1 string, e2 integer)"; //$NON-NLS-1$
+ helpResolveException(sql, RealMetadataFactory.exampleBQTCached()); //$NON-NLS-1$
+ }
@Test public void testCreatePk() {
String sql = "CREATE LOCAL TEMPORARY TABLE foo (column1 string, column2 integer, primary key (column1, column2))"; //$NON-NLS-1$
Modified: trunk/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/test/java/org/teiid/query/unittest/FakeMetadataFactory.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -83,6 +83,10 @@
return CACHED_AGGREGATES;
}
+ public static DQPWorkContext buildWorkContext(TransformationMetadata metadata) {
+ return buildWorkContext(metadata, metadata.getVdbMetaData());
+ }
+
public static DQPWorkContext buildWorkContext(QueryMetadataInterface metadata, VDBMetaData vdb) {
DQPWorkContext workContext = new DQPWorkContext();
SessionMetadata session = new SessionMetadata();
Modified: trunk/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java 2011-03-02 19:37:19 UTC (rev 2957)
+++ trunk/engine/src/test/java/org/teiid/query/unittest/RealMetadataFactory.java 2011-03-02 20:28:34 UTC (rev 2958)
@@ -117,7 +117,7 @@
QueryNode vqtn2589f = new QueryNode("VQT.SmallA_2589f", "SELECT * FROM VQT.SmallA_2589"); //$NON-NLS-1$ //$NON-NLS-2$
Table vqtg2589f = createVirtualGroup("SmallA_2589f", vqt, vqtn2589f); //$NON-NLS-1$
- QueryNode vqtn2589g = new QueryNode("VQT.SmallA_2589g", "SELECT * FROM VQT.SmallA_2589b"); //$NON-NLS-1$ //$NON-NLS-2$
+ QueryNode vqtn2589g = new QueryNode("VQT.SmallA_2589g", "SELECT * FROM SmallA_2589b"); //$NON-NLS-1$ //$NON-NLS-2$
Table vqtg2589g = createVirtualGroup("SmallA_2589g", vqt, vqtn2589g); //$NON-NLS-1$
QueryNode vqtn2589h = new QueryNode("VQT.SmallA_2589h", "SELECT VQT.SmallA_2589.* FROM VQT.SmallA_2589 INNER JOIN BQT1.SmallB ON VQT.SmallA_2589.StringKey = SmallB.StringKey"); //$NON-NLS-1$ //$NON-NLS-2$
More information about the teiid-commits
mailing list