mirror of
https://github.com/apache/doris.git
synced 2026-11-04 07:31:17 +00:00
[improvement](build) Add merged lance-c multi-vector API patch (#68056)
### What problem does this PR solve? Related PR: #67741; consumer integration: #68028 Add merged [lance-format/lance-c#83](https://github.com/lance-format/lance-c/pull/83) to the Lance-C third-party patch chain on master. This provides the C/C++ multi-vector query API and its upstream scoring, validation and regression tests as a prerequisite for Doris multi-vector search integration. The patch records upstream commit `0a30ee6c5a9d1455ceb36f4745acb79e53a00461`. Overlapping context is adapted to the existing patch chain while retaining PR #79's scalar-segment execution path and tests. The multi-vector implementation and integration tests are byte-identical to the merged upstream commit. The release archive and dependency versions remain unchanged from #67741. Apply PR #83 with a separate completion marker so source trees already carrying the existing patches also receive the new API, and repeat runs do not reapply it. Rebuild Lance-C before consuming the new API. This PR changes only third-party patch integration and does not expose new Doris SQL syntax. ### Validation - Applied the actual Lance-C patch-driver block to clean v0.1.9 sources and to sources already patched through #67741; both produce identical source trees. Repeat execution leaves the sources unchanged. All patches apply with `--fuzz=0`. - Compared the resulting source tree with the previously validated integrated chain and checked the multi-vector implementation/tests against the merged upstream commit. - `cargo test --locked`: 410 tests passed, including 14 multi-vector integration tests; three opt-in C/C++ compile/run and static-transport tests were ignored in this run. - `cargo fmt --check` and `bash -n thirdparty/download-thirdparty.sh` passed. - Completed local self-review of patch provenance, conflict adaptation, existing API behavior, ownership/resource bounds and cached-source application before committing. A complete Doris build and SQL regression run are not part of this local dependency-only validation. ### Release note None ### Check List (For Author) - Test - [x] Unit Test - [x] Manual test: patch application, cached-source upgrade, repeat execution and source equivalence - Behavior changed: - [x] Yes: the third-party library gains the upstream multi-vector API; existing API signatures remain unchanged. - Does this need documentation? - [x] No: upstream API documentation is included in the patch. ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label
This commit is contained in:
1 parent
65d5751d0f
commit
f89181c2df
2 files changed
+1920
No files matched your search
Vendored
+6
@@ -764,6 +764,12 @@ if [[ " ${TP_ARCHIVES[*]} " =~ " LANCE_C " ]]; then
|
||||
done
|
||||
touch "${PATCHED_MARK}"
|
||||
fi
|
||||
# The base marker may already exist in cached sources; apply PR #83 independently.
|
||||
if [[ ! -f "${PATCHED_MARK}_pr83" ]]; then
|
||||
patch --batch --forward --reject-file=- --fuzz=0 --no-backup-if-mismatch -s \
|
||||
-p1 <"${TP_PATCH_DIR}/${LANCE_C_SOURCE}-pr-83.patch"
|
||||
touch "${PATCHED_MARK}_pr83"
|
||||
fi
|
||||
cd -
|
||||
echo "Finished patching ${LANCE_C_SOURCE}"
|
||||
fi
|
||||
|
||||
+1914
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user