Я в настоящее время звоню qInstallMsgHandler()
, чтобы перенаправить все ошибки Qt Errors, Warnings и Debug на свой собственный обработчик сообщений.Redirect PostgreSQL Qt driver stdout/stderr output
Это работает 99% времени, но при выполнении SQL заявления через объект QSqlQuery я все еще получаю следующий вывод STDERR:
**WARNING: nonstandard use of \\ in a string literal
LINE 1: EXECUTE qpsqlpstmt_11 ('<?xml version=''1.0'' encoding=''U
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.**
База данных PostgresSQL версии 8.4. Любые идеи, как я могу перехватить и перенаправить это предупреждение?
Разве это предупреждение не генерируется сервером? – alediaferia
Похоже, что он исходит от водителя postgres. Я не вижу его нигде в Qt. – kh25
Он исходит отсюда: https://github.com/postgres/postgres/blob/c202ecf9023ac3571709c274b326038ae39e90a7/src/backend/parser/scan.l#L1475 – alediaferia