package spark.spark_operator

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

enum AggregateMode

operator.proto:732

Used in: HashAggregate

message BroadcastNestedLoopJoin

operator.proto:773

Used in: Operator

enum BuildSide

operator.proto:788

Used in: BroadcastNestedLoopJoin, HashJoin

enum CompressionCodec

operator.proto:679

Used in: ParquetWriter, ShuffleWriter

message ContribScan

operator.proto:88

A `google.protobuf.Any`-shaped envelope for out-of-tree contrib scan messages. Hand-rolled (rather than importing the well-known `google.protobuf.Any`) so the wire format needs no well-known-type import -- Comet compiles this .proto with two toolchains (Rust `prost-build` and the Maven `protoc-jar` plugin) and the latter cannot reliably resolve the bundled well-known types. Field layout is deliberately identical to `Any` (`type_url` + serialized `value` bytes) so the JVM can populate it from a standard `Any.pack(...)` and the native side routes purely on `type_url`.

Used in: Operator

message CsvOptions

operator.proto:196

Used in: CsvScan

message CsvScan

operator.proto:187

Used in: Operator

message CurrentRow

operator.proto:849

Used in: LowerWindowFrameBound, UpperWindowFrameBound

(message has no fields)

message DeleteFileList

operator.proto:354

Helper message for deduplicating delete file lists

Used in: IcebergScanCommon

message DeltaDvDescriptor

operator.proto:592

Mirrors delta_kernel::actions::deletion_vector::DeletionVectorDescriptor. Carries everything an executor needs to read + decode the DV bitmap, without materialising it on the driver.

Used in: DeltaScanTask

message DeltaPartitionValue

operator.proto:609

Used in: DeltaScanTask

message DeltaScan

operator.proto:541

Operator payload for a Delta scan.

message DeltaScanCommon

operator.proto:421

Per-scan invariants. Lives at the head of every Delta scan operator payload.

Used in: DeltaScan

message DeltaScanTask

operator.proto:552

Used in: DeltaScan, DeltaScanTaskList

message DeltaScanTaskList

operator.proto:615

JNI return value from planDeltaScan -- the list of tasks for a given snapshot.

message Expand

operator.proto:738

Used in: Operator

message Explode

operator.proto:743

Used in: Operator

message Filter

operator.proto:637

Used in: Operator

message Following

operator.proto:839

Used in: UpperWindowFrameBound

message HashAggregate

operator.proto:647

Used in: Operator

message HashJoin

operator.proto:754

Used in: Operator

message IcebergBinaryPredicate

operator.proto:266

Used in: IcebergPredicate

message IcebergDecimal

operator.proto:233

