pgjdbc/pgjdbc GitHub issues and pull requests (mirror)  
help / color / mirror / Atom feed
[pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
37+ messages / 2 participants
[nested] [flat]

* [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-11 19:40 "davecramer (@davecramer)" <[email protected]>
  0 siblings, 0 replies; 37+ messages in thread

From: davecramer (@davecramer) @ 2025-04-11 19:40 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

We also now have to handle the protocolNegotiationMessage

As of https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=285613c60a7aff5daaf281c67002483b0... the protocol version has been bumped to 3.2. This will take effect in version 18.

The only protocol change is wider cancel keys. Previously cancel keys were 4 bytes wide now they can have a maximum of 256 bytes but currently the server sends 32 byte wide cancel keys.

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=a460251f0a1ac987f0225203ff9593704...



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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 07:09 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/ConnectionFactory.java)

Should we restrict the supported protocol versions only? If a newer protocol adds something in 3.7, the old existing drivers won't support 3.7 features anyway.

It looks it would be nice if the driver could reject unsupported values, so the users know the value they configure is ignored or unsupported.

WDYT?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 07:17 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java)

Have you considered nullable array instead so we don't allocate the array?

```suggestion
  private byte @Nullable[] cancelKey;
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 07:28 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/PGStream.java)

WDYT of creating `class ProtocolVersion { int major; int minor; }`? (or `short major, minor`)

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 07:29 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

The return type of `ProtocolVersion` would be easier to reason here

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 07:39 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java)

```suggestion
          byte[] ckey;
```

The allocation here is not needed. `pgStream.receive(..)` below would reallocate

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 08:02 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-13 08:02 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java)

`ProtocolVersion.v3_0.equals(getProtocolVersion...)` could be helpful here

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 08:04 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java)

Please include the failure detains into the message. Something like "cancel key should be 4 bytes only for protocol version 3.0. Got .. from the backend" would probably be easier to understand for those who get the exception in their systems.

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 08:06 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-13 08:06 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java)

WDYT of one of the following so it could return `ProtocolVersion` instance rather multiple minor/major getters?

`getProtocolVersionInfo()`

* Emphasizes that this is more than just a number now.
* Common naming pattern when moving from primitive to object.

`getProtocolVersionObject()`

* Straightforward, explicitly communicates it's an object.

`getProtocolVersionDetails()`

* Suggests there might be more metadata than just a version number.

`getProtocolVersionValue()`

* Implies it's the full value, which works if the class holds major/minor etc.

`getFullProtocolVersion()`

* Indicates a more complete version compared to the basic int.

`getProtocolVersionEx()` (or `getProtocolVersionExtended()`)

* Simple, adds the "extended" idea, though a bit more API-looking.

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-13 08:10 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-13 08:10 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/test/java/org/postgresql/test/jdbc2/StatementTest.java:954)

Does the test differ from `closeInProgressStatement`? (looks like the only difference is 3.2 in the setup, however, I can't tell if the rest is the same or not)
If the core is the same, could you factor it to a say `private` method which you call from both of the tests?

It is hard to review and maintain code with large amount of duplicate logic.

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-14 19:31 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: davecramer (@davecramer) @ 2025-04-14 19:31 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ConnectionFactory.java)

Probably, will fix

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-15 18:26 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-15 18:26 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/PGStream.java)

null is the default value. Let's omit the explicit assignment

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-15 18:27 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-15 18:27 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersions.java)

I guess the constants can be moved to ProtocolVesion class

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-15 18:29 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-15 18:29 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

ProtocolVersion.from(..) would allow returning the well-known constants

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-15 18:29 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-15 18:29 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java:181)

I wonder if it breaks previous api

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 01:45 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java:181)

I don't think so, the API is pretty much internal. That said we will see.


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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 11:41 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: davecramer (@davecramer) @ 2025-04-16 11:41 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

@vlsi I'm ready to merge this barring any objections

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 11:48 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 11:48 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/Parser.java)

`protocolVersion` looks unused in the method. Should we remove the parameter?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 11:52 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 11:52 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

Can we remove no-arg constructor?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 11:57 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 11:57 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

I'm not sure `(int protocol)` constructor belongs here at it is an implementation detail of `NegotiateProtocolVersion` message. Let's remove (int) constructor, and let's make the other constructor `private`.

```suggestion
  private ProtocolVersion(int major, int minor) {
    this.major = major;
    this.minor = minor;
  }
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 12:00 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 12:00 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

