kdb-connection 0.1.0

kDB connection.
Documentation
//! Convenient API for creating krQL queries
use serde_with::skip_serializing_none;

use crate::value;

use super::KRQLQuery;

/// Salient Region query
#[derive(Clone, KRQLQuery)]
#[krql(key = "salient region", tag = "action")]
pub enum SalientRegion
{
    /// Insert a new salient region
    Insert
    {
        dataset_uri: String,
        geometry: String,
        classes: Vec<String>,
        properties: value::ValueHash,
        object: Option<String>,
    },
    /// Add a value to a property
    #[serde(rename = "add to property")]
    AddToProperty
    {
        dataset_uri: String,
        object: String,
        property: String,
        amount: value::Value,
    },
    /// Set a value to a property
    #[serde(rename = "set property")]
    SetProperty
    {
        dataset_uri: String,
        object: String,
        property: String,
        value: value::Value,
    },
    /// Get a value from a property
    #[serde(rename = "get property")]
    GetProperty
    {
        dataset_uri: String,
        object: String,
        property: String,
    },
}