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}