Skip to content

Add SDK support for bounded Snowflake destination queries #212

Description

Track Python SDK propagation of POST /v1/destinations/{destinationId}/query from Platform #19472, paired with Sonar #6544. This operation is separate from workspace skill documentation tracked in #211.

Regenerate from the updated public API definition and expose the operation in Destinations (publicQueryDestination, SDK alias queryDestination). Requests contain exactly one statement string, limited to 32 KiB UTF-8 within a 64 KiB JSON body.

The response contains ordered columns (index, name, type, nullable), positional rows of string-or-null cells, and a page with returnedRows, fixed rowLimit: 1000, fixed byteLimit: 1048576, truncated, an array of row_limit/byte_limit/provider_partition reasons, and required nextCursor: null. Preserve empty arrays, duplicate column labels, null cells and provider text without automatic native-value coercion. The full response is at most 1 MiB with at most 256 columns. There is no resumable cursor or total-row count.

Acceptance:

  • Generate the operation and request/response models, and add serialization tests for positional null cells, duplicate labels, empty rows/reasons and the required null cursor.
  • Verify all documented 401/403/404/413/422/501/502/503/504 problem responses.
  • Ensure this query operation does not automatically retry an uncertain POST submission, including timeout, disconnect or retryable HTTP status; preserve other operations' existing retry behavior.
  • Document workspace reader access, controlled availability, key-pair Snowflake destinations and separately approved query-role configuration. Other warehouse/auth variants are unsupported; availability is disabled by default.
  • Release SDK support after the paired server change is ready, then link the released version here and in the Platform PR. SDK release and production activation are separate.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions