[teiid-commits] teiid SVN: r2669 - in branches/7.1.x/engine/src: test/java/org/teiid/query/resolver and 1 other directory.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Thu Oct 21 11:33:12 EDT 2010
Author: shawkins
Date: 2010-10-21 11:33:12 -0400 (Thu, 21 Oct 2010)
New Revision: 2669
Modified:
branches/7.1.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java
Log:
TEIID-1312 fix for procedure defaults in string form
Modified: branches/7.1.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java
===================================================================
--- branches/7.1.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2010-10-21 15:08:08 UTC (rev 2668)
+++ branches/7.1.x/engine/src/main/java/org/teiid/query/sql/visitor/SQLStringVisitor.java 2010-10-21 15:33:12 UTC (rev 2669)
@@ -908,36 +908,36 @@
append(SPACE);
append(obj.getProcedureName());
append("("); //$NON-NLS-1$
- List params = obj.getInputParameters();
- if (params != null) {
- Iterator iter = params.iterator();
- while (iter.hasNext()) {
- SPParameter param = (SPParameter)iter.next();
+ boolean first = true;
+ for (SPParameter param : obj.getInputParameters()) {
+ if (param.isUsingDefault()) {
+ continue;
+ }
+ if (first) {
+ first = false;
+ } else {
+ append(", "); //$NON-NLS-1$
+ }
+ if (obj.displayNamedParameters()) {
+ append(escapeSinglePart(ElementSymbol.getShortName(param.getParameterSymbol().getOutputName())));
+ append(" => "); //$NON-NLS-1$
+ }
- if (obj.displayNamedParameters()) {
- append(escapeSinglePart(ElementSymbol.getShortName(param.getParameterSymbol().getOutputName())));
- append(" => "); //$NON-NLS-1$
- }
-
- if (param.getExpression() == null) {
- if (param.getName() != null) {
- outputDisplayName(obj.getParamFullName(param));
- } else {
- append("?"); //$NON-NLS-1$
- }
+ if (param.getExpression() == null) {
+ if (param.getName() != null) {
+ outputDisplayName(obj.getParamFullName(param));
} else {
- boolean addParens = !obj.displayNamedParameters() && param.getExpression() instanceof CompareCriteria;
- if (addParens) {
- append(Tokens.LPAREN);
- }
- visitNode(param.getExpression());
- if (addParens) {
- append(Tokens.RPAREN);
- }
+ append("?"); //$NON-NLS-1$
}
- if (iter.hasNext()) {
- append(", "); //$NON-NLS-1$
+ } else {
+ boolean addParens = !obj.displayNamedParameters() && param.getExpression() instanceof CompareCriteria;
+ if (addParens) {
+ append(Tokens.LPAREN);
}
+ visitNode(param.getExpression());
+ if (addParens) {
+ append(Tokens.RPAREN);
+ }
}
}
append(")"); //$NON-NLS-1$
Modified: branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java
===================================================================
--- branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java 2010-10-21 15:08:08 UTC (rev 2668)
+++ branches/7.1.x/engine/src/test/java/org/teiid/query/resolver/TestResolver.java 2010-10-21 15:33:12 UTC (rev 2669)
@@ -350,7 +350,7 @@
* @param expectedParameterExpressions
* @since 4.3
*/
- private void helpResolveExec(String sql, Object[] expectedParameterExpressions) {
+ private StoredProcedure helpResolveExec(String sql, Object[] expectedParameterExpressions) {
StoredProcedure proc = (StoredProcedure)helpResolve(sql);
@@ -375,6 +375,8 @@
assertEquals(expectedParameterExpressions[i], param.getExpression());
}
}
+
+ return proc;
}
@@ -1093,7 +1095,8 @@
/** test omitting a required parameter that has a default value */
@Test public void testExecNamedParamsOmitRequiredParamWithDefaultValue() {
Object[] expectedParameterExpressions = new Object[] {new Constant("xyz"), new Constant(new Integer(666)), new Constant("YYZ")};//$NON-NLS-1$ //$NON-NLS-2$
- helpResolveExec("EXEC pm1.sq3b(\"in\" = 'xyz', in2 = 666)", expectedParameterExpressions);//$NON-NLS-1$
+ StoredProcedure sp = helpResolveExec("EXEC pm1.sq3b(\"in\" = 'xyz', in2 = 666)", expectedParameterExpressions);//$NON-NLS-1$
+ assertEquals("EXEC pm1.sq3b(\"in\" => 'xyz', in2 => 666)", sp.toString());
}
@Test public void testExecNamedParamsOptionalParamWithDefaults() {
More information about the teiid-commits
mailing list