42.2.3 regression in fn timestampadd(SQL_TSI_MINUTE)

From: Adam Rauch <adam(at)labkey(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: 42.2.3 regression in fn timestampadd(SQL_TSI_MINUTE)
Date: 2018-07-14 05:50:27
Message-ID: 6f4f4d3d-f781-010b-0686-f25c6a7537af@labkey.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Simple Java 8 test case below outputs different results when run against
the 42.2.2 driver vs. the just released 42.2.3 driver:

PostgreSQL JDBC Driver 42.2.2
PostgreSQL 10.4 database "labkey2"
SQL_TSI_SECOND: 2003-01-01 00:00:03.0
SQL_TSI_MINUTE: 2003-01-01 00:03:00.0
SQL_TSI_HOUR: 2003-01-01 03:00:00.0

PostgreSQL JDBC Driver 42.2.3
PostgreSQL 10.4 database "labkey2"
SQL_TSI_SECOND: 2003-01-01 00:00:03.0
SQL_TSI_MINUTE: 2003-01-01 00:00:03.0
SQL_TSI_HOUR: 2003-01-01 03:00:00.0

SQL_TSI_MINUTE seems to be acting like SQL_TSI_SECOND in 42.2.3.

Thanks,
Adam

import java.sql.*;

public class PGTest
{
public static void main(String[] args)throws SQLException
{
try (Connection conn = (3 == args.length ? DriverManager.getConnection(args[0], args[1], args[2]) : DriverManager.getConnection("jdbc:postgresql://" + args[0] +":" + args[1] +"/" + args[2], args[3], args[4])))
{
DatabaseMetaData dmd = conn.getMetaData();
System.out.println(dmd.getDriverName() +" " + dmd.getDriverVersion());
System.out.println(dmd.getDatabaseProductName() +" " + dmd.getDatabaseProductVersion() +" database \"" + conn.getCatalog() +"\"");

testTimestampAdd("SQL_TSI_SECOND", conn);
testTimestampAdd("SQL_TSI_MINUTE", conn);
testTimestampAdd("SQL_TSI_HOUR", conn);

System.out.flush();
System.out.close();
}
}

private static void testTimestampAdd(String interval, Connection conn)throws SQLException
{
String sql ="SELECT {fn timestampadd(" + interval +", 3, CAST('01 Jan 2003' AS TIMESTAMP))} AS ThreeMinutes";
try (Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql))
{
while (rs.next())
System.out.println(interval +": " + rs.getTimestamp(1));
}
}
}

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Vladimir Sitnikov 2018-07-14 09:55:37 [pgjdbc/pgjdbc] 776e17: docs: fix broken commit link in 42.2.3 changelog
Previous Message Pavel Raiskup 2018-07-13 06:32:24 [pgjdbc/pgjdbc] cc545d: packaging: sync RPM spec with Fedora Rawhide