public inbox for [email protected]help / color / mirror / Atom feed
[PATCH] change translation markers in GetPublicationsStr 323+ messages / 1 participants [nested] [flat]
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
* [PATCH] change translation markers in GetPublicationsStr @ 2026-04-23 09:10 Álvaro Herrera <[email protected]> 0 siblings, 0 replies; 323+ messages in thread From: Álvaro Herrera @ 2026-04-23 09:10 UTC (permalink / raw) --- src/backend/catalog/pg_subscription.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 1f1fdc75af6..d1e2e9de468 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -41,31 +41,36 @@ static List *textarray_to_stringlist(ArrayType *textarray); /* * Add a comma-separated list of publication names to the 'dest' string. + * + * If quote_literal is true, the returned list can be used to construct an SQL + * command, thus no translation is applied. Otherwise, the string can be used + * to create a user-facing message, so translatable quote marks are added. */ void GetPublicationsStr(List *publications, StringInfo dest, bool quote_literal) { ListCell *lc; - bool first = true; + int length = list_length(publications); Assert(publications != NIL); foreach(lc, publications) { char *pubname = strVal(lfirst(lc)); - - if (first) - first = false; - else - appendStringInfoString(dest, ", "); + bool last = foreach_current_index(lc) >= length - 1; if (quote_literal) + { appendStringInfoString(dest, quote_literal_cstr(pubname)); + if (!last) + appendStringInfoString(dest, ", "); + } else { - appendStringInfoChar(dest, '"'); - appendStringInfoString(dest, pubname); - appendStringInfoChar(dest, '"'); + if (last) + appendStringInfo(dest, _("\"%s\""), pubname); + else + appendStringInfo(dest, _("\"%s\", "), pubname); } } } -- 2.47.3 --4pbgraihc64wxsmv-- ^ permalink raw reply [nested|flat] 323+ messages in thread
end of thread, other threads:[~2026-04-23 09:10 UTC | newest] Thread overview: 323+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]> 2026-04-23 09:10 [PATCH] change translation markers in GetPublicationsStr Álvaro Herrera <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox