Some dialects use the wrong default version

Description

In some cases (PostgresSQL) the dialects upcast DialectResolutionInfo to DatabaseVersion instead of using makeCopy()/ makeCopyOrDefault(). This is bad because:

  1. Keeping a reference to a DialectResolutionInfo instance means using more memory, since DialectResolutionInfo can be much larger than just the bare minimum info included in DatabaseVersion.

  2. Skipping the call to makeCopyOrDefault() means skipping the defaulting to the minimum supported version of a dialect, which results in potentially incorrect behavior, and also in warnings on startup:

Other dialect just plain mishandle null versions, or use the wrong default version (e.g. MariaDB may use the default version of MySQL).

Activity

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created May 14, 2024 at 11:12 AM
Updated August 14, 2024 at 5:12 PM
Resolved May 15, 2024 at 9:55 AM