Re: Daylight saving time rules being applied to DateTimes that don't have a timezone

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Nathan Kendall <fzzwuzzy8(at)gmail(dot)com>, pgsql-odbc(at)postgresql(dot)org
Subject: Re: Daylight saving time rules being applied to DateTimes that don't have a timezone
Date: 2016-11-15 15:49:03
Message-ID: b5242670-250d-c06b-4b90-7ee48180bc09@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

On 11/10/2016 06:45 AM, Nathan Kendall wrote:
> We are having a problem with psqlODBC versions 09.05.0100 through
> 09.05.0400. With the database table schema listed below, the sample
> C# test app below that fails with a violation of the primary key.
> However, the same C# code works without issue when using psqlODBC
> version 09.03.0400 or older. It would seem as though psqlODBC
> versions from 09.05.0100 onward are applying daylight saving time
> rules to DateTimes that are specified as not being associated with a
> timezone.

What is the error you are getting back or the value you are seeing that
is different?

>
> Nathan
>
>
> CREATE TABLE time_test
> (
> stationid character varying(8) NOT NULL,
> date_time timestamp without time zone NOT NULL,
> temperature double precision,
> CONSTRAINT time_test_pk PRIMARY KEY (stationid, date_time)
> );
>
>
> C# Test App Source Code:
>
> using System;
> using System.Data.Odbc;
>
> namespace TimeTestApp1
> {
> class Program
> {
> static void Main(string[] args)
> {
> using (var conn = new OdbcConnection("Driver={PostgreSQL
> ANSI(x64)};Server=localhost;Database=weather;Uid=userGoesHere;Pwd=passGoesHere;"))
> {
> conn.Open();
> using (var command = new OdbcCommand("", conn))
> {
> command.Parameters.Add(new OdbcParameter("stationid",
> OdbcType.VarChar));
> command.Parameters.Add(new OdbcParameter("date_time",
> OdbcType.DateTime));
> command.Parameters.Add(new OdbcParameter("temperature",
> OdbcType.Double));
> command.CommandText = "INSERT INTO time_test (stationid,
> date_time, temperature) VALUES (?, ?, ?)";
> command.CommandTimeout = 60;
> command.Prepare();
>
> DateTime[] testTimes = new DateTime[] {
> new DateTime(2016, 3, 13, 1, 0, 0, DateTimeKind.Unspecified),
> new DateTime(2016, 3, 13, 2, 0, 0, DateTimeKind.Unspecified),
> new DateTime(2016, 3, 13, 3, 0, 0, DateTimeKind.Unspecified)
> };
>
> int i = 0;
> foreach (var dt in testTimes)
> {
> i++;
> command.Parameters[0].Value = "Place";
> command.Parameters[1].Value = dt;
> command.Parameters[2].Value = 60 - i;
> command.ExecuteNonQuery();
> }
> }
> }
> }
> }
> }
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Nathan Kendall 2016-11-15 21:51:35 Re: Daylight saving time rules being applied to DateTimes that don't have a timezone
Previous Message brajmohan saxena 2016-11-15 08:21:13 Re: psqlodbc - SysTAble Prefixes issue