A decimal literal. `scale`/`precision` let the native side build a self-typed Datum for predicate pushdown (iceberg-rust's Datum is self-typed); partition-value decode reads only `unscaled`. Predicate decimal pushdown is deferred (iceberg-rust page-index gap), so today only `unscaled` is consumed.

Used in: IcebergLiteral

message IcebergDeleteFile

operator.proto:392

Iceberg delete file for MOR tables (positional or equality deletes) Positional: (file_path, row_position) pairs to skip Equality: Column values to filter out (specified by equality_ids)

Used in: IcebergScanCommon

message IcebergFileScanTask

operator.proto:360

Iceberg FileScanTask containing data file, delete files, and residual filter

Used in: IcebergScan

message IcebergLiteral

operator.proto:210

A typed Iceberg primitive value, shared by partition values and predicate literals. The oneof case is the type tag (iceberg-rust's Datum is self-typed and Predicate::bind does not coerce, so the type must be known at construction). Grows by adding a case as Iceberg adds primitives (GEOMETRY/VARIANT/nanosecond timestamps); unrecognized values decode to no-op, never an error.

Used in: IcebergBinaryPredicate, IcebergSetPredicate, PartitionValue

message IcebergLogicalPredicate

operator.proto:268

Used in: IcebergPredicate

message IcebergPredicate

operator.proto:254

Iceberg residual predicate for row-group pruning, mirroring iceberg::expr::Predicate. Only a pruning hint: the post-scan CometFilter enforces correctness, so an unrepresentable predicate is simply omitted. Carries no expr_id/query_context (those are for native ANSI error reporting on executable expressions; a residual never errors), which also lets identical residuals dedup.

Used in: IcebergLogicalPredicate, IcebergScanCommon

enum IcebergPredicateOperator

operator.proto:274

Mirrors iceberg-rust PredicateOperator (crates/iceberg/src/expr/mod.rs) so the mapping on both sides is 1:1. The driver emits a subset by design: NOT_IN never prunes from column stats (inherent, matches Iceberg-Java), and IS_NAN/STARTS_WITH are not produced by the current residual path. Unspecified/unrecognized decodes to no-pushdown.

Used in: IcebergBinaryPredicate, IcebergSetPredicate, IcebergUnaryPredicate

message IcebergScan

operator.proto:340

Used in: Operator

message IcebergScanCommon

operator.proto:293

Common data shared by all partitions in split mode (sent once, captured in closure)

Used in: IcebergScan

message IcebergSetPredicate

operator.proto:267

Used in: IcebergPredicate

message IcebergUnaryPredicate

operator.proto:265

Used in: IcebergPredicate

enum JoinType

operator.proto:779

Used in: BroadcastNestedLoopJoin, HashJoin, SortMergeJoin

message Limit

operator.proto:664

Used in: Operator

message LowerWindowFrameBound

operator.proto:815

Used in: WindowFrame

message NativeScan

operator.proto:179

Used in: Operator

message NativeScanCommon

operator.proto:141

Common data shared by all partitions in split mode (sent once at planning)

Used in: NativeScan

message Operator

operator.proto:32

The basic message representing a Spark operator.

Used in: Window

message ParquetWriter

operator.proto:709

Used in: Operator

message PartitionData

operator.proto:246

Collection of partition values for a single partition

Used in: IcebergScanCommon

message PartitionValue

operator.proto:240

Partition value for Iceberg partition data

Used in: PartitionData

message Preceding

operator.proto:831

Used in: LowerWindowFrameBound

message ProjectFieldIdList

operator.proto:349

Helper message for deduplicating field ID lists

Used in: IcebergScanCommon

message Projection

operator.proto:633

Used in: Operator

message Sample

operator.proto:672

Sampling without replacement. Spark's SampleExec also supports sampling with replacement, but that path is not serialized to native yet, so there is no `with_replacement` field.

Used in: Operator

message Scan

operator.proto:126

Used in: Operator

message ShuffleScan

operator.proto:134

Used in: Operator

message ShuffleWriter

operator.proto:688

Used in: Operator

message Sort

operator.proto:641

Used in: Operator

message SortMergeJoin

operator.proto:765

Used in: Operator

message SparkFilePartition

operator.proto:113

This name and the one above are not great, but they correspond to the (unfortunate) Spark names. I prepended "Spark" since I think there's a name collision on the native side, but we can revisit.

Used in: CsvScan, NativeScan

message SparkPartitionedFile

operator.proto:103

Used in: SparkFilePartition

message SparkStructField

operator.proto:117

Used in: CsvScan, DeltaScanCommon, IcebergScanCommon, NativeScanCommon, ParquetWriter, ShuffleWriter

message UnboundedFollowing

operator.proto:848

Used in: UpperWindowFrameBound

(message has no fields)

message UnboundedPreceding

operator.proto:847

Used in: LowerWindowFrameBound

(message has no fields)

message UpperWindowFrameBound

operator.proto:823

Used in: WindowFrame

message Window

operator.proto:857

Used in: Operator

message WindowExpr

operator.proto:793

Used in: Window

message WindowFrame

operator.proto:809

Used in: WindowSpecDefinition

enum WindowFrameType

operator.proto:804

Used in: WindowFrame

message WindowSpecDefinition

operator.proto:851

Used in: WindowExpr