pgjdbc/pgjdbc GitHub issues and pull requests (mirror)  
help / color / mirror / Atom feed
[pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
41+ messages / 4 participants
[nested] [flat]

* [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-04-17 16:38  "arons (@arons)" <[email protected]>
  0 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-04-17 16:38 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

 setTimestamp use timestamptz db type
 old pull request #2835 
 this pull request should fix also the issue #1325 ( test cases added into class org.postgresql.test.jdbc2.TimestamptzTest )

### New Feature Submissions:

1. [x] Does your submission pass tests?
2. [x] Does `./gradlew styleCheck` pass ?
3. [x] Have you added your new test classes to an existing test suite in alphabetical order?

### Changes to Existing Features:

* [x] Does this break existing behaviour? If so please explain.
 it breaks currently behaviour only in case user set sqlTimestamptzAlways 
* [x] Have you added an explanation of what your changes do and why you'd like us to include them?
 explained already in pull request  #2835
* [x] Have you written new tests for your core changes, as applicable?
* [x] Have you successfully run tests with your changes locally?


^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-04-17 17:55  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-04-17 17:55 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

Why do another PR ?

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-04-17 18:06  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-04-17 18:06 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

I did some mistake on the original github fork and it closes the pull request. So I created a new one, sorry.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-04-23 16:44  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-04-23 16:44 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/PGProperty.java:673)

s/time stamp/timestamp

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-04-23 16:48  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-04-23 16:48 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

s/2004/2024

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-02 09:51  "liias (@liias)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: liias (@liias) @ 2024-05-02 09:51 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java)

Hmm `ZonedDateTime.toLocalDateTime()` would just forget the timezone of the zdt? 
Also, why would it support `ZonedDateTime`, but not `OffsetDateTime`?

I might be wrong with my assumptions here of course.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-07 10:16  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-05-07 10:16 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java)

Your assumption is correct, so I changed it to use OffsetDateTime type so that time zone information is not lost but stored into the timestamptz.

Anyway, if you use OffsetDateTime to fetch data back form the db, the time zone info is lost as illustrated by the test case TimestamptzTest.test_ZonedDateTime_StoreAndSelect(). 
How is the correct way to get back the information of the timezone (without using string) ?

NOTE: in our application we always store dates in UTC time zone in the db to avoid any problem. If we need to store information about the time zone to use for some business logic that is stored into a separate fields independent to any stored timestamptz.


^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-07 10:39  "vlsi (@vlsi)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: vlsi (@vlsi) @ 2024-05-07 10:39 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

Please avoid `fail(e.getMessage());` pattern as it adds no extra value, and it hides the stacktrace. In cases like this just let the exception propagate, and do not catch it.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-07 10:48  "vlsi (@vlsi)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: vlsi (@vlsi) @ 2024-05-07 10:48 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

@arons , can you please clarify which issue does this change solve?
Please see https://github.com/pgjdbc/pgjdbc/pull/2835#issuecomment-1466364745

I am afraid, it is hard to review the change without understanding the problem it solves.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 12:32  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-05-08 12:32 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

The problem it solves is to correctly pass the proper OID type for timestamps to the database, instead of just as text, which is the current behavior. 

This is useful in many different cases as it allows SQL and PL/SQL to use the parameter properly without requiring an explicit cast.
Within the class TimestamptzTest, there are basic examples of statements that will fail if a timestamp parameter is passed as a string. 
I can provide even more examples of problems if necessary.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 12:43  "vlsi (@vlsi)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: vlsi (@vlsi) @ 2024-05-08 12:43 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

>I can provide even more examples of problems if necessary

It would be great. I would suggest we solve problem a time rather than combine everything possible within a single discussion.

> Within the class TimestamptzTest, there are basic examples of statements that will fail if a timestamp parameter is passed as a string.

There are cases like `select ?` and `select pg_typeof(?)`, and I believe they are not quite niche, so we should not consider them as the primary driving factor.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 12:52  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-05-08 12:52 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

How is this different than https://github.com/pgjdbc/pgjdbc/pull/2715 ?

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 12:56  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-05-08 12:56 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

