odbc icon indicating copy to clipboard operation
odbc copied to clipboard

SET TIMEZONE session parametr ignored by driver

Open adranwit opened this issue 7 years ago • 2 comments

The session timezone parameter is ignored by the driver which always uses time.Local

https://github.com/alexbrainman/odbc/blob/master/column.go#L141

case api.SQL_C_TYPE_TIMESTAMP:
	t := (*api.SQL_TIMESTAMP_STRUCT)(p)
	r := time.Date(int(t.Year), time.Month(t.Month), int(t.Day),
		int(t.Hour), int(t.Minute), int(t.Second), int(t.Fraction),
		time.Local)

Could you please allow use custom timezone setting

adranwit avatar Jun 04 '18 21:06 adranwit

Could you please allow use custom timezone setting

What exactly do you propose I should do?

Alex

alexbrainman avatar Jun 05 '18 10:06 alexbrainman

Sorry to necro an old issue, but I am running into this myself and think I can probably spin up a PR for it. The MySQL package achieves this by having the database timezone/location provided in the DSN:

https://github.com/go-sql-driver/mysql/blob/1fbca2aabb09915d4f1006d01b271ad7778eec4f/dsn.go#L43

https://stackoverflow.com/a/40478160

Does this make sense as an approach here? I haven't really dug into the code, however it doesn't seem like it is parsing anything out of the DSN before passing it to ODBC.

NickTaylor0 avatar Apr 01 '20 19:04 NickTaylor0