kdb_connection/queries/
krql.rs1use serde::Serialize;
4use serde_with::skip_serializing_none;
5
6use kdb_macros::KRQLQuery;
7
8pub mod agents;
9pub mod datasets;
10mod sensing;
11
12#[allow(unused)] pub(crate) trait KRQLQuery: Serialize {}
14
15#[derive(Clone, Default, KRQLQuery)]
17pub struct Test
18{
19 pub print: Option<crate::value::Value>,
21 #[serde(rename = "return")]
23 pub return_value: Option<crate::value::Value>,
24}
25
26#[cfg(test)]
27mod tests
28{
29 use super::*;
30
31 #[test]
32 fn test_query()
33 {
34 let t = Test {
35 print: Some("Hello".into()),
36 ..Default::default()
37 };
38 assert_eq!(
39 serde_saphyr::to_string(&t).unwrap(),
40 r#"test:
41 print:
42 type: literal
43 datatype: "http://www.w3.org/2001/XMLSchema#string"
44 value: Hello
45"#
46 );
47 let t = Test {
48 return_value: Some("world".to_string().into()),
49 ..Default::default()
50 };
51 assert_eq!(
52 serde_saphyr::to_string(&t).unwrap(),
53 r#"test:
54 return:
55 type: literal
56 datatype: "http://www.w3.org/2001/XMLSchema#string"
57 value: world
58"#
59 );
60 }
61}