Skip to content

sql: Support CALL statements for pausable portals #151529

@ZhouXing19

Description

@ZhouXing19

In Postgres, pausable portal is supported with CALL statement with store procedures. E.g.:

send
Parse {"Name": "foo", "Query": "CALL fab5()"}
Bind {"DestinationPortal": "foo", "PreparedStatement": "foo"}
Bind {"DestinationPortal": "foo2", "PreparedStatement": "foo"}
Execute {"Portal": "foo", "MaxRows": 100}
Sync
----

# PG allows procedure with pausable portal, but CRDB does not.
until noncrdb_only ignore=RowDescription ignore=NoticeResponse
ReadyForQuery
----
{"Type":"ParseComplete"}
{"Type":"BindComplete"}
{"Type":"BindComplete"}
{"Type":"CommandComplete","CommandTag":"CALL"}
{"Type":"ReadyForQuery","TxStatus":"I"}

We now disallow it in #151153.

Jira issue: CRDB-53331

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-pausable-portalsIssues related to multiple active portalsC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-sql-queriesSQL Queries Teamdocs-known-limitation

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions