From cc61a22f0cc5b4b08ab60636260e7c0d9200ca52 Mon Sep 17 00:00:00 2001 From: Dodothereal <129273127+Dodothereal@users.noreply.github.com> Date: Wed, 24 Jun 2026 09:51:10 +0200 Subject: [PATCH] chore(physical-plan): remove deprecated RowIndex struct (Closes #23080 - partial) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The RowIndex struct has been deprecated since 46.0.0 and was never wired into the public mod tree (sorts/index.rs was a dead file in the sources tree — declared nowhere as `mod index`, only its comments mention the type). A grep across the workspace confirms zero remaining callers and zero public re-exports. With DataFusion now on 55.x, the 6-major-version grace period cited by the API-health policy is past due. AI assistance: drafted with the help of an Anthropic coding assistant. Diff was reviewed line by line before submission, and the change was verified independently. Generated-by: Anthropic Claude Signed-off-by: Dodothereal <129273127+Dodothereal@users.noreply.github.com> --- datafusion/physical-plan/src/sorts/index.rs | 61 --------------------- 1 file changed, 61 deletions(-) delete mode 100644 datafusion/physical-plan/src/sorts/index.rs diff --git a/datafusion/physical-plan/src/sorts/index.rs b/datafusion/physical-plan/src/sorts/index.rs deleted file mode 100644 index 29441e3f1fc59..0000000000000 --- a/datafusion/physical-plan/src/sorts/index.rs +++ /dev/null @@ -1,61 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -/// A `RowIndex` identifies a specific row in a logical stream. -/// -/// Each stream is identified by an `stream_idx` and is formed from a -/// sequence of RecordBatches batches, each of which is identified by -/// a unique `batch_idx` within that stream. -/// -/// This is used by `SortPreservingMergeStream` to identify which -/// the order of the tuples in the final sorted output stream. -/// -/// ```text -/// ┌────┐ ┌────┐ ┌────┐ RecordBatch -/// │ │ │ │ │ │ -/// │ C1 │ │... │ │ CN │◀─────── (batch_idx = 0) -/// │ │ │ │ │ │ -/// └────┘ └────┘ └────┘ -/// ┌────┐ ┌────┐ ┌────┐ RecordBatch -/// │ │ │ │ │ │ -/// │ C1 │ │... │ │ CN │◀─────── (batch_idx = 1) -/// │ │ │ │ │ │ -/// └────┘ └────┘ └────┘ -/// ┌────┐ -/// │ │ ... -/// │ C1 │ -/// │ │ ┌────┐ RecordBatch -/// └────┘ │ │ -/// │ CN │◀────── (batch_idx = M-1) -/// │ │ -/// └────┘ -/// -///"Stream"s each with Stream N has M -/// a potentially RecordBatches -///different number of -/// RecordBatches -/// ``` -#[derive(Debug, Clone)] -#[deprecated(since = "46.0.0", note = "unused and will be removed in the future")] -pub struct RowIndex { - /// The index of the stream (uniquely identifies the stream) - pub stream_idx: usize, - /// The index of the batch within the stream's VecDequeue. - pub batch_idx: usize, - /// The row index within the batch - pub row_idx: usize, -}