tank_core/query/
query_metadata.rs

1use crate::TableRef;
2use std::borrow::Cow;
3
4#[derive(Clone, Copy, Debug)]
5pub enum QueryType {
6    Select,
7    InsertInto,
8    DeleteFrom,
9    CreateTable,
10    DropTable,
11    CreateSchema,
12    DropSchema,
13}
14
15#[derive(Default, Clone, Debug)]
16pub struct QueryMetadata {
17    pub table: TableRef,
18    pub count: Option<u32>,
19    pub query_type: Option<QueryType>,
20}
21
22impl<'s> From<QueryMetadata> for Cow<'s, QueryMetadata> {
23    fn from(value: QueryMetadata) -> Self {
24        Cow::Owned(value)
25    }
26}
27
28impl<'s> From<&'s QueryMetadata> for Cow<'s, QueryMetadata> {
29    fn from(value: &'s QueryMetadata) -> Self {
30        Cow::Borrowed(value)
31    }
32}