The naming in `ServerVersion` is like `v8_4`. WDYT of using the same naming?

Should we move the constants to the top of the class as it is probably the most useful info when reading the class?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 12:02 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 12:02 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

WDYT of a bit more verbose name?

```suggestion
  public static ProtocolVersion fromMajorMinor(int major, int minor) throws SQLException {
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 12:02 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 12:02 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/QueryExecutorBase.java)

```suggestion
  private byte @Nullable[] cancelKey;
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 12:04 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

Should we log the unrecognized options?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 12:04 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

Did you intend something as follows here?

```suggestion
            pgStream.setProtocolVersion(ProtocolVersion.fromMajorMinor(...protocol));
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 12:07 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

By the way, `ServerVersion` is currently implemented as `enum + interface`. It might be ok to have `ProtocolVersion` as an-enum. It would yield equals/hashCode and the named references for free.

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 13:17 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

Probably, yes

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 13:17 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

We probably should throw an exception here as the connection should not be completed with invalid options

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 13:18 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

Done

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 13:19 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 13:19 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

Sadly `values()` allocates a fresh array for every call. WDYT of storing it in a private static field?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 13:34 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

Done

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 15:06 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 15:06 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

```suggestion
  private static final ProtocolVersion[] values = values();
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 15:09 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 15:09 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/ProtocolVersion.java)

WDYT of the usual `PSQLException(GT.tr` dance?

```suggestion
    throw new PSQLException(GT.tr("Unsupported protocol version major: {0}, minor: {1}",
        major, minor), PSQLState.NOT_IMPLEMENTED);
```

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 15:11 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 15:11 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

Have you considered passing `protocol major/mior` as `ProtocolVersion`?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 15:12 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

From: vlsi (@vlsi) @ 2025-04-16 15:12 UTC (permalink / raw)
  To: pgjdbc/pgjdbc <[email protected]>

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

Have you considered passing `protocol major/minor` as `ProtocolVersion`?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-16 15:14 ` "vlsi (@vlsi)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

(on pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java)

The result of `doAuthentication` does not seem to be used. WDYT of reverting the method to `void`?

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

* Re: [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys. 
@ 2025-04-17 12:34 ` "davecramer (@davecramer)" <[email protected]>
  35 siblings, 0 replies; 37+ messages in thread

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

@vlsi I think I have answered all your requests

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


end of thread, other threads:[~2025-04-17 12:34 UTC | newest]

Thread overview: 37+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-04-11 19:40 [pgjdbc/pgjdbc] PR #3592:  Handle protocol 3.2 and wider cancel keys.  "davecramer (@davecramer)" <[email protected]>
2025-04-13 07:09 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 07:17 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 07:28 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 07:29 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 07:39 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 08:02 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 08:04 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 08:06 ` "vlsi (@vlsi)" <[email protected]>
2025-04-13 08:10 ` "vlsi (@vlsi)" <[email protected]>
2025-04-14 19:31 ` "davecramer (@davecramer)" <[email protected]>
2025-04-15 18:26 ` "vlsi (@vlsi)" <[email protected]>
2025-04-15 18:27 ` "vlsi (@vlsi)" <[email protected]>
2025-04-15 18:29 ` "vlsi (@vlsi)" <[email protected]>
2025-04-15 18:29 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 01:45 ` "davecramer (@davecramer)" <[email protected]>
2025-04-16 11:41 ` "davecramer (@davecramer)" <[email protected]>
2025-04-16 11:48 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 11:52 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 11:57 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 12:00 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 12:02 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 12:02 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 12:04 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 12:04 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 12:07 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 13:17 ` "davecramer (@davecramer)" <[email protected]>
2025-04-16 13:17 ` "davecramer (@davecramer)" <[email protected]>
2025-04-16 13:18 ` "davecramer (@davecramer)" <[email protected]>
2025-04-16 13:19 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 13:34 ` "davecramer (@davecramer)" <[email protected]>
2025-04-16 15:06 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 15:09 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 15:11 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 15:12 ` "vlsi (@vlsi)" <[email protected]>
2025-04-16 15:14 ` "vlsi (@vlsi)" <[email protected]>
2025-04-17 12:34 ` "davecramer (@davecramer)" <[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