commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Fabulich (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DBUTILS-41) Inserting/updating null in a timestamp field with PostgreSQL 8.x
Date Sat, 07 Mar 2009 06:00:56 GMT

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

Dan Fabulich updated DBUTILS-41:
--------------------------------

    Fix Version/s:     (was: 1.2)

Removing "Fix Version: 1.2" since this is really a dupe; it clutters the release notes.

> 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:
> {code}
> 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);
>           }
>         }
>       }
>     };
> {code}
> 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