milvus/docs/design_docs/segcore
Yinzuo Jiang 3628593d20
feat: Implement custom function module in milvus expr (#36560)
OSPP 2024 project:
https://summer-ospp.ac.cn/org/prodetail/247410235?list=org&navpage=org

Solutions:

- parser (planparserv2)
    - add CallExpr in planparserv2/Plan.g4
    - update parser_visitor and show_visitor
- grpc protobuf
    - add CallExpr in plan.proto
- execution (`core/src/exec`)
- add `CallExpr` `ValueExpr` and `ColumnExpr` (both logical and
physical) for function call and function parameters
- function factory (`core/src/exec/expression/function`)
    - create a global hashmap when starting milvus (see server.go)
- the global hashmap stores function signatures and their function
pointers, the CallExpr in execution engine can get the function pointer
by function signature.
- custom functions
    - empty(string)
    - starts_with(string, string)
- add cpp/go unittests and E2E tests

closes: #36559

Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-10-25 15:25:30 +08:00
..
basic_types.md
scripts_and_tools.md fix: update clang-tidy and clang-format from 10 to 12 (#33141) 2024-06-13 15:27:58 +08:00
Search.md [skip e2e]Fix bad link in doc (#15525) 2022-02-11 09:31:47 +08:00
segment_growing.md fix some typos (#27851) 2023-10-24 09:30:10 +08:00
segment_interface.md [skip e2e] Check the grammar of segment_interface.md (#15174) 2022-02-09 10:21:52 +08:00
segment_overview.md
segment_sealed.md [skip e2e] Fix typo for design doc (#14677) 2021-12-31 11:45:19 +08:00
timetravel.md [skip e2e] Check the grammar of segcore/timetravel.md (#15182) 2022-02-09 10:23:47 +08:00
visitor.md feat: Implement custom function module in milvus expr (#36560) 2024-10-25 15:25:30 +08:00