Radosław Smogura wrote:
> Hi,
>
> I perform following test:
> 1. Open connection (GMT+1)
> 2. Change timezone (GMT+3)
> 3. Write created timestamp.
> 4. Change timezone to different connection open and write (GMT+4)
> 5. Read timezone
>
> During this I saw driver sends timestamp encoded with initial (in my case
> +1), form connection open, time zone. It's because
> TimestampUtils.toString(Calendar, Timestamp) uses defaultCal. Should it use
> Calendar.getInstance() or new GregorianCalendar?
>
> public synchronized String toString(Calendar cal, Timestamp x) {
> if (cal == null)
> cal = defaultCal; // = Calendar.getInstance() // new
> GregorianCalendar()
There seems to be some confusion about what the bug you are reporting
actually is.
Is the bug that if you change the JVM's default timezone halfway through
a run, the change is not reflected in the driver? (i.e. defaultCal is
initialized once only). Or is it something else?
I vaguely remember that when writing this code, getting the default
calendar was quite expensive..
Oliver