Skip to content

build: Upgrade Velox DuckDB from 0.8.1 to 1.4.4 (#16650)#16650

Open
hdikeman wants to merge 1 commit intofacebookincubator:mainfrom
hdikeman:export-D95309313
Open

build: Upgrade Velox DuckDB from 0.8.1 to 1.4.4 (#16650)#16650
hdikeman wants to merge 1 commit intofacebookincubator:mainfrom
hdikeman:export-D95309313

Conversation

@hdikeman
Copy link
Contributor

@hdikeman hdikeman commented Mar 5, 2026

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

  • Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
  • Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
  • Fix API compatibility in QueryPlanner.cpp:
    • LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
    • LogicalLimit uses BoundLimitNode instead of int64_t
    • TableFunction::to_string signature changed to use TableFunctionToStringInput
    • Aggregate function callback signatures gained AggregateFunction& parameter
    • Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
  • Fix DuckParser.cpp:
    • Handle new OPERATOR_TRY expression type (was parsed as function before)
    • Handle new WindowBoundary GROUPS variants
    • Support INTERVAL constants parsed directly by DuckDB 1.4.4
    • Unwrap cast(trunc(cast(...))) chains in interval parsing
  • Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
  • Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313

@netlify
Copy link

netlify bot commented Mar 5, 2026

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 0ad2a97
🔍 Latest deploy log https://app.netlify.com/projects/meta-velox/deploys/69b4c1933758b700085ec81f

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 5, 2026
@meta-codesync
Copy link

meta-codesync bot commented Mar 5, 2026

@hdikeman has exported this pull request. If you are a Meta employee, you can view the originating Diff in D95309313.

hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 5, 2026
)

Summary:
Pull Request resolved: facebookincubator#16650

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 5, 2026
)

Summary:
Pull Request resolved: facebookincubator#16650

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
@hdikeman hdikeman force-pushed the export-D95309313 branch 2 times, most recently from a287a55 to 92e9e5a Compare March 6, 2026 22:37
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 6, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 11, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 11, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
@hdikeman hdikeman force-pushed the export-D95309313 branch 2 times, most recently from b0a607b to f1525d7 Compare March 12, 2026 04:45
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 12, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 12, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
@meta-codesync meta-codesync bot changed the title build: Upgrade Velox DuckDB from 0.8.1 to 1.4.4 build: Upgrade Velox DuckDB from 0.8.1 to 1.4.4 (#16650) Mar 13, 2026
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 13, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 13, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
@hdikeman hdikeman force-pushed the export-D95309313 branch 2 times, most recently from b88a001 to 15a85fc Compare March 13, 2026 22:48
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 13, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 13, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 13, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 14, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
hdikeman added a commit to hdikeman/velox that referenced this pull request Mar 14, 2026
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

Differential Revision: D95309313
)

Summary:

Upgrade DuckDB dependency for Velox from v0.8.1 to v1.4.4

Updates needed:

- Update default duckdb alias in third-party/duckdb/BUCK to point to 1.4.4
- Replace manually-copied DuckDB class definitions in DuckLogicalOperator.h with direct includes of v1.4.4 headers, since this was to work around DuckDB being so old
- Fix API compatibility in QueryPlanner.cpp:
  - LogicalGet::column_ids is now private; use GetColumnIds()/ColumnIndex
  - LogicalLimit uses BoundLimitNode instead of int64_t
  - TableFunction::to_string signature changed to use TableFunctionToStringInput
  - Aggregate function callback signatures gained AggregateFunction& parameter
  - Handle new LOGICAL_UNNEST operator type (split from LogicalGet)
- Fix DuckParser.cpp:
  - Handle new OPERATOR_TRY expression type (was parsed as function before)
  - Handle new WindowBoundary GROUPS variants
  - Support INTERVAL constants parsed directly by DuckDB 1.4.4
  - Unwrap cast(trunc(cast(...))) chains in interval parsing
- Fix QueryAssertions.cpp: Value::EMPTYLIST removed; use Value::LIST
- Update CMake/CI: version, commit hash, and ccache patch for v1.4.4

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

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant