Skip to main content

a3s_orm/query/
cte.rs

1use std::marker::PhantomData;
2
3use crate::ast::{CteNode, SelectNode};
4use crate::schema::Table;
5
6#[derive(Clone, Debug)]
7pub struct Cte<T: Table> {
8    pub(crate) node: CteNode,
9    marker: PhantomData<fn() -> T>,
10}
11
12impl<T: Table> Cte<T> {
13    pub(crate) fn new(query: SelectNode) -> Self {
14        Self {
15            node: CteNode {
16                name: T::NAME,
17                query: Box::new(query),
18            },
19            marker: PhantomData,
20        }
21    }
22}