Apache Iceberg · Schema

PlanTableScanRequest

PlanTableScanRequest schema from Apache Iceberg REST Catalog API

ACIDAnalyticsApacheData LakeLakehouseOpen SourceTable Format

Properties

Name Type Description
snapshot-id integer Identifier for the snapshot to scan in a point-in-time scan
select array List of selected schema fields
filter object Expression used to filter the table data
min-rows-requested integer The minimum number of rows requested for the scan. This is used as a hint to the server to not have to return more rows than necessary. It is not required for the server to return that many rows since
case-sensitive boolean Enables case sensitive field matching for filter and select
use-snapshot-schema boolean Whether to use the schema at the time the snapshot was written. When time travelling, the snapshot schema should be used (true). When scanning a branch, the table schema should be used (false).
start-snapshot-id integer Starting snapshot ID for an incremental scan (exclusive)
end-snapshot-id integer Ending snapshot ID for an incremental scan (inclusive). Required when start-snapshot-id is specified.
stats-fields array List of fields for which the service should send column stats.
View JSON Schema on GitHub

JSON Schema

rest-catalog-open-api-plan-table-scan-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/apache-iceberg/refs/heads/main/json-schema/rest-catalog-open-api-plan-table-scan-request-schema.json",
  "title": "PlanTableScanRequest",
  "description": "PlanTableScanRequest schema from Apache Iceberg REST Catalog API",
  "type": "object",
  "properties": {
    "snapshot-id": {
      "description": "Identifier for the snapshot to scan in a point-in-time scan",
      "type": "integer",
      "format": "int64"
    },
    "select": {
      "description": "List of selected schema fields",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FieldName"
      }
    },
    "filter": {
      "description": "Expression used to filter the table data",
      "$ref": "#/components/schemas/Expression"
    },
    "min-rows-requested": {
      "description": "The minimum number of rows requested for the scan. This is used as a hint to the server to not have to return more rows than necessary. It is not required for the server to return that many rows since the scan may not produce that many rows. The server can also return more rows than requested.",
      "type": "integer",
      "format": "int64"
    },
    "case-sensitive": {
      "description": "Enables case sensitive field matching for filter and select",
      "type": "boolean",
      "default": true
    },
    "use-snapshot-schema": {
      "description": "Whether to use the schema at the time the snapshot was written.\nWhen time travelling, the snapshot schema should be used (true). When scanning a branch, the table schema should be used (false).",
      "type": "boolean",
      "default": false
    },
    "start-snapshot-id": {
      "description": "Starting snapshot ID for an incremental scan (exclusive)",
      "type": "integer",
      "format": "int64"
    },
    "end-snapshot-id": {
      "description": "Ending snapshot ID for an incremental scan (inclusive).\nRequired when start-snapshot-id is specified.",
      "type": "integer",
      "format": "int64"
    },
    "stats-fields": {
      "description": "List of fields for which the service should send column stats.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FieldName"
      }
    }
  }
}