[teiid-commits] teiid SVN: r3365 - in branches/7.4.x/engine/src: test/java/org/teiid/query/rewriter and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Sat Aug 6 10:57:03 EDT 2011


Author: shawkins
Date: 2011-08-06 10:57:03 -0400 (Sat, 06 Aug 2011)
New Revision: 3365

Modified:
   branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/util/ResolverVisitor.java
   branches/7.4.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java
Log:
TEIID-1696 fixing the issue with sys schema qualification

Modified: branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/util/ResolverVisitor.java
===================================================================
--- branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/util/ResolverVisitor.java	2011-08-05 18:33:39 UTC (rev 3364)
+++ branches/7.4.x/engine/src/main/java/org/teiid/query/resolver/util/ResolverVisitor.java	2011-08-06 14:57:03 UTC (rev 3365)
@@ -34,9 +34,11 @@
 import org.teiid.api.exception.query.QueryMetadataException;
 import org.teiid.api.exception.query.QueryResolverException;
 import org.teiid.api.exception.query.UnresolvedSymbolDescription;
+import org.teiid.core.CoreConstants;
 import org.teiid.core.TeiidComponentException;
 import org.teiid.core.types.DataTypeManager;
 import org.teiid.core.types.DataTypeManager.DefaultDataClasses;
+import org.teiid.core.util.StringUtil;
 import org.teiid.query.QueryPlugin;
 import org.teiid.query.function.FunctionDescriptor;
 import org.teiid.query.function.FunctionForm;
@@ -74,7 +76,9 @@
 
 public class ResolverVisitor extends LanguageVisitor {
     
-    private static class ElementMatch {
+    private static final String SYS_PREFIX = CoreConstants.SYSTEM_MODEL + '.';
+
+	private static class ElementMatch {
     	ElementSymbol element;
     	GroupSymbol group;
     	
@@ -536,6 +540,9 @@
 	    // Resolve the function
 	    function.setFunctionDescriptor(fd);
 	    function.setType(fd.getReturnType());
+	    if (CoreConstants.SYSTEM_MODEL.equals(fd.getSchema()) && StringUtil.startsWithIgnoreCase(function.getName(), SYS_PREFIX)) {
+	    	function.setName(function.getName().substring(SYS_PREFIX.length()));
+	    }
 	}
 
 	/**

Modified: branches/7.4.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java
===================================================================
--- branches/7.4.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java	2011-08-05 18:33:39 UTC (rev 3364)
+++ branches/7.4.x/engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java	2011-08-06 14:57:03 UTC (rev 3365)
@@ -2066,7 +2066,7 @@
     }
     
     @Test public void testRewriteConcat2() {
-        helpTestRewriteCriteria("concat2('a','b') = 'ab'", "1 = 1"); //$NON-NLS-1$ //$NON-NLS-2$
+        helpTestRewriteCriteria("sys.concat2('a','b') = 'ab'", "1 = 1"); //$NON-NLS-1$ //$NON-NLS-2$
     }
     
     @Test public void testRewriteConcat2_1() {



More information about the teiid-commits mailing list