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() {