> There are cases like `select ?` and `select pg_typeof(?)`, and I believe they are not quite niche, so we should not consider them as the primary driving factor.

testTypeOnDbSite_functionOverloading and  testTypeOnDbSite_select are less trivial once already.

In the current implementation:
The first: it takes the worng function implementation in case of overloading.
The second:  throw an exception if  we try to add an interval to a timestamp passed parameter.


It should fix also the issue https://github.com/pgjdbc/pgjdbc/issues/1325 (also in the test case, no error any more in invoking the setObject method  )

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 12:59  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-05-08 12:59 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

> How is this different than #2715 ?

If I understand the patch correctly, that is more about the returned meta data type and not about parameter set.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 13:36  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-05-08 13:36 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

> > How is this different than #2715 ?
> 
> If I understand the patch correctly, that is more about the returned meta data type and not about parameter set.

in which case these PR's should be combined.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 13:40  "vlsi (@vlsi)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: vlsi (@vlsi) @ 2024-05-08 13:40 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

> testTypeOnDbSite_functionOverloading

Currently it defines a function with `timestmaptz`, and a function with `text` parameters.

I would suggest adding `timestamp` (without tz), `time`, and `timetz` into the mix and suggest the way you would expect it to work.

Frankly speaking, I think `setTimestmap( new Timestamp(..))` should fail rather than arbitrary select `timestamptz` overload among `timestamp` and `timestamptz`.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-05-08 13:50  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2024-05-08 13:50 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

> > testTypeOnDbSite_functionOverloading
> 
> Currently it defines a function with `timestmaptz`, and a function with `text` parameters.
> 
> I would suggest adding `timestamp` (without tz), `time`, and `timetz` into the mix and suggest the way you would expect it to work.
> 
> Frankly speaking, I think `setTimestmap( new Timestamp(..))` should fail rather than arbitrary select `timestamptz` overload among `timestamp` and `timestamptz`.

I agree with that: https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_timestamp_.28without_time_zone.29
So that is the reason I prefer to use timestamptz among timestamp, which for me should in general not be used.

So if you prefer to use timestamp over timestamptz I think we can close the discussion and close this pull request cause my motiviation is only about timestamptz.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-07-02 12:38  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-07-02 12:38 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java)

timestamptz does not store timezone information so there is no way to get it definitely. In text mode it is returned adjusted for the session timezone (most likely client timezone). In binary mode we assume the client timezone.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2024-07-02 12:40  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2024-07-02 12:40 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

> Frankly speaking, I think `setTimestmap( new Timestamp(..))` should fail rather than arbitrary select `timestamptz` overload among `timestamp` and `timestamptz`.

I'm missing something here. https://github.com/pgjdbc/pgjdbc/pull/3220/files#diff-d4946409bd7c59e525f34b4c974a3df76638dc84adc060... only selects `timestamptz` if `isSqlTimestamptzAlways` is set?



^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 20:54  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 20:54 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java:1493)

Seems we now have timestamp with and without time zone. Why force it ?

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 20:55  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 20:55 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

This is a pretty ambiguous error message. Please be more verbose. If someone has to debug this, they need more information.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 20:56  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 20:56 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

This should assert the correct values here

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 20:56  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 20:56 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

we don't really write to the console in tests

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 20:57  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 20:57 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

is the FIXME still valid?

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 20:58  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 20:58 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/PGProperty.java:667)

From what I can see in this PR the only time it forces timestamp with timezone is for setNull

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:00  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 21:00 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java:275)

Why not use the correct oid's here ?

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:00  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 21:00 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java:153)

Should check the result. What if the result set is empty ?

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:01  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 21:01 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java:165)

same as above; check the resultset

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:23  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:23 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java:153)

the check is not about the result but more on the syntax, without the fix postgres return:
org.postgresql.util.PSQLException: ERROR: could not determine data type of parameter $1

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:39  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:39 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

solved

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:39  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:39 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

solved

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:44  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:44 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java:275)

done

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:45  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:45 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java:153)

added check for non empty result set

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:45  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:45 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java:165)

added check for non empty result set

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:45  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:45 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

done

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:45  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:45 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/TimestamptzTest.java)

added more info in the error message

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 21:46  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-13 21:46 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java:1493)

