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
Show replies by date