From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
To: | Joe Conway <mail(at)joeconway(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
Cc: | Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [17] CREATE SUBSCRIPTION ... SERVER |
Date: | 2024-01-15 21:34:18 |
Message-ID: | 9a235a36d71a50bff5c14dc14df40f5b1e703e2e.camel@j-davis.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, 2024-01-15 at 15:53 -0500, Joe Conway wrote:
> I took a quick scan through the patch. The only thing that jumped out
> at
> me was that it seems like it might make sense to use
> quote_literal_cstr() rather than defining your own
> appendEscapedValue()
> function?
The rules are slightly different. Libpq expects a connection string to
escape only single-quote and backslash, and the escape character is
always backslash:
https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-CONNSTRING-KEYWORD-VALUE
quote_literal_cstr() has more complicated rules. If there's a backslash
anywhere in the string, it uses the E'' form. If it encounters a
backslash it escapes it with backslash, but if it encounters a single-
quote it escapes it with single-quote. See:
https://www.postgresql.org/docs/16/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS
https://www.postgresql.org/docs/16/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE
I'll include some tests and a better comment for it in the next patch
set.
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2024-01-15 21:39:32 | Re: make pg_ctl more friendly |
Previous Message | Robert Haas | 2024-01-15 21:05:15 | Re: Fixing backslash dot for COPY FROM...CSV |