- Notifications
You must be signed in to change notification settings - Fork 187
Closed
Labels
type: regressionA regression from a previous releaseA regression from a previous release
Milestone
Description
Versions
- Driver: r2dbc-postgresql#1.1.0.RELEASE0
- Database: v17
- Java: 21
- OS: Windows + Linux
Current Behavior
We have some monitoring queries against the pg_stat_activity table and since upgrading to 1.1.0.RELEASE we're now erroring out with the message:
Invalid value for DayOfWeek: 16478 This occurs when reading the values for the "datid" and "usesysid" fields, which are both of the "oid" type
Table schema
n/a - the pg_stat_activity is a built-in table
SELECT * FROM pg_stat_activitySteps to reproduce
Small snippet of code to read all of the columns from this table based on an existing ConnectionFactory
private static void execute(ConnectionFactory factory) { try { var result = Mono.usingWhen(Mono.fromDirect(factory.create()), con -> Mono.fromDirect(con.createStatement("SELECT * FROM pg_stat_activity LIMIT 10").execute()) .flatMapMany(rs -> rs.map((row, meta) -> { return meta.getColumnMetadatas().stream().map(x -> { try { var value = row.get(x.getName()); return value != null ? x.getName() + "=" + value : null; } catch (Exception e) { return x.getName() + "=" + e.getMessage(); } }).filter(Objects::nonNull).toList(); })) .collectList(), Connection::close, (con, t) -> con.close(), Connection::close) .block(Duration.ofSeconds(10)); log.info("success - {}", result); } catch (Exception e) { log.error("error", e); } }Expected behavior/code
An oid should not be treated as a DayOfWeek
I can workaround for the moment by explicitly casting the two columns into a "text" type, but this should not be necessary.
Possible Solution
n/a
Additional context
Looks like this was a new capability added under #591
Metadata
Metadata
Assignees
Labels
type: regressionA regression from a previous releaseA regression from a previous release