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
    Affects Versions: 10.7.1.1
         Environment: OS X 10.6.5, Java 1.6
            Reporter: Brett Wooldridge


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

        

Reply via email to