lance-format/lance

[DuckDB] Implement replacement scan function for Lance Scan in DuckDB

Open

#641 opened on Feb 25, 2023

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Rust (695 forks)github user discovery
duckdbgood first issuehelp wantedrust

Repository metrics

Stars
 (6,582 stars)
PR merge metrics
 (Avg merge 6d 1h) (219 merged PRs in 30d)

Description

Problem Statement

DuckDB has a concept of replacement scan when the URL of dataset matches to certain pattern, the URL itself can be used to indicate which scan function to call,

For example,

SELECT * FROM s3://foo/bar/zoo.lance
-- Replace
SELECT * FROM lance_scan("s3://foo/bar/zoo.lance")

Reference of the old (c++) implementation

https://github.com/eto-ai/lance/blob/78e5af7dec1a9602823797ba18eafc632ba727c3/integration/duckdb/src/lance/duckdb/lance-extension.cc#L65

Desired Behavior

Re-enable the scan replacement of lance scan in the rust-based duckdb extension.

Contributor guide