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]

Reply via email to