Make initdb behave sanely when the selected locale has codeset "US-ASCII".
Per discussion, this should result in defaulting to SQL_ASCII encoding. The original coding could not support that because it conflated selection of SQL_ASCII encoding with not being able to determine the encoding. Adjust pg_get_encoding_from_locale()'s API to distinguish these cases, and fix callers appropriately. Only initdb actually changes behavior, since the other callers were perfectly content to consider these cases equivalent. Per bug #5178 from Boh Yap. Not going to bother back-patching, since no one has complained before and there's an easy workaround (namely, specify the encoding you want).
Showing
- src/backend/commands/dbcommands.c 12 additions, 8 deletionssrc/backend/commands/dbcommands.c
- src/backend/utils/mb/mbutils.c 9 additions, 2 deletionssrc/backend/utils/mb/mbutils.c
- src/bin/initdb/initdb.c 7 additions, 16 deletionssrc/bin/initdb/initdb.c
- src/port/chklocale.c 16 additions, 10 deletionssrc/port/chklocale.c
Loading
Please register or sign in to comment