Em ter., 1 de abr. de 2025 às 15:39, Noah Misch <n...@leadboat.com> escreveu:
> On Thu, Feb 27, 2025 at 10:23:31AM -0300, Ranier Vilela wrote: > > Em qui., 27 de fev. de 2025 às 02:51, Michael Paquier < > mich...@paquier.xyz> > > escreveu: > > > > > On Tue, Feb 25, 2025 at 08:54:31AM -0300, Ranier Vilela wrote: > > > > @@ -455,7 +455,9 @@ set_locale_and_encoding(void) > > > > locale->db_locale, > > > > strlen(locale->db_locale)); > > > > else > > > > - datlocale_literal = pg_strdup("NULL"); > > > > + datlocale_literal = PQescapeLiteral(conn_new_template1, > > > > + "NULL", > > > > + strlen("NULL")); > > > > > > Yeah, I've considered that but hardcoding NULL twice felt a bit weird, > > > as well. Perhaps it's slightly cleaner to use an intermediate > > > variable given then as an argument of PQescapeLiteral()? > > > > > Yeah, I also think it would look good like this. > > This became commit 2a083ab "pg_upgrade: Fix inconsistency in memory > freeing". > PQescapeLiteral("NULL") is "'NULL'", so this causes pg_database.datlocale > to > contain datlocale='NULL'::text instead of datlocale IS NULL. > Yeah, thanks for pointing this out. The patch maintained the previous behavior. I'll take a look. best regards, Ranier Vilela