[
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.