commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Malcolm McLean (JIRA)" <j...@apache.org>
Subject [jira] Created: (DBUTILS-41) Inserting/updating null in a timestamp field with PostgreSQL 8.x
Date Fri, 05 Oct 2007 13:44:51 GMT
Inserting/updating null in a timestamp field with PostgreSQL 8.x
----------------------------------------------------------------

                 Key: DBUTILS-41
                 URL: https://issues.apache.org/jira/browse/DBUTILS-41
             Project: Commons DbUtils
          Issue Type: Bug
    Affects Versions: 1.1
         Environment: Linux CentOS 2.6.18-8.1.4.el5, PostgreSQL  8.2.4, Java 1.6.0_01
            Reporter: Malcolm McLean
            Priority: Minor


When inserting or updating a value to null on timestamp (date) field in a PostgreSQL database,
the following error is returned:
column "foo" is of type timestamp without time zone but expression is of type character varying

Overriding the fillStatement method by doing something like:
QueryRunner run = new QueryRunner() {

      /* (non-Javadoc)
       * @see org.apache.commons.dbutils.QueryRunner#fillStatement(java.sql.PreparedStatement,
java.lang.Object[])
       */
      @Override
      protected void fillStatement(PreparedStatement stmt, Object[] params) throws SQLException
{
        if (params == null) {
          return;
        }
        for (int i = 0; i < params.length; i++) {
          if (params[i] != null) {
            stmt.setObject(i + 1, params[i]);
          } else {
            // VARCHAR works with many drivers regardless
            // of the actual column type (Maybe not with Postgres 8.x).  Oddly, NULL and
            // OTHER don't work with Oracle's drivers.
            stmt.setNull(i + 1, Types.NULL);
          }
        }
      }
    };
work, but it will have a problem if other databases are used instead of PostgreSQL.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message