db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-5042) ResultSet.updateBoolean() on new BOOLEAN type throws exception
Date Wed, 23 Feb 2011 19:35:38 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5042?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Knut Anders Hatlen updated DERBY-5042:
--------------------------------------

    Attachment: derby-5042-1a.diff

Attaching a patch that makes PreparedStatement and ResultSet agree on whether a boolean value
should be represented by a java.lang.Boolean or a java.lang.Short, and also adds a test case
that exposes the bug and verifies the fix.

Running regression tests now.

> ResultSet.updateBoolean() on new BOOLEAN type throws exception
> --------------------------------------------------------------
>
>                 Key: DERBY-5042
>                 URL: https://issues.apache.org/jira/browse/DERBY-5042
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.7.1.1
>         Environment: OS X 10.6.5, Java 1.6
>            Reporter: Brett Wooldridge
>            Assignee: Knut Anders Hatlen
>         Attachments: derby-5042-1a.diff
>
>
> I am encountering an error trying to update a BOOLEAN type through an
> updatable ResultSet.  My table looks like this:
> CREATE TABLE file_store (
>   path VARCHAR(255) NOT NULL,
>   network VARCHAR(32) NOT NULL,
>   file_blob BLOB,
>   file_md5 VARCHAR(32),
>   is_directory BOOLEAN NOT NULL DEFAULT false,
>   PRIMARY KEY (path, network)
> );
> My SQL looks like this:
> SELECT path, network, is_directory FROM file_store
> WHERE path=? AND network=? AND is_directory=true FOR UPDATE OF path, network, is_directory
> My Java code looks like this:
> ...
> resultSet.moveToInsertRow();
> resultSet.updateString("path", dirPath);
> resultSet.updateString("network", network);
> resultSet.updateBoolean("is_directory", true);
> resultSet.insertRow();
> An exception is thrown in the call to updateBoolean() as follows:
> java.sql.SQLException: An attempt was made to put a data value of type 'byte' into a
data value of type 'BOOLEAN'.
> It's a shame, I was looking forward to using the new BOOLEAN type before I roll out the
next version of our software.  For now I will fallback to SMALLINT.  Does/will ALTER TABLE
support a change from SMALLINT to BOOLEAN?

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message