1pub const HINTS_KEY: &str = "x-greptime-hints";
17pub const HINTS_KEY_PREFIX: &str = "x-greptime-hint-";
19pub const REMOTE_QUERY_ID_EXTENSION_KEY: &str = "remote_query_id";
20pub const INITIAL_REMOTE_DYN_FILTER_REGISTRATIONS_EXTENSION_KEY: &str =
21 "initial_remote_dyn_filter_registrations";
22
23pub const READ_PREFERENCE_HINT: &str = "read_preference";
24pub const RESERVED_EXTENSION_KEYS: [&str; 2] = [
25 REMOTE_QUERY_ID_EXTENSION_KEY,
26 INITIAL_REMOTE_DYN_FILTER_REGISTRATIONS_EXTENSION_KEY,
27];
28
29pub const HINT_KEYS: [&str; 7] = [
31 "x-greptime-hint-auto_create_table",
32 "x-greptime-hint-ttl",
33 "x-greptime-hint-append_mode",
34 "x-greptime-hint-merge_mode",
35 "x-greptime-hint-physical_table",
36 "x-greptime-hint-skip_wal",
37 "x-greptime-hint-read_preference",
38];
39
40pub fn is_reserved_extension_key(key: &str) -> bool {
41 RESERVED_EXTENSION_KEYS.contains(&key)
42}
43
44#[cfg(test)]
45mod tests {
46 use super::*;
47
48 #[test]
49 fn test_is_reserved_extension_key() {
50 assert!(is_reserved_extension_key(REMOTE_QUERY_ID_EXTENSION_KEY));
51 assert!(is_reserved_extension_key(
52 INITIAL_REMOTE_DYN_FILTER_REGISTRATIONS_EXTENSION_KEY
53 ));
54 assert!(!is_reserved_extension_key(READ_PREFERENCE_HINT));
55 }
56}