*** org/postgresql/jdbc2/PreparedStatement.java_7.2b4 Mon Nov 26 08:26:59 2001 --- org/postgresql/jdbc2/PreparedStatement.java Thu Jan 10 21:15:23 2002 *************** *** 412,422 **** tl_tsdf.set(df); } // Use the shared StringBuffer synchronized (sbuf) { sbuf.setLength(0); ! sbuf.append("'").append(df.format(x)).append('.').append(x.getNanos() / 10000000).append("+00'"); set(parameterIndex, sbuf.toString()); } --- 412,431 ---- tl_tsdf.set(df); } + // Make decimal from nanos. + StringBuffer decimal = new StringBuffer("000000000"); // max nanos length + String nanos = String.valueOf(x.getNanos()); + decimal.replace(decimal.length() - nanos.length(), decimal.length(), nanos); + if (! connection.haveMinimumServerVersion("7.2")) { + // Because 7.1 include bug that "hh:mm:59.999" becomes "hh:mm:60.00". + decimal.setLength(2); + } + // Use the shared StringBuffer synchronized (sbuf) { sbuf.setLength(0); ! sbuf.append("'").append(df.format(x)).append('.').append(decimal).append("+00'"); set(parameterIndex, sbuf.toString()); }