1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//! Built-in scalar and aggregate function definitions.
//!
//! This module registers all built-in functions with the registry.
//! Functions are organized by category (math, string, array, etc.).
pub mod aggregates;
mod api;
mod array;
mod bytes;
mod count;
mod crypto;
mod crypto_async;
mod duration;
mod encoding;
mod eval;
mod file;
mod geo;
mod http;
mod math;
mod meta;
mod not;
mod object;
mod parse;
mod rand;
mod record;
mod schema;
mod search;
mod sequence;
mod session;
mod set;
mod sleep;
mod string;
mod time;
mod r#type;
mod value;
mod vector;
use super::FunctionRegistry;
/// Register all built-in functions with the registry.
pub fn register_all(registry: &mut FunctionRegistry) {
// Scalar functions
api::register(registry);
array::register(registry);
bytes::register(registry);
count::register(registry);
crypto::register(registry);
crypto_async::register(registry);
duration::register(registry);
encoding::register(registry);
eval::register(registry);
file::register(registry);
geo::register(registry);
http::register(registry);
math::register(registry);
meta::register(registry);
not::register(registry);
object::register(registry);
parse::register(registry);
rand::register(registry);
record::register(registry);
schema::register(registry);
search::register(registry);
sequence::register(registry);
session::register(registry);
set::register(registry);
sleep::register(registry);
string::register(registry);
time::register(registry);
r#type::register(registry);
value::register(registry);
vector::register(registry);
// Aggregate functions
aggregates::register(registry);
}