Skip to main content

sql_fun_sqlast/sem/scalar_expr/
named_arg.rs

1use sql_fun_core::IVec;
2
3use crate::{
4    sem::{AnalysisError, FromClause, ParseContext, SemScalarExpr, TypeReference, WithClause},
5    syn::ScanToken,
6};
7
8use super::SemScalarExprNode;
9
10/// named argument expression
11#[derive(Debug, Clone, Eq, Hash, PartialEq, serde::Serialize, serde::Deserialize)]
12pub struct NamedArgExpr {}
13
14impl SemScalarExprNode for NamedArgExpr {
15    fn get_type(&self) -> Option<TypeReference> {
16        todo!()
17    }
18
19    fn is_not_null(&self) -> Option<bool> {
20        todo!()
21    }
22}
23
24impl<TParseContext> super::AnalyzeScalarExpr<TParseContext, crate::syn::NamedArgExpr>
25    for NamedArgExpr
26where
27    TParseContext: ParseContext,
28{
29    fn analyze_scalar_expr(
30        _context: TParseContext,
31        _with_clause: &WithClause,
32        _from_clause: &FromClause,
33        _syn: crate::syn::NamedArgExpr,
34        _tokens: &IVec<ScanToken>,
35    ) -> Result<(SemScalarExpr, TParseContext), AnalysisError> {
36        todo!()
37    }
38}