Hi,
src/backend/replication/logical/proto.c
action = pq_getmsgbyte(in);
if (action != 'N')
elog(ERROR, "expected new tuple but got %d",
action);
"%d" in the above message should be "%c" because the type of
the variable "action" is char? There are other log messages that
"%c" is used for such variable, in proto.c. Seems the above is
only message that "%d" is used for such variable.
Regards,
--
Fujii Masao
On Tue, Sep 24, 2019 at 5:41 AM Fujii Masao <masao.fujii@gmail.com> wrote: > src/backend/replication/logical/proto.c > action = pq_getmsgbyte(in); > if (action != 'N') > elog(ERROR, "expected new tuple but got %d", > action); > > "%d" in the above message should be "%c" because the type of > the variable "action" is char? There are other log messages that > "%c" is used for such variable, in proto.c. Seems the above is > only message that "%d" is used for such variable. The potential problem with using %c to print characters is that the character might be a null byte or something else that ends up making the log file invalid under the relevant encoding. However, if the goal of using %d is to protect against such problems, it has to be done consistently. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера