[teiid-commits] teiid SVN: r3637 - in trunk: test-integration/common/src/test/java/org/teiid/transport and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Fri Nov 11 14:53:20 EST 2011


Author: shawkins
Date: 2011-11-11 14:53:20 -0500 (Fri, 11 Nov 2011)
New Revision: 3637

Modified:
   trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
   trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
Log:
TEIID-1750 fix for lob streaming.  lobs must be run through the lobmanager before being returned to the client

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java	2011-11-11 15:33:45 UTC (rev 3636)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java	2011-11-11 19:53:20 UTC (rev 3637)
@@ -522,6 +522,9 @@
 				}
 				addToCache();
 				synchronized (lobStreams) {
+					if (resultsBuffer.isLobs()) {
+						super.flushBatchDirect(batch, false);
+					}
 					add = sendResultsIfNeeded(batch);
 					if (cid != null) {
 						return;

Modified: trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java	2011-11-11 15:33:45 UTC (rev 3636)
+++ trunk/test-integration/common/src/test/java/org/teiid/transport/TestJDBCSocketTransport.java	2011-11-11 19:53:20 UTC (rev 3637)
@@ -90,6 +90,13 @@
 		TestMMDatabaseMetaData.compareResultSet(s.getResultSet());
 	}
 	
+	@Test public void testLobStreaming() throws Exception {
+		Statement s = conn.createStatement();
+		assertTrue(s.execute("select xmlelement(name \"root\") from tables"));
+		s.getResultSet().next();
+		assertEquals("<root></root>", s.getResultSet().getString(1));
+	}
+	
 	/**
 	 * Ensures if you start more than the maxActivePlans
 	 * where all the plans take up more than output buffer limit



More information about the teiid-commits mailing list