SIGN IN SIGN UP
apache / arrow UNCLAIMED

Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics

0 0 75 C++

GH-49356: [C++] Remove deprecated APIs from v13.0.0 and v18.0.0 (#49171)

### Rationale for This Change

This PR removes C++ APIs that have been deprecated for more than one year, in line with Arrow's deprecation and cleanup policy. All removed APIs were deprecated before January 1, 2025.

---

### What Changes Are Included in This PR?

This PR removes **3 deprecated C++ APIs**:

**1. `decimal(precision, scale)` function**
- Deprecated in v18.0.0 (September 30, 2024, PR #43957)
- Replacement: `smallest_decimal(precision, scale)`
- Removed from: `cpp/src/arrow/type_fwd.h`, `cpp/src/arrow/type.cc`

**2. `cuda::DefaultMemoryMapper(device_type, device_id)` function**
- Deprecated in v16.0.0 (April 16, 2024, PR #40699)
- Replacement: `arrow::DefaultDeviceMapper`
- Removed from: `cpp/src/arrow/gpu/cuda_memory.h`, `cpp/src/arrow/gpu/cuda_memory.cc`

**3. `HasValidityBitmap(Type::type id)` global function**
- Deprecated in v17.0.0 (July 11, 2024, PR #41115)
- Replacement: `may_have_validity_bitmap(Type::type id)`
- Removed from: `cpp/src/arrow/type.h`
- Note: Member functions like `ArrayData::HasValidityBitmap()` remain unchanged

---

### Are These Changes Tested?

Yes. Verified via full codebase search that all removed symbols have zero remaining usages in the C++ codebase.

---

### Are There Any User-Facing Changes?

Yes. Downstream C++ consumers using these deprecated APIs will need to migrate to the replacement APIs listed above.

---

* GitHub Issue: #49356

Authored-by: unknown <alimahmoodrana82@gmail.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
A
Ali Mahmood Rana committed
8c27898d36f45ece9b0d114b3d6c6a42d20bde7f
Parent: 0cf32b2
Committed by GitHub <noreply@github.com> on 2/21/2026, 10:22:37 PM