Re: Protocol question regarding Portal vs Cursor

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Dave Cramer <davecramer@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-07-25T20:19:03Z
Lists: pgsql-hackers
On Thursday, July 25, 2024, Dave Cramer <davecramer@gmail.com> wrote:

May not make a difference but…


> 2024-07-25 15:55:39 FINEST org.postgresql.core.v3.QueryExecutorImpl
> sendSimpleQuery  FE=> SimpleQuery(query="declare C_3 CURSOR WITHOUT HOLD
> FOR SELECT * FROM testsps WHERE id = 2")
>

You named the cursor c_3 (lowercase due to SQL case folding)


> 2024-07-25 15:55:39 FINEST org.postgresql.core.v3.QueryExecutorImpl
> sendDescribePortal  FE=> Describe(portal=C_3)
>

The protocol doesn’t do case folding


>
> 2024-07-25 15:55:39 FINEST org.postgresql.core.v3.QueryExecutorImpl
> receiveErrorResponse  <=BE ErrorMessage(ERROR: portal "C_3" does not exist
>

As evidenced by this error message.

  Location: File: postgres.c, Routine: exec_describe_portal_message, Line:
> 2708
>
>

David J.