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 {
Show replies by date