[teiid-commits] teiid SVN: r4075 - in branches/7.7.x: engine/src/main/java/org/teiid/dqp/internal/datamgr and 1 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Tue May 8 13:12:28 EDT 2012


Author: shawkins
Date: 2012-05-08 13:12:27 -0400 (Tue, 08 May 2012)
New Revision: 4075

Modified:
   branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java
   branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
   branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
Log:
TEIID-2020: Running Sybase procedure with jconnect driver in Teiid fails 

Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java
===================================================================
--- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java	2012-05-08 13:55:30 UTC (rev 4074)
+++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCBaseExecution.java	2012-05-08 17:12:27 UTC (rev 4075)
@@ -38,6 +38,7 @@
 import org.teiid.translator.Execution;
 import org.teiid.translator.ExecutionContext;
 import org.teiid.translator.TranslatorException;
+import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory;
 
 
 /**
@@ -135,7 +136,10 @@
     }
 
     protected void setSizeContraints(Statement statement) {
-    	try {
+    	try {	
+    		if (statement instanceof CallableStatement && this.executionFactory instanceof SybaseExecutionFactory) {
+    			return;
+    		}
 			statement.setFetchSize(fetchSize);
 		} catch (SQLException e) {
 			if (LogManager.isMessageToBeRecorded(LogConstants.CTX_CONNECTOR, MessageLevel.DETAIL)) {

Modified: branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java	2012-05-08 13:55:30 UTC (rev 4074)
+++ branches/7.7.x/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java	2012-05-08 17:12:27 UTC (rev 4075)
@@ -218,6 +218,9 @@
 	        // Translate the command
 	        Command command = this.requestMsg.getCommand();
 	        this.expectedColumns = command.getProjectedSymbols().size();
+	        if (command instanceof StoredProcedure) {
+	        	this.expectedColumns = ((StoredProcedure)command).getResultSetColumns().size();
+	        }
 	        LanguageBridgeFactory factory = new LanguageBridgeFactory(queryMetadata);
 	        factory.setConvertIn(!this.connector.supportsInCriteria());
 	        this.translatedCommand = factory.translate(command);

Modified: branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
===================================================================
--- branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java	2012-05-08 13:55:30 UTC (rev 4074)
+++ branches/7.7.x/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java	2012-05-08 17:12:27 UTC (rev 4075)
@@ -800,6 +800,8 @@
         case MetadataConstants.PARAMETER_TYPES.RETURN_VALUE:
         	type = ProcedureParameter.Type.ReturnValue;
         	break;
+        default:
+        	throw new IllegalArgumentException("Invalid parameter type, please ensure all parameter types are valid in Designer.");
         }
         paramRd.setType(type);
 



More information about the teiid-commits mailing list