Skip to main content

sea_query/extension/postgres/
explain.rs

1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
2#[non_exhaustive]
3pub enum PgExplainSerialize {
4    None,
5    Text,
6    Binary,
7}
8
9impl PgExplainSerialize {
10    pub(crate) fn as_str(&self) -> &'static str {
11        match self {
12            PgExplainSerialize::None => "NONE",
13            PgExplainSerialize::Text => "TEXT",
14            PgExplainSerialize::Binary => "BINARY",
15        }
16    }
17}
18
19#[derive(Default, Debug, Clone, PartialEq)]
20pub(crate) struct PgExplainOptions {
21    pub(crate) verbose: Option<bool>,
22    pub(crate) costs: Option<bool>,
23    pub(crate) settings: Option<bool>,
24    pub(crate) generic_plan: Option<bool>,
25    pub(crate) buffers: Option<bool>,
26    pub(crate) serialize: Option<PgExplainSerialize>,
27    pub(crate) wal: Option<bool>,
28    pub(crate) timing: Option<bool>,
29    pub(crate) summary: Option<bool>,
30    pub(crate) memory: Option<bool>,
31}