Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 78181 invoked from network); 25 Jul 2006 16:52:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 25 Jul 2006 16:52:03 -0000 Received: (qmail 78350 invoked by uid 500); 25 Jul 2006 16:51:40 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 78301 invoked by uid 500); 25 Jul 2006 16:51:40 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 78279 invoked by uid 99); 25 Jul 2006 16:51:40 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Jul 2006 09:51:40 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.237.227.198] (HELO brutus.apache.org) (209.237.227.198) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 25 Jul 2006 09:51:39 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id E6E9871429B for ; Tue, 25 Jul 2006 16:49:14 +0000 (GMT) Message-ID: <27621372.1153846154943.JavaMail.jira@brutus> Date: Tue, 25 Jul 2006 09:49:14 -0700 (PDT) From: "Kristian Waagan (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-1417) Add new, lengthless overloads to the streaming api In-Reply-To: <5577812.1150385909863.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/DERBY-1417?page=all ] Kristian Waagan updated DERBY-1417: ----------------------------------- Attachment: derby-1417-6a-clientimpl.diff derby-1417-6a-clientimpl.stat 'derby-1417-6a-clientimpl.diff' adds the client side implementations of the length less overloads. I had to make some changes "here and there" to get this working, and I remind people that this is a somewhat temporarily implementation due to the fact that we do not (yet) support streaming of data with unknown length. Therefore, streams used for input are exhausted and materialized in memory before they are sent from the client to the server. This is the last patch adding new JDBC 4 methods, but there will be at least one more follow-up patch for the embedded driver (to fix OutOfMemoryError), and DERBY-1473 should be completed as well. Comments to the patch: * LOBs are materialized when execute* is called (in [BC]lob.length()). * I renamed and generalized the existing class UTF32BEEncodedInputStream to reuse code. It now delivers InputStreams with UTF8 or UTF16 encoding and is used to create a stream from a reader. * I continued to use the encoding "US-ASCII" over "ISO-8859-1" to be consistent. This will be handled by DERBY-1519. * I added ByteArrayCombinerStream (and a test) to reduce memory usage on the client. * I enabled tests temporarily disabled for DerbyNetClient. I ran suite jdbc4 without failures. Because I'm running a bit short of time, I post the patch before my derbyalls are finished. I will add the results tomorrow. Patch is ready for review. For the committer: I did a 'svn rename' on UTF32BEEncodedInputStream. I think it should be handled by the diff, but keep an extra eye on it :) Thanks, > Add new, lengthless overloads to the streaming api > -------------------------------------------------- > > Key: DERBY-1417 > URL: http://issues.apache.org/jira/browse/DERBY-1417 > Project: Derby > Issue Type: New Feature > Components: JDBC > Affects Versions: 10.2.0.0 > Reporter: Rick Hillegas > Assigned To: Kristian Waagan > Fix For: 10.2.0.0 > > Attachments: derby-1417-01-castsInTests.diff, derby-1417-1a-notImplemented.diff, derby-1417-1a-notImplemented.stat, derby-1417-2a-rstest-refactor.diff, derby-1417-3a-embimpl-and-tests.diff, derby-1417-3a-embimpl-and-tests.stat, derby-1417-3b-embimpl-and-tests.diff, derby-1417-3b-embimpl-and-tests.stat, derby-1417-4a-disable-psTestsDnc.diff, derby-1417-5a-brokered.diff, derby-1417-5a-brokered.stat, derby-1417-6a-clientimpl.diff, derby-1417-6a-clientimpl.stat > > > The JDBC4 Expert Group has approved a new set of overloads for the streaming methods. These overloads do not take a length argument. Here are the new overloads: > PreparedStatement.setAsciiStream(int parameterIndex, java.io.InputStream x) > PreparedStatement.setBinaryStream(int parameterIndex, java.io.InputStream x) > PreparedStatement.setCharacterStream(int parameterIndex, java.io.Reader reader) > PreparedStatement.setNCharacterStream(int parameterIndex, java.io.Reader reader) > PreparedStatement.setBlob(int parameterIndex, java.io.InputStream inputStream) > PreparedStatement.setClob(int parameterIndex, java.io.Reader reader) > PreparedStatement.setNClob(int parameterIndex, java.io.Reader reader) > CallableStatement.setAsciiStream(java.lang.String parameterName, java.io.InputStream x) > CallableStatement.setBinaryStream(java.lang.String parameterName, java.io.InputStream x) > CallableStatement.setCharacterStream(java.lang.String parameterName, java.io.Reader reader) > CallableStatement.setNCharacterStream(java.lang.String parameterName, java.io.Reader reader) > CallableStatement.setBlob(java.lang.String parameterName, java.io.InputStream inputStream) > CallableStatement.setClob(java.lang.String parameterName, java.io.Reader reader) > CallableStatement.setNClob(java.lang.String parameterName, java.io.Reader reader) > ResultSet.updateAsciiStream(int columnIndex, java.io.InputStream x) > ResultSet.updateAsciiStream(java.lang.String columnLabel, java.io.InputStream x) > ResultSet.updateBinaryStream(int columnIndex, java.io.InputStream x) > ResultSet.updateBinaryStream(java.lang.String columnLabel, java.io.InputStream x, int length) > ResultSet.updateCharacterStream(int columnIndex, java.io.Reader x) > ResultSet.updateCharacterStream(java.lang.String columnLabel, java.io.Reader x) > ResultSet.updateNCharacterStream(int columnIndex, java.io.Reader x) > ResultSet.updateNCharacterStream(java.lang.String columnLabel, java.io.Reader x) > ResultSet.updateBlob(int columnIndex, java.io.InputStream inputStream) > ResultSet.updateBlob(java.lang.String columnLabel, java.io.InputStream inputStream) > ResultSet.updateClob(int columnIndex, java.io.Reader reader) > ResultSet.updateClob(java.lang.String columnLabel, java.io.Reader reader) > ResultSet.updateNClob(int columnIndex, java.io.Reader reader) > ResultSet.updateNClob(java.lang.String columnLabel, java.io.Reader reader) > We should add these new overloads soon so that the build will not break when this methods turn up in a published Mustang build. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira