Re: [PATCH] clarify palloc comment on quote_literal_cstr
Вложения
В списке pgsql-hackers по дате отправления:
| От | Michael Paquier |
|---|---|
| Тема | Re: [PATCH] clarify palloc comment on quote_literal_cstr |
| Дата | |
| Msg-id | Z_L2zipq-qAYClxk@paquier.xyz обсуждение |
| Ответ на | [PATCH] clarify palloc comment on quote_literal_cstr (Steve Chavez <steve@supabase.io>) |
| Ответы |
Re: [PATCH] clarify palloc comment on quote_literal_cstr
|
| Список | pgsql-hackers |
On Sun, Apr 06, 2025 at 12:37:24PM -0500, Steve Chavez wrote: > I found the numbers in `quote_literal_cstr` palloc quite magical. So I've > added a comment clarifying what they mean. The change is small: > > /* We make a worst-case result area; wasting a little space is OK */ > - result = palloc(len * 2 + 3 + 1); > + result = palloc( > + (len * 2) /* worst-case doubling for every character if > each one is a quote */ > + + 3 /* two outer quotes + possibly 'E' if needed */ > + + 1 /* null terminator */ > + ); Agreed that this is a good idea to have a better documentation here if someone decides to tweak this area in the future, rather than have them guess the numbers. Looking at what quote_literal_internal() does, it seems to me that you are right based on ESCAPE_STRING_SYNTAX, SQL_STR_DOUBLE(), and the extra backslashes added to the destination buffer. -- Michael
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера