Re: Getting error 42P02, despite query parameter being sent
От | Achilleas Mantzios |
---|---|
Тема | Re: Getting error 42P02, despite query parameter being sent |
Дата | |
Msg-id | 40d8beef-ff67-4c6c-828c-2941ca30fdef@cloud.gatewaynet.com обсуждение исходный текст |
Ответы |
Re: Getting error 42P02, despite query parameter being sent
Re: Getting error 42P02, despite query parameter being sent |
Список | pgsql-general |
Στις 16/11/24 12:55, ο/η Max Ulidtko έγραψε:
Greetings, group!I'm trying to understand a low-level issue. Am evaluating a new client library for Postgres; it's not particularly popular / mainstream, and as I've understood so far, sports an independent implementation of PG binary protocol.The issue I'm hitting with it is exemplified by server logs like this:2024-11-16 10:28:19.927 UTC [46] LOG: statement: SET client_encoding = 'UTF8';SET client_min_messages TO WARNING;2024-11-16 10:28:19.928 UTC [46] LOG: execute <unnamed>: CREATE VIEW public.foobar (alg, hash) AS VALUES ('md5', $1);
At least for SQL level prepared statements the statement has to be one of :
SELECT
, INSERT
, UPDATE
, DELETE
, MERGE
, or VALUES
so CREATE is not valid, and I guess the extended protocol prepared statements aint no different in this regard.
2024-11-16 10:28:19.928 UTC [46] DETAIL: parameters: $1 = 'test-param-value'2024-11-16 10:28:19.928 UTC [46] ERROR: there is no parameter $1 at character 57Of course, I am passing a value for parameter $1; and I can trace that the client lib sends it out on the wire as expected. (Attaching packet captures.)Heck, even the PG server itself says, DETAIL: parameters: $1 = 'test-param-value' — so it sees the parameter! But then, immediately unsees it.Am I being hit by a PG bug? Is this a known issue?I'd retested with master version of that client library, and against 6 latest major versions of PostgreSQL server (12 throughout to 17). No difference across versions spotted; the result is consistently error 42P02.Is the client library doing something wrong? How can the server claim there's no parameter $1 immediately after logging its value it has received?I did minify a 100-line SSCCE that reproduces the issue and can be shared.Any advice, or pointers on what to check next besides delving into PG source, I'd greatly appreciate. Thanks in advance.Max
В списке pgsql-general по дате отправления: