Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 67750 invoked from network); 14 Oct 2005 23:55:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 14 Oct 2005 23:55:08 -0000 Received: (qmail 85961 invoked by uid 500); 14 Oct 2005 23:55:07 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 85943 invoked by uid 500); 14 Oct 2005 23:55:06 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 85934 invoked by uid 99); 14 Oct 2005 23:55:06 -0000 X-ASF-Spam-Status: No, hits=1.3 required=10.0 tests=SPF_FAIL X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Oct 2005 16:55:06 -0700 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id 75E3A514 for ; Sat, 15 Oct 2005 01:54:45 +0200 (CEST) Message-ID: <1318506541.1129334085480.JavaMail.jira@ajax.apache.org> Date: Sat, 15 Oct 2005 01:54:45 +0200 (CEST) From: "A B (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-628) setNull() using Types.VARCHAR for a CLOB parameter fails in embedded mode. In-Reply-To: <1018532398.1129333965957.JavaMail.jira@ajax.apache.org> 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-628?page=all ] A B updated DERBY-628: ---------------------- Attachment: setNull.java Attaching a simple program to reproduce the problem. To run against Derby embedded, use java setNull To run against Derby Client, use java setNull client To run against JCC, use java setNull jcc > setNull() using Types.VARCHAR for a CLOB parameter fails in embedded mode. > -------------------------------------------------------------------------- > > Key: DERBY-628 > URL: http://issues.apache.org/jira/browse/DERBY-628 > Project: Derby > Type: Bug > Components: JDBC > Reporter: A B > Priority: Minor > Fix For: 10.2.0.0 > Attachments: setNull.java > > If I attempt to call PreparedStatement.setNull() and specify Types.VARCHAR when the actual parameter type (as determined at bind time) is CLOB, Derby in embedded mode will throw an error, while Derby in client/server mode will succeed. > Ex. running the following code: > st.execute("create table t1 (c clob)"); > PreparedStatement pSt = conn.prepareStatement( > "insert into t1 values (?)"); > try { > pSt.setNull(1, Types.VARCHAR); > pSt.execute(); > System.out.println("Error did NOT reproduce."); > } catch (SQLException se) { > System.out.println("Error reproduced:"); > se.printStackTrace(); > } > Against Derby embedded, the result will be: > Error reproduced: > SQL Exception: An attempt was made to get a data value of type 'CLOB' from a data value of type 'VARCHAR'. > But against the Network Server, everything works fine. Derby embedded will work in other cases where compatible types are used (ex. using setNull() with Types.INTEGER for a BIGINT parameter), but fails for this particular situation. Thus I'm assuming this is _not_ intentional (i.e. that the above code should work). > Looks like the problem is in iapi.types.DataTypeDescriptor: > private static boolean isCharacterType(int jdbcType) { > switch (jdbcType) { > case Types.CHAR: > case Types.VARCHAR: > case Types.LONGVARCHAR: > return true; > default: > return false; > } > } > I think CLOB should be included in this list, too, shouldn't it? In iapi.types.TypeId, "isStringTypeId" is true for CLOBs as well as for the other character types, so it seems like the above method should have similar logic. -- 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