[teiid-commits] teiid SVN: r2905 - in trunk/engine/src: test/java/org/teiid/query/metadata and 1 other directory.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Mon Feb 14 15:12:15 EST 2011
Author: shawkins
Date: 2011-02-14 15:12:15 -0500 (Mon, 14 Feb 2011)
New Revision: 2905
Modified:
trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java
Log:
TEIID-1467 fix for procedure visibility issue
Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2011-02-14 01:30:06 UTC (rev 2904)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java 2011-02-14 20:12:15 UTC (rev 2905)
@@ -352,7 +352,7 @@
for (StoredProcedureInfo storedProcedureInfo : results) {
Schema schema = (Schema)storedProcedureInfo.getModelID();
- if(vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
+ if(fullyQualifiedProcedureName.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
if (result != null) {
throw new QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure", fullyQualifiedProcedureName)); //$NON-NLS-1$
}
@@ -743,6 +743,10 @@
return vdbMetaData.getVersion();
}
+ public VDBMetaData getVdbMetaData() {
+ return vdbMetaData;
+ }
+
/**
* @see org.teiid.query.metadata.QueryMetadataInterface#getXMLTempGroups(java.lang.Object)
*/
Modified: trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java 2011-02-14 01:30:06 UTC (rev 2904)
+++ trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java 2011-02-14 20:12:15 UTC (rev 2905)
@@ -61,6 +61,16 @@
assertEquals("Procedure 'y' is ambiguous, use the fully qualified name instead", e.getMessage()); //$NON-NLS-1$
}
}
+
+ @Test public void testProcVisibility() throws Exception {
+ TransformationMetadata tm = exampleTransformationMetadata();
+ VDBMetaData vdb = tm.getVdbMetaData();
+ vdb.getModel("x").setVisible(false);
+ StoredProcedureInfo spi = tm.getStoredProcedureInfoForProcedure("y"); //$NON-NLS-1$
+ assertEquals("x1.y", spi.getProcedureCallableName());
+ spi = tm.getStoredProcedureInfoForProcedure("x.y"); //$NON-NLS-1$
+ assertEquals("x.y", spi.getProcedureCallableName());
+ }
private TransformationMetadata exampleTransformationMetadata()
throws TranslatorException {
More information about the teiid-commits
mailing list