to keep align with logic enforced by isSqlTimestamptzAlways

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-13 22:54  "davecramer (@davecramer)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: davecramer (@davecramer) @ 2025-01-13 22:54 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java:1493)

AFAICT, this is the only logic with isSqlTimestamptzAlways

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-14 06:16  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-14 06:16 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/jdbc/PgPreparedStatement.java:1493)

it is used also below to set the oid also in case of not null. 
Line 1522:

`
if (connection.isSqlTimestamptzAlways()) {
      oid = Oid.TIMESTAMPTZ;
    }
`

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-14 07:04  "vlsi (@vlsi)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: vlsi (@vlsi) @ 2025-01-14 07:04 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

@arons , could we discuss `ZonedDateTime` and `Instant` support separately from this PR?
It looks like handling `ZonedDateTime` and `Instant` does not depend on `timestamptz db type`, so it should better go as a separate PR.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread

* Re: [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type
@ 2025-01-14 15:40  "arons (@arons)" <[email protected]>
  39 siblings, 0 replies; 41+ messages in thread

From: arons (@arons) @ 2025-01-14 15:40 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

OK, I'll try to remove the ZonedDateTime and Instant and move to a different PR.

^ permalink  raw  reply  [nested|flat] 41+ messages in thread


end of thread, other threads:[~2025-01-14 15:40 UTC | newest]

Thread overview: 41+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-04-17 16:38 [pgjdbc/pgjdbc] PR #3220:  setTimestamp use timestamptz db type "arons (@arons)" <[email protected]>
2024-04-17 17:55 ` "davecramer (@davecramer)" <[email protected]>
2024-04-17 18:06 ` "arons (@arons)" <[email protected]>
2024-04-23 16:44 ` "davecramer (@davecramer)" <[email protected]>
2024-04-23 16:48 ` "davecramer (@davecramer)" <[email protected]>
2024-05-02 09:51 ` "liias (@liias)" <[email protected]>
2024-05-07 10:16 ` "arons (@arons)" <[email protected]>
2024-05-07 10:39 ` "vlsi (@vlsi)" <[email protected]>
2024-05-07 10:48 ` "vlsi (@vlsi)" <[email protected]>
2024-05-08 12:32 ` "arons (@arons)" <[email protected]>
2024-05-08 12:43 ` "vlsi (@vlsi)" <[email protected]>
2024-05-08 12:52 ` "davecramer (@davecramer)" <[email protected]>
2024-05-08 12:56 ` "arons (@arons)" <[email protected]>
2024-05-08 12:59 ` "arons (@arons)" <[email protected]>
2024-05-08 13:36 ` "davecramer (@davecramer)" <[email protected]>
2024-05-08 13:40 ` "vlsi (@vlsi)" <[email protected]>
2024-05-08 13:50 ` "arons (@arons)" <[email protected]>
2024-07-02 12:38 ` "davecramer (@davecramer)" <[email protected]>
2024-07-02 12:40 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 20:54 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 20:55 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 20:56 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 20:56 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 20:57 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 20:58 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 21:00 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 21:00 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 21:01 ` "davecramer (@davecramer)" <[email protected]>
2025-01-13 21:23 ` "arons (@arons)" <[email protected]>
2025-01-13 21:39 ` "arons (@arons)" <[email protected]>
2025-01-13 21:39 ` "arons (@arons)" <[email protected]>
2025-01-13 21:44 ` "arons (@arons)" <[email protected]>
2025-01-13 21:45 ` "arons (@arons)" <[email protected]>
2025-01-13 21:45 ` "arons (@arons)" <[email protected]>
2025-01-13 21:45 ` "arons (@arons)" <[email protected]>
2025-01-13 21:45 ` "arons (@arons)" <[email protected]>
2025-01-13 21:46 ` "arons (@arons)" <[email protected]>
2025-01-13 22:54 ` "davecramer (@davecramer)" <[email protected]>
2025-01-14 06:16 ` "arons (@arons)" <[email protected]>
2025-01-14 07:04 ` "vlsi (@vlsi)" <[email protected]>
2025-01-14 15:40 ` "arons (@arons)" <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox