The java code mentioned below was working fine with Redshift jdbc driver 1.2. But, now seeing erroneous behaviour with Redshift jdbc driver 2.1. Can anyone confirm whether a workaround is possible in this java code or whether this is a bug in the driver 2.1 itself?
Information about Java code
- In a timestamp data-typed column, the value is inserted using "getdate()".
- It is supposed to add time in UTC (without timezone information).
- How the insert query is written:
connection.prepareStatement("INSERT INTO sampleTable (tsColumn, ...) VALUES (getdate(), ...)");
jdbc driver 1.2.41.1065 inserts correct date in UTC
jdbc driver 2.1.0.5 insertes date in PDT (server time zone) INCORRECT
Workaround attempted:
- Attempted to modify getdate() part in the query as follows but it didn't work:
convert_timezone('UTC', getdate())
Questions
- Is this a bug in the driver 2.1?
- Is there any workaround/configuration/code-fix possible in the java code explained above?
Related
Thank you @aws-msharma. Need to evaluate that option. And what about "convert_timezone('UTC', getdate())". Shouldn't it give time in UTC? Does the expression need any correction? Any other workaround?