rzo1 opened a new pull request, #163: URL: https://github.com/apache/openjpa/pull/163
Since #144 `PostgresDictionary.connectedConfiguration()` unconditionally set `storeCharsAsNumbers=false` on PostgreSQL 9+. Because `DBDictionaryFactory` applies the user's `DBDictionary` plugin properties before `connectedConfiguration()`, an explicit `StoreCharsAsNumbers=true` was silently clobbered, breaking schemas created by earlier OpenJPA releases (char fields in `INTEGER` columns). This adds `setStoreCharsAsNumbers()`/`getStoreCharsAsNumbers()` to `DBDictionary` (`Options` prefers the setter over the public field) to track an explicit user value, makes native CHAR storage the `PostgresDictionary` constructor default, and only falls back to numeric storage on PostgreSQL < 9 when nothing was configured explicitly. The public field is kept for backward compatibility. Documents the new default and the opt-out (`openjpa.jdbc.DBDictionary=postgres(StoreCharsAsNumbers=true)`) in the reference guide and the JPA 3.2 migration considerations, and adds `TestPostgresDictionary` covering defaults, explicit overrides via plugin properties / setter / field, and `DBDictionaryFactory` end-to-end. The TCK-relevant default (CHAR columns) is unchanged. Ref: https://github.com/apache/openjpa/pull/144#discussion_r3683003316 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01JJiFSo4QfgPaz7i5UQPREw -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
