Give function calls exact spans
diff --git a/src/ast/mod.rs b/src/ast/mod.rs
index 76d202b..812a581 100644
--- a/src/ast/mod.rs
+++ b/src/ast/mod.rs
@@ -282,6 +282,12 @@
     }
 }
 
+impl<T> From<T> for Parens<T> {
+    fn from(content: T) -> Self {
+        Self::with_empty_span(content)
+    }
+}
+
 impl<T> Deref for Parens<T> {
     type Target = T;
 
@@ -1321,7 +1327,7 @@
     /// as well as constants of other types (a non-standard PostgreSQL extension).
     TypedString(TypedString),
     /// Scalar function call e.g. `LEFT(foo, 5)`
-    Function(Function),
+    Function(Box<Function>),
     /// `CASE [<operand>] WHEN <condition> THEN <result> ... [ELSE <result>] END`
     ///
     /// Note we only recognize a complete single expression as `<condition>`,
@@ -7912,6 +7918,8 @@
     pub null_treatment: Option<NullTreatment>,
     /// The `OVER` clause, indicating a window function call.
     pub over: Option<WindowType>,
+    /// The last token of the call.
+    pub end_token: AttachedToken,
 }
 
 impl fmt::Display for Function {
@@ -7961,18 +7969,18 @@
     None,
     /// On some dialects, a subquery can be passed without surrounding
     /// parentheses if it's the sole argument to the function.
-    Subquery(Box<Query>),
+    Subquery(Parens<Box<Query>>),
     /// A normal function argument list, including any clauses within it such as
     /// `DISTINCT` or `ORDER BY`.
-    List(FunctionArgumentList),
+    List(Parens<FunctionArgumentList>),
 }
 
 impl fmt::Display for FunctionArguments {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
         match self {
             FunctionArguments::None => Ok(()),
-            FunctionArguments::Subquery(query) => write!(f, "({query})"),
-            FunctionArguments::List(args) => write!(f, "({args})"),
+            FunctionArguments::Subquery(query) => write!(f, "({})", query.content),
+            FunctionArguments::List(args) => write!(f, "({})", args.content),
         }
     }
 }
diff --git a/src/ast/spans.rs b/src/ast/spans.rs
index 86136c6..3faa8cd 100644
--- a/src/ast/spans.rs
+++ b/src/ast/spans.rs
@@ -1889,7 +1889,7 @@
 
 /// # partial span
 ///
-/// The span of [FunctionArguments::None] is empty.
+/// The braces of an ODBC call such as `{fn f(1)}` are outside the span.
 impl Spanned for Function {
     fn span(&self) -> Span {
         let Function {
@@ -1901,6 +1901,7 @@
             null_treatment: _, // enum
             over: _,           // todo
             within_group,
+            end_token,
         } = self;
 
         union_spans(
@@ -1910,7 +1911,8 @@
                 .chain(iter::once(args.span()))
                 .chain(iter::once(parameters.span()))
                 .chain(filter.iter().map(|i| i.span()))
-                .chain(within_group.iter().map(|i| i.span())),
+                .chain(within_group.iter().map(|i| i.span()))
+                .chain(iter::once(end_token.0.span)),
         )
     }
 }
@@ -3244,7 +3246,7 @@
         let mut test = SpanTest::new(dialect, sql);
 
         let options = match test.0.parse_statement().unwrap() {
-            Statement::CreateForeignTable(stmt) => stmt.options.unwrap(),
+            Statement::CreateForeignTable(stmt) => stmt.content.options.unwrap(),
             stmt => panic!("expected CREATE FOREIGN TABLE, got {stmt:?}"),
         };
         assert_eq!(test.get_source(options[0].key.span), r#""schema_name""#);
@@ -3265,4 +3267,37 @@
             stmt => panic!("expected ALTER TABLE; got {stmt:?}"),
         }
     }
+
+    #[test]
+    fn test_function_spans() {
+        for sql in [
+            "f(a, b)",
+            "COUNT(*) FILTER (WHERE i > 0)",
+            "ARRAY_AGG(x) WITHIN GROUP (ORDER BY x)",
+            "FIRST_VALUE(x) IGNORE NULLS",
+            "ROW_NUMBER() OVER (PARTITION BY a)",
+            "ARRAY(SELECT 1)",
+        ] {
+            let expr = Parser::new(&GenericDialect)
+                .try_with_sql(sql)
+                .unwrap()
+                .parse_expr()
+                .unwrap();
+            let end = Location::new(1, u64::try_from(sql.len()).unwrap() + 1);
+            assert_eq!(expr.span(), Span::new(Location::new(1, 1), end), "{sql}");
+        }
+
+        let Expr::Function(f) = Parser::new(&GenericDialect)
+            .try_with_sql("f(a, b)")
+            .unwrap()
+            .parse_expr()
+            .unwrap()
+        else {
+            panic!("not a function");
+        };
+        assert_eq!(
+            f.args.span(),
+            Span::new(Location::new(1, 2), Location::new(1, 8))
+        );
+    }
 }
diff --git a/src/ast/visitor.rs b/src/ast/visitor.rs
index e47d880..e20d20f 100644
--- a/src/ast/visitor.rs
+++ b/src/ast/visitor.rs
@@ -825,6 +825,7 @@
 /// # use sqlparser::parser::Parser;
 /// # use sqlparser::dialect::GenericDialect;
 /// # use sqlparser::ast::*;
+/// # use sqlparser::ast::helpers::attached_token::AttachedToken;
 /// # use core::ops::ControlFlow;
 /// let sql = "SELECT x, y FROM t";
 /// let mut statements = Parser::parse_sql(&GenericDialect{}, sql).unwrap();
@@ -832,20 +833,21 @@
 /// visit_expressions_mut(&mut statements, |expr| {
 ///   if matches!(expr, Expr::Identifier(col_name) if col_name.value == "x") {
 ///     let old_expr = std::mem::replace(expr, Expr::value(Value::Null));
-///     *expr = Expr::Function(Function {
+///     *expr = Expr::Function(Box::new(Function {
 ///           name: ObjectName::from(vec![Ident::new("f")]),
 ///           uses_odbc_syntax: false,
 ///           args: FunctionArguments::List(FunctionArgumentList {
 ///               duplicate_treatment: None,
 ///               args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(old_expr))],
 ///               clauses: vec![],
-///           }),
+///           }.into()),
 ///           null_treatment: None,
 ///           filter: None,
 ///           over: None,
 ///           parameters: FunctionArguments::None,
 ///           within_group: vec![],
-///      });
+///           end_token: AttachedToken::empty(),
+///      }));
 ///   }
 ///   ControlFlow::<()>::Continue(())
 /// });
diff --git a/src/parser/mod.rs b/src/parser/mod.rs
index cf5585e..ca5d86f 100644
--- a/src/parser/mod.rs
+++ b/src/parser/mod.rs
@@ -625,18 +625,16 @@
 
     /// Records `start` and the last consumed token as the statement's first and last token.
     fn set_statement_tokens(&self, statement: &mut Statement, start: TokenWithSpan) {
-        if let Some(end) = self.last_statement_token() {
-            let (start_token, end_token) = statement.tokens_mut();
-            *start_token = AttachedToken(start);
-            *end_token = AttachedToken(end);
-        }
+        let end = self.last_consumed_token();
+        let (start_token, end_token) = statement.tokens_mut();
+        *start_token = AttachedToken(start);
+        *end_token = end;
     }
 
     /// The last consumed token that is not whitespace, a `;` or the end of input, which
-    /// some statement parsers consume while looking for optional clauses.
-    fn last_statement_token(&self) -> Option<TokenWithSpan> {
-        self.tokens
-            .get(..self.index.min(self.tokens.len()))?
+    /// some parsers consume while looking for optional clauses.
+    fn last_consumed_token(&self) -> AttachedToken {
+        self.tokens[..self.index.min(self.tokens.len())]
             .iter()
             .rev()
             .find(|t| {
@@ -645,7 +643,7 @@
                     Token::Whitespace(_) | Token::SemiColon | Token::EOF
                 )
             })
-            .cloned()
+            .map_or_else(AttachedToken::empty, |t| AttachedToken(t.clone()))
     }
 
     fn parse_statement_body(&mut self) -> Result<Statement, ParserError> {
@@ -1617,7 +1615,8 @@
                         filter: None,
                         over: None,
                         within_group: vec![],
-                    })))
+                        end_token: self.last_consumed_token(),
+                    }.into())))
                 }
             Keyword::CURRENT_TIMESTAMP
             | Keyword::CURRENT_TIME
@@ -1667,19 +1666,22 @@
             if self.peek_token_ref().token == Token::LParen
                 && !dialect_of!(self is ClickHouseDialect | DatabricksDialect) =>
                 {
-                    self.expect_token(&Token::LParen)?;
-                    let query = self.parse_query()?;
-                    self.expect_token(&Token::RParen)?;
+                    let args = Parens {
+                        opening_token: self.expect_token(&Token::LParen)?.into(),
+                        content: self.parse_query()?,
+                        closing_token: self.expect_token(&Token::RParen)?.into(),
+                    };
                     Ok(Some(Expr::Function(Function {
                         name: ObjectName::from(vec![w.to_ident(w_span)]),
                         uses_odbc_syntax: false,
                         parameters: FunctionArguments::None,
-                        args: FunctionArguments::Subquery(query),
+                        args: FunctionArguments::Subquery(args),
                         filter: None,
                         null_treatment: None,
                         over: None,
                         within_group: vec![],
-                    })))
+                        end_token: self.last_consumed_token(),
+                    }.into())))
                 }
             Keyword::NOT => Ok(Some(self.parse_not()?)),
             Keyword::MATCH if self.dialect.supports_match_against() => {
@@ -2586,7 +2588,7 @@
             let fn_name = p.parse_object_name(false)?;
             let mut fn_call = p.parse_function_call(fn_name)?;
             fn_call.uses_odbc_syntax = true;
-            Ok(Expr::Function(fn_call))
+            Ok(Expr::Function(Box::new(fn_call)))
         })
     }
 
@@ -2609,17 +2611,21 @@
 
     /// Parse a function call expression named by `name` and return it as an `Expr`.
     pub fn parse_function(&mut self, name: ObjectName) -> Result<Expr, ParserError> {
-        self.parse_function_call(name).map(Expr::Function)
+        self.parse_function_call(name)
+            .map(|f| Expr::Function(Box::new(f)))
     }
 
     fn parse_function_call(&mut self, name: ObjectName) -> Result<Function, ParserError> {
-        self.expect_token(&Token::LParen)?;
+        let opening_token = self.expect_token(&Token::LParen)?;
 
         // Snowflake permits a subquery to be passed as an argument without
         // an enclosing set of parens if it's the only argument.
         if self.dialect.supports_subquery_as_function_arg() && self.peek_sub_query() {
-            let subquery = self.parse_query()?;
-            self.expect_token(&Token::RParen)?;
+            let subquery = Parens {
+                opening_token: opening_token.into(),
+                content: self.parse_query()?,
+                closing_token: self.expect_token(&Token::RParen)?.into(),
+            };
             return Ok(Function {
                 name,
                 uses_odbc_syntax: false,
@@ -2629,24 +2635,35 @@
                 null_treatment: None,
                 over: None,
                 within_group: vec![],
+                end_token: self.last_consumed_token(),
             });
         }
 
-        let mut args = if self.dialect.supports_xml_expressions()
+        let content = if self.dialect.supports_xml_expressions()
             && Self::is_simple_unquoted_object_name(&name, "xmlparse")
         {
             self.parse_xmlparse_argument_list()?
         } else {
             self.parse_function_argument_list()?
         };
+        let mut args = Parens {
+            opening_token: opening_token.into(),
+            content,
+            closing_token: self.get_current_token().clone().into(),
+        };
         let mut parameters = FunctionArguments::None;
         // ClickHouse aggregations support parametric functions like `HISTOGRAM(0.5, 0.6)(x, y)`
         // which (0.5, 0.6) is a parameter to the function.
         if dialect_of!(self is ClickHouseDialect | GenericDialect)
             && self.consume_token(&Token::LParen)
         {
+            let opening_token = self.get_current_token().clone();
             parameters = FunctionArguments::List(args);
-            args = self.parse_function_argument_list()?;
+            args = Parens {
+                opening_token: opening_token.into(),
+                content: self.parse_function_argument_list()?,
+                closing_token: self.get_current_token().clone().into(),
+            };
         }
 
         let within_group = if self.parse_keywords(&[Keyword::WITHIN, Keyword::GROUP]) {
@@ -2703,6 +2720,7 @@
             filter,
             over,
             within_group,
+            end_token: self.last_consumed_token(),
         })
     }
 
@@ -2725,20 +2743,29 @@
     /// Parse time-related function `name` possibly followed by `(...)` arguments.
     pub fn parse_time_functions(&mut self, name: ObjectName) -> Result<Expr, ParserError> {
         let args = if self.consume_token(&Token::LParen) {
-            FunctionArguments::List(self.parse_function_argument_list()?)
+            let opening_token = self.get_current_token().clone();
+            FunctionArguments::List(Parens {
+                opening_token: opening_token.into(),
+                content: self.parse_function_argument_list()?,
+                closing_token: self.get_current_token().clone().into(),
+            })
         } else {
             FunctionArguments::None
         };
-        Ok(Expr::Function(Function {
-            name,
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args,
-            filter: None,
-            over: None,
-            null_treatment: None,
-            within_group: vec![],
-        }))
+        Ok(Expr::Function(
+            Function {
+                name,
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args,
+                filter: None,
+                over: None,
+                null_treatment: None,
+                within_group: vec![],
+                end_token: self.last_consumed_token(),
+            }
+            .into(),
+        ))
     }
 
     /// Parse window frame `UNITS` clause: `ROWS`, `RANGE`, or `GROUPS`.
@@ -12188,7 +12215,7 @@
         let object_name = self.parse_object_name(false)?;
         if self.peek_token_ref().token == Token::LParen {
             match self.parse_function(object_name)? {
-                Expr::Function(f) => Ok(Statement::Call(f.into())),
+                Expr::Function(f) => Ok(Statement::Call((*f).into())),
                 other => parser_err!(
                     format!("Expected a simple procedure call but found: {other}"),
                     self.peek_token_ref().span.start
@@ -12205,6 +12232,7 @@
                     filter: None,
                     null_treatment: None,
                     within_group: vec![],
+                    end_token: self.last_consumed_token(),
                 }
                 .into(),
             ))
@@ -15146,7 +15174,10 @@
                     let function_expr = self.parse_function(function_name)?;
                     if let Expr::Function(function) = function_expr {
                         let alias = self.parse_identifier_optional_alias()?;
-                        pipe_operators.push(PipeOperator::Call { function, alias });
+                        pipe_operators.push(PipeOperator::Call {
+                            function: *function,
+                            alias,
+                        });
                     } else {
                         return Err(ParserError::ParserError(
                             "Expected function call after CALL".to_string(),
@@ -17963,11 +17994,12 @@
 
     /// Parses a plain function call with an optional alias for the `PIVOT` clause
     fn parse_pivot_aggregate_function(&mut self) -> Result<ExprWithAlias, ParserError> {
-        let function_name = match self.next_token().token {
-            Token::Word(w) => Ok(w.value),
+        let next_token = self.next_token();
+        let function_name = match next_token.token {
+            Token::Word(w) => Ok(Ident::with_span(next_token.span, w.value)),
             _ => self.expected_ref("a function identifier", self.peek_token_ref()),
         }?;
-        let expr = self.parse_function(ObjectName::from(vec![Ident::new(function_name)]))?;
+        let expr = self.parse_function(ObjectName::from(vec![function_name]))?;
         let alias = {
             fn validator(explicit: bool, kw: &Keyword, parser: &mut Parser) -> bool {
                 // ~ for a PIVOT aggregate function the alias must not be a "FOR"; in any dialect
diff --git a/src/test_utils.rs b/src/test_utils.rs
index 3b1ad2e..2eeff1c 100644
--- a/src/test_utils.rs
+++ b/src/test_utils.rs
@@ -31,6 +31,7 @@
 };
 use core::fmt::Debug;
 
+use crate::ast::helpers::attached_token::AttachedToken;
 use crate::dialect::*;
 use crate::parser::{Parser, ParserError};
 use crate::tokenizer::{Token, Tokenizer};
@@ -452,23 +453,30 @@
 }
 
 pub fn call(function: &str, args: impl IntoIterator<Item = Expr>) -> Expr {
-    Expr::Function(Function {
-        name: ObjectName::from(vec![Ident::new(function)]),
-        uses_odbc_syntax: false,
-        parameters: FunctionArguments::None,
-        args: FunctionArguments::List(FunctionArgumentList {
-            duplicate_treatment: None,
-            args: args
-                .into_iter()
-                .map(|arg| FunctionArg::Unnamed(FunctionArgExpr::Expr(arg)))
-                .collect(),
-            clauses: vec![],
-        }),
-        filter: None,
-        null_treatment: None,
-        over: None,
-        within_group: vec![],
-    })
+    Expr::Function(
+        Function {
+            name: ObjectName::from(vec![Ident::new(function)]),
+            uses_odbc_syntax: false,
+            parameters: FunctionArguments::None,
+            args: FunctionArguments::List(
+                FunctionArgumentList {
+                    duplicate_treatment: None,
+                    args: args
+                        .into_iter()
+                        .map(|arg| FunctionArg::Unnamed(FunctionArgExpr::Expr(arg)))
+                        .collect(),
+                    clauses: vec![],
+                }
+                .into(),
+            ),
+            filter: None,
+            null_treatment: None,
+            over: None,
+            within_group: vec![],
+            end_token: AttachedToken::empty(),
+        }
+        .into(),
+    )
 }
 
 /// Gets the first index column (mysql calls it a key part) of the first index found in a
diff --git a/src/test_utils/span_oracle.rs b/src/test_utils/span_oracle.rs
index d496f43..a0b11ff 100644
--- a/src/test_utils/span_oracle.rs
+++ b/src/test_utils/span_oracle.rs
@@ -769,7 +769,7 @@
 
     #[test]
     fn child_outside_parent_fails_structure() {
-        let found = findings_of("SELECT ROW_NUMBER() OVER (ORDER BY a) FROM t");
+        let found = findings_of("SELECT a FROM t WINDOW w AS (ORDER BY a)");
         assert!(has(&found, "structure", "outside-parent", "a"));
     }
 
diff --git a/tests/span_baseline.tsv b/tests/span_baseline.tsv
index 7af4f46..d3e7e99 100644
--- a/tests/span_baseline.tsv
+++ b/tests/span_baseline.tsv
@@ -24,13 +24,6 @@
 005cc19950966de1	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	id
 005cc19950966de1	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	name
 005cc19950966de1	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	row_num
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(CONTENT '')
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	XMLPARSE(CONTENT '')
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	XMLPARSE(CONTENT '')
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT XMLPARSE(CONTENT '')
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	XMLPARSE(CONTENT '')
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT XMLPARSE(CONTENT '')
-005df90c6cd2f7c3	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT XMLPARSE(CONTENT '')
 0070f734ddb9e0f8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE NOT DEFERRABLE
 0070f734ddb9e0f8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE NOT DEFERRABLE
 0070f734ddb9e0f8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	UNIQUE NOT DEFERRABLE
@@ -59,13 +52,9 @@
 00f35d8b2daf2fb6	4edff8487059a4e8	RedshiftSqlDialect	edges	end	ColumnDef	0	c1 INT
 00f7ee77ddf66ef3	4edff8487059a4e8	PostgreSqlDialect,RedshiftSqlDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	t.*
 00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	both	CreateTableOptions::With	0	WITH (DISTRIBUTION = HASH(column_a, column_b), HEAP)
-00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(column_a, column_b)
 00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	ColumnDef	0	column_a INT
 00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	ColumnDef	0	column_b INT
 00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	ColumnDef	0	column_c INT
-00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	Function	0	HASH(column_a, column_b)
-00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	SqlOption::KeyValue	0	DISTRIBUTION = HASH(column_a, column_b)
-00f9418d12d6277e	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	HASH(column_a, column_b)
 00fd84e802f6cd60	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>>
 00fd84e802f6cd60	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>>
 00fd84e802f6cd60	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>>
@@ -83,14 +72,6 @@
 01120b30d8572c1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Ceil	0	CEIL(d TO HOUR)
 01120b30d8572c1c	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	CEIL(d TO HOUR)
 01120b30d8572c1c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Ceil	0	CEIL(d TO HOUR)
-012b7f3b2fc0ed03	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-012b7f3b2fc0ed03	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-012b7f3b2fc0ed03	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-012b7f3b2fc0ed03	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-012b7f3b2fc0ed03	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-012b7f3b2fc0ed03	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-012b7f3b2fc0ed03	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-012b7f3b2fc0ed03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 012e02fab0dac9f2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Join	0	JOIN orders USING(user_id)
 012e02fab0dac9f2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> JOIN orders USING(user_id)
 012e02fab0dac9f2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	JOIN orders USING(user_id)
@@ -158,13 +139,7 @@
 01c22591512afea5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' MONTH
 01c22591512afea5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL '1' MONTH
 01c22591512afea5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL '1' MONTH
-01c55cdec2a3cfb9	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	(x)
-01c55cdec2a3cfb9	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	count(x) FILTER (WHERE y) OVER ()
-01c55cdec2a3cfb9	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	count(x) FILTER (WHERE y) OVER ()
-01c55cdec2a3cfb9	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	count(x) FILTER (WHERE y) OVER ()
 01d452bc4b5729f3	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT y FROM t FOR XML PATH('x'), ROOT('y'), ELEMENTS
-01d8501b95fb5d43	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-01d8501b95fb5d43	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
 01f47b0b5e6cd145	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	(SELECT * FROM t1)
 01f47b0b5e6cd145	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	(SELECT * FROM t2)
 01f47b0b5e6cd145	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT 1, 2 FROM (SELECT * FROM t1), (SELECT * FROM t2)
@@ -177,12 +152,6 @@
 01f76cde19aef1b2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	||
 020fec6fc85921b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	AlterTableOperation::SetUnlogged	0	SET UNLOGGED
 020fec6fc85921b8	fdaf9332c09858cf	DuckDbDialect	structure	empty	AlterTableOperation::SetUnlogged	0	SET UNLOGGED
-0218b8b37aa95e28	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'table_name'
-0218b8b37aa95e28	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'table_name'
-0218b8b37aa95e28	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'table_name'
-0218b8b37aa95e28	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'table_name'
-0218b8b37aa95e28	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'table_name'
-0218b8b37aa95e28	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'table_name'
 021f8b7e75599ee1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraint	0	EXCLUDE (col WITH =)
 021f8b7e75599ee1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	EXCLUDE (col WITH =)
 021f8b7e75599ee1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col INT
@@ -196,36 +165,23 @@
 023e3cfcc9d00776	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	edges	start	TableAlias	0	AS o
 023e3cfcc9d00776	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	edges	start	TableAlias	0	AS p
 023e3cfcc9d00776	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	reparse	inexact	TableFactor::NestedJoin	0	(customers AS c INNER JOIN products AS p ON p.customer_id = c.customer_id)
-02590a9edfbe4f94	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-02590a9edfbe4f94	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-02590a9edfbe4f94	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-02590a9edfbe4f94	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-02590a9edfbe4f94	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-02590a9edfbe4f94	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-02590a9edfbe4f94	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-02590a9edfbe4f94	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 0259ddb99bb59575	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@my_csv_stage/analysis/
 0259ddb99bb59575	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@my_csv_stage/analysis/
 0259ddb99bb59575	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@my_csv_stage/analysis/
-02b58bc476f40274	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'rolename'
 02c8ccb09c0c6fb3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 02c8ccb09c0c6fb3	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 02c997d1958f60d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	LimitClause::LimitOffset	0	 OFFSET 2
 02c997d1958f60d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Offset	0	OFFSET 2
 02c997d1958f60d2	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 OFFSET 2
 02c997d1958f60d2	fdaf9332c09858cf	DuckDbDialect	edges	start	Offset	0	OFFSET 2
+02cb2309d651e868	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::Array(NUMBER)
+02cb2309d651e868	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::Array(NUMBER)
+02cb2309d651e868	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	both	Array	0	[1, 3, 1, 5]
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArg::Unnamed	0	[1, 3, 1, 5]
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgExpr::Expr	0	[1, 3, 1, 5]
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgumentList	0	[1, 3, 1, 5], lambda x, i : x > i
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	([1, 3, 1, 5], lambda x, i : x > i)
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	list_filter([1, 3, 1, 5], lambda x, i : x > i)
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	list_filter([1, 3, 1, 5], lambda x, i : x > i)
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT list_filter([1, 3, 1, 5], lambda x, i : x > i)
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Array	0	[1, 3, 1, 5]
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	list_filter([1, 3, 1, 5], lambda x, i : x > i)
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT list_filter([1, 3, 1, 5], lambda x, i : x > i)
-02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT list_filter([1, 3, 1, 5], lambda x, i : x > i)
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Lambda	0	lambda x, i : x > i
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	lambda x, i : x > i
 02e097200d27dccc	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Expr	0	lambda x, i : x > i
@@ -236,23 +192,11 @@
 02f7a7283944ee92	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Interval	0	INTERVAL '5 days'
 02f7a7283944ee92	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '3 days'
 02f7a7283944ee92	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '5 days'
-02fbd5db3f0c1392	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(id)
-02fbd5db3f0c1392	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	sqrt(id)
-02fbd5db3f0c1392	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-02fbd5db3f0c1392	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-02fbd5db3f0c1392	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-02fbd5db3f0c1392	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-02fbd5db3f0c1392	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-02fbd5db3f0c1392	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 032252a1857e3e74	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO MINUTE(0)
 03259f8f9acf894c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	MergeAction::Update	0	UPDATE SET *
 03259f8f9acf894c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	MergeClause	0	WHEN MATCHED THEN UPDATE SET *
 03259f8f9acf894c	fdaf9332c09858cf	DuckDbDialect	edges	end	MergeAction::Update	0	UPDATE SET *
 03259f8f9acf894c	fdaf9332c09858cf	DuckDbDialect	edges	end	MergeClause	0	WHEN MATCHED THEN UPDATE SET *
-032efcc58635d940	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(c)
-032efcc58635d940	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	ExprWithAlias	0	SUM(c)
-032efcc58635d940	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	SUM(c)
-032efcc58635d940	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(c)
 032efcc58635d940	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE SUM(c) ASC
 032efcc58635d940	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(c)
 036d6c60d16d9998	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT f FROM foo WHERE field IS UNKNOWN
@@ -279,26 +223,10 @@
 03a92e9b041b3fa5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1-1' YEAR TO MONTH
 03a92e9b041b3fa5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL '1-1' YEAR TO MONTH
 03a92e9b041b3fa5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL '1-1' YEAR TO MONTH
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	MAX(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	MAX(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	MAX(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect	edges	both	FunctionArguments::List	0	(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	Function	0	MAX(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	MAX(interval)
-03abedac98c0fccb	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Expr::Function	0	MAX(interval)
 03ae7bdefbe6b743	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	{d '2025-07-17'}
 03ae7bdefbe6b743	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::TypedString	0	{d '2025-07-17'}
 03ae7bdefbe6b743	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	{d '2025-07-17'}
 03ae7bdefbe6b743	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::TypedString	0	{d '2025-07-17'}
-0419d2aeaa351393	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(id)
-0419d2aeaa351393	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	sqrt(id)
-0419d2aeaa351393	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-0419d2aeaa351393	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-0419d2aeaa351393	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-0419d2aeaa351393	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-0419d2aeaa351393	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-0419d2aeaa351393	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 04396f48682fffef	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	id INT
 04396f48682fffef	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ForeignKeyConstraint	0	CONSTRAINT fk FOREIGN KEY (lng) REFERENCES othertable4
 04396f48682fffef	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableConstraint::ForeignKey	0	CONSTRAINT fk FOREIGN KEY (lng) REFERENCES othertable4
@@ -371,10 +299,7 @@
 054bdd930332811b	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY lname ASC, fname DESC, id
 054bdd930332811b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	fname DESC
 054bdd930332811b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	lname ASC
-0558c40e57ede9a4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x)
-0558c40e57ede9a4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	FIRST_VALUE(x ORDER BY x)
 0558c40e57ede9a4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-0558c40e57ede9a4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(x ORDER BY x)
 056240293cbe5ecb	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	PrimaryKeyConstraint	0	CONSTRAINT constr PRIMARY KEY index_name (bar, var) USING HASH COMMENT 'yes, ' USING BTREE COMMENT 'MySQL allows'
 056240293cbe5ecb	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::PrimaryKey	0	CONSTRAINT constr PRIMARY KEY index_name (bar, var) USING HASH COMMENT 'yes, ' USING BTREE COMMENT 'MySQL allows'
 056240293cbe5ecb	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	bar INT
@@ -402,27 +327,9 @@
 05b65efd0727a9c5	4edff8487059a4e8	ClickHouseDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 05b65efd0727a9c5	4edff8487059a4e8	ClickHouseDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	AccessExpr::Subscript	0	[1]
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	('a', 1)
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	(named_struct('a', 1))
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	Function	0	make_array(named_struct('a', 1))
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	Function	0	named_struct('a', 1)
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	FunctionArg::Unnamed	0	named_struct('a', 1)
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	FunctionArgExpr::Expr	0	named_struct('a', 1)
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	FunctionArgumentList	0	named_struct('a', 1)
 05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	start	AccessExpr::Dot	0	.a
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	make_array(named_struct('a', 1))
-05cde3075eab3ca6	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	named_struct('a', 1)
 05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Subscript	0	[1]
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('a', 1)
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(named_struct('a', 1))
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	make_array(named_struct('a', 1))
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	named_struct('a', 1)
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	named_struct('a', 1)
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	named_struct('a', 1)
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	named_struct('a', 1)
 05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.a
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	make_array(named_struct('a', 1))
-05cde3075eab3ca6	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	named_struct('a', 1)
 05eb65aeaa41a978	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY TO SECOND(1))
 05eb65aeaa41a978	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY TO SECOND(1))
 05eb65aeaa41a978	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY TO SECOND(1))
@@ -452,11 +359,7 @@
 065a44f202b948bf	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	exclude INT
 065a44f202b948bf	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	exclude INT
 065a44f202b948bf	4edff8487059a4e8	SQLiteDialect	edges	end	ColumnDef	0	exclude INT
-065c0f87389cbb70	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(DISTINCT x)
-065c0f87389cbb70	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	ARRAY_AGG(DISTINCT x) WITHIN GROUP (ORDER BY x ASC)
-065c0f87389cbb70	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(DISTINCT x) WITHIN GROUP (ORDER BY x ASC)
 065c0f87389cbb70	4edff8487059a4e8	SnowflakeDialect	edges	start	FunctionArgumentList	0	DISTINCT x
-065c0f87389cbb70	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(DISTINCT x) WITHIN GROUP (ORDER BY x ASC)
 065c0f87389cbb70	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	OrderByExpr	0	x ASC
 06620a6e319a17b8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	TableWithJoins	0	UNNEST(expr)
 06620a6e319a17b8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM UNNEST(expr)
@@ -475,6 +378,10 @@
 067f0815022e0acc	fdaf9332c09858cf	DuckDbDialect	edges	both	LimitClause::LimitOffset	0	 OFFSET 2 ROWS
 067f0815022e0acc	fdaf9332c09858cf	DuckDbDialect	edges	both	Offset	0	OFFSET 2 ROWS
 067f0815022e0acc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT foo FROM bar OFFSET 2 ROWS
+06838abcacfda4fd	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	o Object(json)
+06838abcacfda4fd	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	ObjectName	0	Object
+06838abcacfda4fd	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	o Object(json)
+06838abcacfda4fd	4edff8487059a4e8	GenericDialect	structure	outside-parent	ObjectName	0	Object
 06c57d991bcca03e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE INITIALLY IMMEDIATE NOT ENFORCED
 06c57d991bcca03e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE INITIALLY IMMEDIATE NOT ENFORCED
 06c57d991bcca03e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	UNIQUE INITIALLY IMMEDIATE NOT ENFORCED
@@ -523,14 +430,14 @@
 074359caf55cf97e	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 074359caf55cf97e	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOptionDef	0	PRIMARY KEY
 074359caf55cf97e	4edff8487059a4e8	MySqlDialect	structure	empty	PrimaryKeyConstraint	0	PRIMARY KEY ()
-074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('year', col)
-074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS DATE_PART('year', col))
-074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	DATE_PART('year', col)
-074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS DATE_PART('year', col))
-074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	DATE_PART('year', col)
+074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS DATE_PART('year', col))
 074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS DATE_PART('year', col))
 074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS DATE_PART('year', col))
 074730477c74ff6e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(model DIMENSIONS DATE_PART('year', col))
+074ce5581fbdc9dc	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	o OBJECT(foo, bar)
+074ce5581fbdc9dc	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	ObjectName	0	OBJECT
+074ce5581fbdc9dc	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	o OBJECT(foo, bar)
+074ce5581fbdc9dc	4edff8487059a4e8	GenericDialect	structure	outside-parent	ObjectName	0	OBJECT
 07a768e8d1af5a5b	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	||/ a
 07a768e8d1af5a5b	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	||/ a
 07f5175fe15a5c2b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN t2 AS foo ON c1 = c2
@@ -543,13 +450,9 @@
 07fcb8c6c55881de	fdaf9332c09858cf	DuckDbDialect	edges	both	ForeignKeyConstraint	0	FOREIGN KEY (foo, bar) REFERENCES AnotherTable(foo, bar)
 07fcb8c6c55881de	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::ForeignKey	0	FOREIGN KEY (foo, bar) REFERENCES AnotherTable(foo, bar)
 07fcb8c6c55881de	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	id INT
-0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(val, 2, -1)
-0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	LAG(val, 2, -1) OVER (ORDER BY id)
 0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	edges	start	FunctionArg::Unnamed	0	-1
 0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	edges	start	FunctionArgExpr::Expr	0	-1
-0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	LAG(val, 2, -1) OVER (ORDER BY id)
 0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::UnaryOp	0	-1
-0815132f2b75ac80	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	OrderByExpr	0	id
 085ab2ac82f88911	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a STRING COMMENT 'comment 1'
 085ab2ac82f88911	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Comment	0	COMMENT 'comment 1'
 085ab2ac82f88911	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	COMMENT 'comment 1'
@@ -632,6 +535,8 @@
 0927e1e1fb3f0738	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT f FROM foo WHERE field IS NOT FALSE
 0946a284afb17c65	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	NATURAL RIGHT JOIN t2
 0946a284afb17c65	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	NATURAL RIGHT JOIN t2
+0949868e2b20eb6c	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+0949868e2b20eb6c	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
 097355d438b72e46	4edff8487059a4e8	BigQueryDialect	edges	both	ColumnOption::Options	0	OPTIONS(description = 'An optional INTEGER field')
 097355d438b72e46	4edff8487059a4e8	BigQueryDialect	edges	both	ColumnOptionDef	0	OPTIONS(description = 'An optional INTEGER field')
 097355d438b72e46	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	x INT64 OPTIONS(description = 'An optional INTEGER field')
@@ -656,6 +561,16 @@
 0997dfa1fae3466d	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS c
 0997dfa1fae3466d	fdaf9332c09858cf	DuckDbDialect	edges	start	TableWithJoins	0	(a NATURAL JOIN b) AS c
 0997dfa1fae3466d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::NestedJoin	0	(a NATURAL JOIN b) AS c
+09a281d7033c1484	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InList	0	x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+09a281d7033c1484	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::InList	0	x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+09a281d7033c1484	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u), 1)
+09a281d7033c1484	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u), 1)
 09afc8cc86e39878	4edff8487059a4e8	RedshiftSqlDialect	edges	end	ColumnDef	0	event_id INT
 09c5b1f119e89635	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL(6)
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	xmltable.*
@@ -672,14 +587,13 @@
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'SIZE[@unit = "sq_km"]'
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'concat(SIZE[@unit!="sq_km"], " ", SIZE[@unit!="sq_km"]/@unit)'
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'not specified'
+09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"COUNTRY_NAME"
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	country_id
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	id
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	ordinality
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	premier_name
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	size_other
 09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	size_sq_km
-09c743233fa7a9b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"COUNTRY_NAME"
-09c743233fa7a9b0	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"COUNTRY_NAME"
 09c743233fa7a9b0	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	xmltable.*
 09c743233fa7a9b0	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT xmltable.* FROM xmldata, XMLTABLE('//ROWS/ROW' PASSING data COLUMNS id INT PATH '@id', ordinality FOR ORDINALITY, "COUNTRY_NAME" TEXT, country_id TEXT PATH 'COUNTRY_ID', size_sq_km FLOAT PATH 'SIZE[@unit = "sq_km"]', size_other TEXT PATH 'concat(SIZE[@unit!="sq_km"], " ", SIZE[@unit!="sq_km"]/@unit)', premier_name TEXT PATH 'PREMIER_NAME' DEFAULT 'not specified')
 09c743233fa7a9b0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT xmltable.* FROM xmldata, XMLTABLE('//ROWS/ROW' PASSING data COLUMNS id INT PATH '@id', ordinality FOR ORDINALITY, "COUNTRY_NAME" TEXT, country_id TEXT PATH 'COUNTRY_ID', size_sq_km FLOAT PATH 'SIZE[@unit = "sq_km"]', size_other TEXT PATH 'concat(SIZE[@unit!="sq_km"], " ", SIZE[@unit!="sq_km"]/@unit)', premier_name TEXT PATH 'PREMIER_NAME' DEFAULT 'not specified')
@@ -701,6 +615,7 @@
 09c743233fa7a9b0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	premier_name
 09c743233fa7a9b0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	size_other
 09c743233fa7a9b0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	size_sq_km
+09d32a8d10c7c6de	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	CreateForeignTable	0	CREATE FOREIGN TABLE ft () SERVER s
 09f7fe77b9646fe6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(EPOCH FROM d)
 09f7fe77b9646fe6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(EPOCH FROM d)
 09f7fe77b9646fe6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Extract	0	EXTRACT(EPOCH FROM d)
@@ -744,6 +659,7 @@
 0a5518bf039f9607	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (SELECT * FROM mytable) AS t SAMPLE (50 PERCENT)
 0a5518bf039f9607	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Derived	0	(SELECT * FROM mytable) AS t SAMPLE (50 PERCENT)
 0a5518bf039f9607	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	Expr::Value	0	50
+0a8c3042b8c4fbae	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 0a8f937c3c091783	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL 1 MINUTE
 0a8f937c3c091783	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL 1 MINUTE
 0a8f937c3c091783	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL 1 MINUTE
@@ -755,8 +671,6 @@
 0a8f937c3c091783	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL 1 MINUTE
 0a8f937c3c091783	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL 1 MINUTE
 0a947791f82145be	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::ReplicaIdentity	0	REPLICA IDENTITY DEFAULT
-0ac8cb50bcb70082	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	'%'
-0ac8cb50bcb70082	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	'jeffrey'
 0ae0bef789e3537a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>
 0ae0bef789e3537a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>
 0ae0bef789e3537a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>
@@ -784,12 +698,10 @@
 0bc50c5a85ff97c2	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Substring	0	SUBSTR('SQLITE', 3, 4)
 0bc50c5a85ff97c2	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT SUBSTR('SQLITE', 3, 4)
 0bc50c5a85ff97c2	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT SUBSTR('SQLITE', 3, 4)
-0bd0a1f85a4f0bc3	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
 0bd0a1f85a4f0bc3	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@~/path
-0bd0a1f85a4f0bc3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
 0bd0a1f85a4f0bc3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@~/path
-0bd0a1f85a4f0bc3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 0bd0a1f85a4f0bc3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@~/path
+0be3241634256072	4edff8487059a4e8	MsSqlDialect	edges	both	SelectItem::ExprWithAlias	0	"from" AS some_alias
 0bfb53a18a8e9193	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO MINUTE(1)
 0c074e5a577ab7f2	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	bar LONGTEXT
 0c2f6dc6e050b119	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY TO MINUTE(6))
@@ -806,39 +718,18 @@
 0c7bf036b782c7ee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 5
 0c7bf036b782c7ee	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 5
 0c7bf436b782ceba	4edff8487059a4e8	SnowflakeDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	edges	both	FunctionArguments::List	0	(10, 5)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	edges	both	FunctionArguments::List	0	(MIN(10, 5), 1L)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	edges	end	Function	0	MIN(10, 5)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	edges	end	Function	0	MIN(MIN(10, 5), 1L)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	edges	end	FunctionArg::Unnamed	0	MIN(10, 5)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	edges	end	FunctionArgExpr::Expr	0	MIN(10, 5)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	reparse	inexact	Expr::Function	0	MIN(10, 5)
-0c8480b77b9954af	4edff8487059a4e8	HiveDialect	reparse	inexact	Expr::Function	0	MIN(MIN(10, 5), 1L)
 0c937d13bfb08de8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN is_active DROP NOT NULL
 0c937d13bfb08de8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	AlterColumnOperation::DropNotNull	0	DROP NOT NULL
 0c937d13bfb08de8	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN is_active DROP NOT NULL
 0c937d13bfb08de8	fdaf9332c09858cf	DuckDbDialect	structure	empty	AlterColumnOperation::DropNotNull	0	DROP NOT NULL
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT CURRENT_TIMESTAMP()
-0c9ca1cb04785e78	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 0cb44adbd910afcc	4edff8487059a4e8	SparkSqlDialect	edges	end	ColumnDef	0	arr ARRAY<INT>
 0cb44adbd910afcc	4edff8487059a4e8	SparkSqlDialect	edges	end	ColumnDef	0	m MAP<STRING, INT>
-0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => '2024-12-15 00:00:00')
-0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(TIMESTAMP => '2024-12-15 00:00:00')
+0cce356eff0d15d1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	CheckConstraint	0	CONSTRAINT id_positive CHECK (id > 0)
+0cce356eff0d15d1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Check	0	CONSTRAINT id_positive CHECK (id > 0)
+0cce356eff0d15d1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	id INTEGER
+0cce356eff0d15d1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	CreateForeignTable	0	CREATE FOREIGN TABLE ft (id INTEGER, CONSTRAINT id_positive CHECK (id > 0)) SERVER s
 0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM tbl AT(TIMESTAMP => '2024-12-15 00:00:00')
 0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	tbl AT(TIMESTAMP => '2024-12-15 00:00:00')
-0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(TIMESTAMP => '2024-12-15 00:00:00')
 0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM tbl AT(TIMESTAMP => '2024-12-15 00:00:00')
 0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM tbl AT(TIMESTAMP => '2024-12-15 00:00:00')
 0cdf308e28f7a095	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	tbl AT(TIMESTAMP => '2024-12-15 00:00:00')
@@ -853,23 +744,12 @@
 0ce7f6163513c998	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT f FROM foo WHERE field IS NOT NORMALIZED
 0ceb1996554b89e5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO SECOND
 0cf5eef239502c43	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS PREWHERE
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(id)
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	ExprWithAlias	0	COUNT(*)
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	ExprWithAlias	0	MIN(id)
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	COUNT(*)
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	MIN(id)
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	COUNT(*)
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	MIN(id)
 0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE COUNT(*), MIN(id)
 0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
 0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*)
 0cff4d78eee3b4f0	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	MIN(id)
-0d1ba40cf840e596	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'5432'
-0d1ba40cf840e596	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'foo'
-0d1ba40cf840e596	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'foodb'
 0d4ffae3e29dae19	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY TO HOUR(0))
 0d4ffae3e29dae19	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY TO HOUR(0))
 0d4ffae3e29dae19	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY TO HOUR(0))
@@ -880,28 +760,32 @@
 0d6c9e7daad6b0ce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col INT
 0d6c9e7daad6b0ce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ExcludeConstraintElement	0	col WITH =
 0d6c9e7daad6b0ce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ConstraintCharacteristics	0	DEFERRABLE INITIALLY DEFERRED
+0d6d399d7a801608	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	(1 . i)
+0d6d399d7a801608	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT (1 . i)
+0d6d399d7a801608	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.i
+0d6d399d7a801608	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Nested	0	(1 . i)
+0d6d399d7a801608	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT (1 . i)
+0d6d399d7a801608	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT (1 . i)
+0d6d399d7a801608	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	(1 . i)
+0d6d399d7a801608	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT (1 . i)
+0d6d399d7a801608	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.i
+0d6d399d7a801608	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Nested	0	(1 . i)
+0d6d399d7a801608	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT (1 . i)
+0d6d399d7a801608	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT (1 . i)
 0d78294d6f8dd64a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	ExprWithAlias	0	EXTRACT(YEAR FROM o_orderdate) AS year
 0d78294d6f8dd64a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Extract	0	EXTRACT(YEAR FROM o_orderdate)
 0d78294d6f8dd64a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE GROUP BY EXTRACT(YEAR FROM o_orderdate) AS year
 0d78294d6f8dd64a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	EXTRACT(YEAR FROM o_orderdate) AS year
-0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(*)
-0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
 0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT COUNT(*) FROM my_table) > 0
-0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(SELECT COUNT(*) FROM my_table)
 0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArg::Unnamed	0	*
 0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentList	0	*
-0d80766446512c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	(*)
-0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(*)
-0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
 0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT COUNT(*) FROM my_table) > 0
-0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT COUNT(*) FROM my_table)
 0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	*
-0d80766446512c69	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(*)
 0da4cd3b7a99fe07	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	OVERLAY('abccccde' PLACING 'abc' FROM 3 FOR 12)
 0da4cd3b7a99fe07	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT OVERLAY('abccccde' PLACING 'abc' FROM 3 FOR 12)
 0da4cd3b7a99fe07	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Overlay	0	OVERLAY('abccccde' PLACING 'abc' FROM 3 FOR 12)
@@ -920,14 +804,9 @@
 0dd231a7229cf4d0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 0dd231a7229cf4d0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT 'now'::TEXT::DATE
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT now()::DATE
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT 'now'::TEXT::DATE
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT now()::DATE
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	('public.customer_customer_id_seq'::REGCLASS)
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	active INT
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	activebool BOOLEAN DEFAULT true NOT NULL
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	address_id SMALLINT NOT NULL
@@ -937,24 +816,21 @@
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	first_name CHARACTER VARYING(45) NOT NULL
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	info TEXT[]
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	last_name CHARACTER VARYING(45) NOT NULL
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	last_update TIMESTAMP WITHOUT TIME ZONE DEFAULT now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	release_year public.year
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	store_id SMALLINT NOT NULL
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	nextval('public.customer_customer_id_seq'::REGCLASS)
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	now()
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	1	now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArg::Unnamed	0	'public.customer_customer_id_seq'::REGCLASS
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgExpr::Expr	0	'public.customer_customer_id_seq'::REGCLASS
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgumentList	0	'public.customer_customer_id_seq'::REGCLASS
+0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
+0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT true
+0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
+0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT true
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	'now'::TEXT
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	'now'::TEXT::DATE
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	'public.customer_customer_id_seq'::REGCLASS
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	now()::DATE
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	nextval('public.customer_customer_id_seq'::REGCLASS)
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	now()
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	1	now()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	1	NOT NULL
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	2	NOT NULL
@@ -971,8 +847,6 @@
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	5	NOT NULL
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	6	NOT NULL
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	7	NOT NULL
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
-0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	1	()
 0dd4c432fc799816	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	public.year
 0dd89fc7dc50a396	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexColumn	0	(CAST(col ->> '$.fields' AS UNSIGNED ARRAY)) ASC
 0dd89fc7dc50a396	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	PrimaryKeyConstraint	0	PRIMARY KEY ((CAST(col ->> '$.fields' AS UNSIGNED ARRAY)) ASC)
@@ -1013,16 +887,8 @@
 0e8e16aeaf23e537	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY TO SECOND(0))
 0e8e16aeaf23e537	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL DAY TO SECOND(0))
 0e8e16aeaf23e537	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL DAY TO SECOND(0))
-0eb18f500a80bf51	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-0eb18f500a80bf51	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 0eb18f500a80bf51	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-0eb18f500a80bf51	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-0eb18f500a80bf51	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 0eb18f500a80bf51	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
-0eb1b8794c357c64	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	(x)
-0eb1b8794c357c64	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	rank(x) FILTER (WHERE y) OVER ()
-0eb1b8794c357c64	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	rank(x) FILTER (WHERE y) OVER ()
-0eb1b8794c357c64	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	rank(x) FILTER (WHERE y) OVER ()
 0eb92ae128f01615	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1), (2), (3)
 0eb92ae128f01615	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1, 2, 3)
 0eb92ae128f01615	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (1), (2), (3)
@@ -1053,74 +919,29 @@
 0ecc2a7c3b2fed8b	fdaf9332c09858cf	DuckDbDialect	edges	both	SetExpr::SetOperation	0	(SELECT * FROM new EXCEPT SELECT * FROM old) UNION ALL (SELECT * FROM old EXCEPT SELECT * FROM new)
 0ecc2a7c3b2fed8b	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY 1
 0ecc2a7c3b2fed8b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	(SELECT * FROM new EXCEPT SELECT * FROM old) UNION ALL (SELECT * FROM old EXCEPT SELECT * FROM new) ORDER BY 1
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(foo)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	w AS (PARTITION BY x)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	win AS (ORDER BY y)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	dt DESC
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	0	a
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	0	b
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	0	x
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	w
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	win
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	c
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	d
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	dt DESC
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	y
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	(foo)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	Function	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	Function	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	NamedWindowDefinition	0	w AS (PARTITION BY x)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	NamedWindowDefinition	0	win AS (ORDER BY y)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	SelectItem::UnnamedExpr	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	SelectItem::UnnamedExpr	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	SetExpr::Select	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	OrderByExpr	0	dt DESC
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Query	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Select	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	empty	FunctionArguments::List	0	()
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Expr::Identifier	0	a
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Expr::Identifier	0	b
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Expr::Identifier	0	x
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Ident	0	w
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Ident	0	win
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	OrderByExpr	0	c
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	OrderByExpr	0	d
-0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	OrderByExpr	0	dt DESC
 0ee24b6c197f997f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	OrderByExpr	0	y
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(foo)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	w AS (PARTITION BY x)
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	win AS (ORDER BY y)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	row_number() OVER (w ORDER BY dt DESC)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	dt DESC
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT row_number() OVER (w ORDER BY dt DESC), sum(foo) OVER (win PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM foo WINDOW w AS (PARTITION BY x), win AS (ORDER BY y)
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	a
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	b
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	x
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	w
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	win
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	c
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	d
-0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	dt DESC
 0ee24b6c197f997f	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	y
 0f17dab7c394f447	4edff8487059a4e8	DatabricksDialect	edges	both	JsonPath	0	:store.book[*].isbn
 0f17dab7c394f447	4edff8487059a4e8	DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	raw:store.book[*].isbn
@@ -1146,18 +967,6 @@
 0f361793ddd3ca79	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>>
 0f361793ddd3ca79	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>>
 0f361793ddd3ca79	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>>
-0f490f8c3d82e2d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-0f490f8c3d82e2d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.left ORDER BY T.id)
-0f490f8c3d82e2d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.left ORDER BY T.id)
-0f490f8c3d82e2d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.left ORDER BY T.id)
-0f490f8c3d82e2d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.left
-0f490f8c3d82e2d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-0f490f8c3d82e2d8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-0f490f8c3d82e2d8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.left ORDER BY T.id)
-0f490f8c3d82e2d8	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.left ORDER BY T.id)
-0f490f8c3d82e2d8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.left ORDER BY T.id)
-0f490f8c3d82e2d8	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.left
-0f490f8c3d82e2d8	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
 0f58970abafaacec	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	bar INT
 0f58970abafaacec	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexConstraint	0	INDEX index (bar)
 0f58970abafaacec	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	TableConstraint::Index	0	INDEX index (bar)
@@ -1189,6 +998,9 @@
 101cf250b9fd8787	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> EXTEND id AS new_id, name AS new_name
 101cf250b9fd8787	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::ExprWithAlias	0	id AS new_id
 101cf250b9fd8787	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::ExprWithAlias	0	name AS new_name
+1053fbc73f1d6476	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	id INTEGER
+1053fbc73f1d6476	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	name TEXT
+1053fbc73f1d6476	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	CreateForeignTable	0	CREATE FOREIGN TABLE ft1 (id INTEGER, name TEXT) SERVER myserver
 1058a8082f04f193	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraint	0	EXCLUDE USING gist (col text_pattern_ops WITH =)
 1058a8082f04f193	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	EXCLUDE USING gist (col text_pattern_ops WITH =)
 1058a8082f04f193	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col TEXT
@@ -1202,24 +1014,13 @@
 10d25e07d2b37a70	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<<
 10d25e07d2b37a70	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<<
 10d25e07d2b37a70	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<<
-10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	edges	both	FunctionArguments::List	0	(last_name, '/')
-10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	edges	end	Function	0	SYS_CONNECT_BY_PATH(last_name, '/')
 10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	edges	start	OrderBy	0	ORDER BY "Employee", "Cycle", LEVEL, "Path"
 10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::BinaryOp	0	PRIOR employee_id = manager_id
 10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::BinaryOp	0	PRIOR employee_id = manager_id AND LEVEL <= 4
-10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::Function	0	SYS_CONNECT_BY_PATH(last_name, '/')
 10e0142dc5b2c51d	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::Prior	0	PRIOR employee_id
 10f4b756794891c2	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN b INT AFTER foo
 10f4b756794891c2	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	b INT
 10f4b756794891c2	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	foo
-1103f8c77202d1e4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-1103f8c77202d1e4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-1103f8c77202d1e4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-1103f8c77202d1e4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-1103f8c77202d1e4	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-1103f8c77202d1e4	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-1103f8c77202d1e4	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-1103f8c77202d1e4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 1110bb93209e74be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM sales AS s UNPIVOT INCLUDE NULLS ((first_quarter, second_quarter) FOR half_of_the_year IN ((Q1, Q2) AS H1, (Q3, Q4) AS H2))
 1110bb93209e74be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	sales AS s UNPIVOT INCLUDE NULLS ((first_quarter, second_quarter) FOR half_of_the_year IN ((Q1, Q2) AS H1, (Q3, Q4) AS H2))
 1110bb93209e74be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	(Q1, Q2) AS H1
@@ -1246,8 +1047,8 @@
 11304db3dc145bbe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT foo FROM bar FETCH FIRST 10 ROWS WITH TIES
 11304db3dc145bbe	fdaf9332c09858cf	DuckDbDialect	edges	both	Fetch	0	FETCH FIRST 10 ROWS WITH TIES
 11304db3dc145bbe	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT foo FROM bar FETCH FIRST 10 ROWS WITH TIES
-115b7e887806ad9d	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL
-115b7e887806ad9d	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL
+115b7e887806ad9d	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL
+115b7e887806ad9d	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL
 115b7e887806ad9d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL
 115b7e887806ad9d	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL
 116c3c77a9d00ae6	4edff8487059a4e8	PostgreSqlDialect	edges	both	Array	0	ARRAY['^a', 'x']
@@ -1257,12 +1058,9 @@
 116c3c77a9d00ae6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Array	0	ARRAY['^a', 'x']
 116c3c77a9d00ae6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT 'abc' ~* ANY(ARRAY['^a', 'x'])
 116c3c77a9d00ae6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT 'abc' ~* ANY(ARRAY['^a', 'x'])
-1188bc2b8653d29d	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(my_schema.sections_tbl.*)
-1188bc2b8653d29d	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	ARRAY_AGG(my_schema.sections_tbl.*)
 1188bc2b8653d29d	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArg::Unnamed	0	my_schema.sections_tbl.*
 1188bc2b8653d29d	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgExpr::QualifiedWildcard	0	my_schema.sections_tbl.*
 1188bc2b8653d29d	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgumentList	0	my_schema.sections_tbl.*
-1188bc2b8653d29d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(my_schema.sections_tbl.*)
 119c36f11e1d20cc	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL(5)
 11ade1f6a06237f1	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	edges	both	ReplaceSelectItem	0	REPLACE (quantity / 2 AS quantity, 3 AS order_id)
 11ade1f6a06237f1	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	edges	end	SelectItem::Wildcard	0	* REPLACE (quantity / 2 AS quantity, 3 AS order_id)
@@ -1279,11 +1077,7 @@
 11b08aab644047ed	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	AS (a * 2) VIRTUAL
 11b08aab644047ed	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	outside-parent	Expr::BinaryOp	0	a * 2
 11b0bd3fd757df04	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS GLOBAL
-11b836bf2fde0f58	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-11b836bf2fde0f58	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 11b836bf2fde0f58	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-11b836bf2fde0f58	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-11b836bf2fde0f58	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 11b836bf2fde0f58	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
 11fa13caa0db067c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR(4)
 1217c44ecee5479d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL '1' SECOND
@@ -1302,26 +1096,9 @@
 12387e00a868a2ea	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	items
 12387e00a868a2ea	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	name
 12414d1726e17bd0	4edff8487059a4e8	SnowflakeDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD PRIMARY KEY (textcol(10))
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(10)
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	PrimaryKeyConstraint	0	PRIMARY KEY (textcol(10))
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::PrimaryKey	0	PRIMARY KEY (textcol(10))
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	textcol(10)
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	textcol(10)
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	textcol(10)
-125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	textcol(10)
-12893b59b7093bb9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-12893b59b7093bb9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.trim ORDER BY T.id)
-12893b59b7093bb9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.trim ORDER BY T.id)
-12893b59b7093bb9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.trim ORDER BY T.id)
-12893b59b7093bb9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.trim
-12893b59b7093bb9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-12893b59b7093bb9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-12893b59b7093bb9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.trim ORDER BY T.id)
-12893b59b7093bb9	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.trim ORDER BY T.id)
-12893b59b7093bb9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.trim ORDER BY T.id)
-12893b59b7093bb9	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.trim
-12893b59b7093bb9	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
+125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::AddConstraint	0	ADD PRIMARY KEY (textcol(10))
+125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	PrimaryKeyConstraint	0	PRIMARY KEY (textcol(10))
+125f234bb4862998	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	TableConstraint::PrimaryKey	0	PRIMARY KEY (textcol(10))
 1292a74c14680c6d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 1292a74c14680c6d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 1292a74c14680c6d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
@@ -1332,26 +1109,15 @@
 12a112714628ef95	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM (a NATURAL JOIN b AS c)
 12a112714628ef95	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (a NATURAL JOIN b AS c)
 12a112714628ef95	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::NestedJoin	0	(a NATURAL JOIN b AS c)
-12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(param)
-12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	process(param)
-12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	transform()
 12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL transform() |> WHERE status = 'active' |> CALL process(param)
-12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
 12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::BinaryOp	0	status = 'active'
 12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	process(param)
 12aa66fc38760c5d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	transform()
 12f799a7b730611b	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Algorithm	0	ALGORITHM INSTANT
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(+42)
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	myudf(+42)
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE c1 = myudf(+42)
 13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	edges	start	FunctionArg::Unnamed	0	+42
 13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	edges	start	FunctionArgExpr::Expr	0	+42
 13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	edges	start	FunctionArgumentList	0	+42
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::BinaryOp	0	c1 = myudf(+42)
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	myudf(+42)
 13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::UnaryOp	0	+42
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE c1 = myudf(+42)
-13019a1802607a0b	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE c1 = myudf(+42)
 1351784f9b4a2e25	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	LimitClause::LimitOffset	0	 OFFSET 2 ROWS
 1351784f9b4a2e25	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	LimitClause::LimitOffset	1	 OFFSET 2 ROWS
 1351784f9b4a2e25	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Offset	0	OFFSET 2 ROWS
@@ -1372,17 +1138,11 @@
 1351784f9b4a2e25	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT foo FROM (SELECT * FROM bar OFFSET 2 ROWS) OFFSET 2 ROWS
 1351784f9b4a2e25	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT foo FROM (SELECT * FROM bar OFFSET 2 ROWS)
 1351784f9b4a2e25	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Derived	0	(SELECT * FROM bar OFFSET 2 ROWS)
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	both	AccessExpr::Dot	1	.value('.', 'NVARCHAR(MAX)')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	1	('.', 'NVARCHAR(MAX)')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	end	Function	1	value('.', 'NVARCHAR(MAX)')
+1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
+1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	start	AccessExpr::Dot	1	.value('.', 'NVARCHAR(MAX)')
 1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	edges	start	SelectItem::ExprWithAlias	0	CONVERT(XML, '<Book>abc</Book>').value('.', 'NVARCHAR(MAX)').value('.', 'NVARCHAR(MAX)') AS T
 1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::CompoundFieldAccess	0	CONVERT(XML, '<Book>abc</Book>').value('.', 'NVARCHAR(MAX)').value('.', 'NVARCHAR(MAX)')
 1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Convert	0	CONVERT(XML, '<Book>abc</Book>')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
-1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	1	value('.', 'NVARCHAR(MAX)')
 1366822b5f5ad0b1	4edff8487059a4e8	MsSqlDialect	structure	outside-parent	ObjectName	0	XML
 13c1e8c3b02beca5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOption::ForeignKey	0	REFERENCES other_table (id) MATCH FULL
 13c1e8c3b02beca5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOptionDef	0	REFERENCES other_table (id) MATCH FULL
@@ -1423,19 +1183,10 @@
 141f7af83c7fca22	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' DAY TO SECOND
 141f7af83c7fca22	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL '1' DAY TO SECOND
 141f7af83c7fca22	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL '1' DAY TO SECOND
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	foo(1 + 2 AS x)
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	foo(1 + 2 AS x)
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT foo(1 + 2 AS x)
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo(1 + 2 AS x)
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT foo(1 + 2 AS x)
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT foo(1 + 2 AS x)
 14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	1 + 2 AS x
 14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArg::Unnamed	0	1 + 2 AS x
 14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	1 + 2 AS x
 14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	1 + 2 AS x
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(1 + 2 AS x)
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::BinaryOp	0	1 + 2
-14289176f6a10702	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	x
 142fc21c071e44d5	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	x INT
 142fc21c071e44d5	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	CreateTableOptions::Plain	0	DEFAULT CHARSET = utf8mb4 ENGINE = InnoDB AUTO_INCREMENT = 1 DATA DIRECTORY = '/var/lib/mysql/data'
 142fc21c071e44d5	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	SqlOption::KeyValue	0	AUTO_INCREMENT = 1
@@ -1450,17 +1201,12 @@
 1456f5f1d893d7e9	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	SetExpr::Values	0	VALUES ('Test Some Inserts', 1)
 1456f5f1d893d7e9	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	Values	0	VALUES ('Test Some Inserts', 1)
 1456f5f1d893d7e9	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Query	0	VALUES ('Test Some Inserts', 1)
+1468f67a13732b94	4edff8487059a4e8	ClickHouseDialect	edges	both	AccessExpr::Subscript	0	[1]
+1468f67a13732b94	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 148df9f3e644fdb0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 148df9f3e644fdb0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 148df9f3e644fdb0	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 148df9f3e644fdb0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	('name' : 'value', 'type' : 1)
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : 1)
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT('name' : 'value', 'type' : 1)
-14948d6d0557fa89	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : 1)
 149c7d89b2854daf	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	^
 149c7d89b2854daf	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	^
 149c7d89b2854daf	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	^
@@ -1478,10 +1224,6 @@
 14b008996ce0172c	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableFactor::Table	0	@mystage1(file_format => 'myformat')
 14b008996ce0172c	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableWithJoins	0	@mystage1(file_format => 'myformat')
 14b008996ce0172c	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	FunctionArg::Named	0	file_format => 'myformat'
-14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(arg1)
-14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(arg2)
-14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	tvf1(arg1)
-14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	tvf2(arg2)
 14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL tvf1(arg1) AS step1 |> CALL tvf2(arg2) AS step2
 14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	tvf1(arg1)
 14c010e9e32f1be8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	tvf2(arg2)
@@ -1537,14 +1279,6 @@
 15863f5d31ac73e3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL DAY(3)
 15863f5d31ac73e3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL DAY(3)
 15863f5d31ac73e3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL DAY(3)
-1588b610a6ae6b96	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-1588b610a6ae6b96	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-1588b610a6ae6b96	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-1588b610a6ae6b96	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-1588b610a6ae6b96	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-1588b610a6ae6b96	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-1588b610a6ae6b96	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-1588b610a6ae6b96	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 1589a35d31af53a6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL DAY(2)
 1589a35d31af53a6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL DAY(2)
 1589a35d31af53a6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL DAY(2)
@@ -1577,24 +1311,10 @@
 159e475d31c1135c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL DAY(4)
 15ceafeaab25b671	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON top.id = tbl_name_2.id
 15ceafeaab25b671	4edff8487059a4e8	PostgreSqlDialect	edges	start	TableAlias	0	AS top
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
 15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
 15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT
 15de8e853f435e2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	X'deadbeef'
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
 15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
-15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT)
 15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE X'deadbeef' WITH COUNT
 15de8e853f435e2a	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	0	X'deadbeef'
 15edf752931b001b	4edff8487059a4e8	HiveDialect	edges	both	CreateTableOptions::TableProperties	0	TBLPROPERTIES ('prop_c' = 'c')
@@ -1603,9 +1323,6 @@
 15edf752931b001b	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	c STRING
 15edf752931b001b	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	d STRING
 15edf752931b001b	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	e STRING
-15edf752931b001b	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'prop_a'
-15edf752931b001b	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'prop_b'
-15edf752931b001b	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'prop_c'
 1612499907d8caeb	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	+b
 1612499907d8caeb	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	-a
 1612499907d8caeb	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	+b
@@ -1631,20 +1348,10 @@
 168a326543a708aa	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	&&
 168a326543a708aa	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	&&
 168a326543a708aa	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	&&
-168c46f6ef28b7ac	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-168c46f6ef28b7ac	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-168c46f6ef28b7ac	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-168c46f6ef28b7ac	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-168c46f6ef28b7ac	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 16e4b54ba0e813b2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 16e4b54ba0e813b2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 16e4b54ba0e813b2	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 16e4b54ba0e813b2	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
-16e558db19a5089d	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(0.5, 0.6)
-16e558db19a5089d	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(x, y)
-16e558db19a5089d	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	HISTOGRAM(0.5, 0.6)(x, y)
-16e558db19a5089d	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	HISTOGRAM(0.5, 0.6)(x, y)
-16e558db19a5089d	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	HISTOGRAM(0.5, 0.6)(x, y)
 16ebc14ba0ee46c4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 16ebc14ba0ee46c4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 16ebc14ba0ee46c4	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	+0
@@ -1707,6 +1414,12 @@
 17fe5809caf3636b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' SECOND (5, 4)
 17fe5809caf3636b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL '1' SECOND (5, 4)
 17fe5809caf3636b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL '1' SECOND (5, 4)
+18087bddb3024625	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	labels Map(VARCHAR, VARCHAR)
+18087bddb3024625	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	tags ARRAY
+18087bddb3024625	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::OBJECT(tags ARRAY, labels Map(VARCHAR, VARCHAR))
+18087bddb3024625	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::OBJECT(tags ARRAY, labels Map(VARCHAR, VARCHAR))
+18087bddb3024625	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	labels Map(VARCHAR, VARCHAR)
+18087bddb3024625	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	tags ARRAY
 180b424a2f78c6af	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	CROSS JOIN (SELECT y FROM bar) AS b (y)
 180b424a2f78c6af	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableAlias	0	AS a (x)
 180b424a2f78c6af	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableAlias	0	AS b (y)
@@ -1731,34 +1444,10 @@
 182f4c354117a942	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	edges	start	TableAlias	0	AS o
 182f4c354117a942	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	edges	start	TableAlias	0	AS p
 182f4c354117a942	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	reparse	inexact	TableFactor::NestedJoin	0	(customers AS c RIGHT JOIN products AS p ON p.customer_id = c.customer_id)
-18816676cadd8044	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(city)
 18816676cadd8044	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	edges	both	ReplaceSelectItem	0	REPLACE (lower(city) AS city)
-18816676cadd8044	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	edges	end	Function	0	lower(city)
 18816676cadd8044	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	edges	end	SelectItem::Wildcard	0	* REPLACE (lower(city) AS city)
-18816676cadd8044	4edff8487059a4e8	GenericDialect,BigQueryDialect,ClickHouseDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	lower(city)
-18816676cadd8044	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(city)
 18816676cadd8044	fdaf9332c09858cf	DuckDbDialect	edges	both	ReplaceSelectItem	0	REPLACE (lower(city) AS city)
-18816676cadd8044	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	lower(city)
 18816676cadd8044	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::Wildcard	0	* REPLACE (lower(city) AS city)
-18816676cadd8044	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	lower(city)
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT uuid_generate_v4()
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT uuid_generate_v4()
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	settings_id UUID PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	user_id UUID UNIQUE
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	value TEXT[]
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	uuid_generate_v4()
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT true
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT true
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	uuid_generate_v4()
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::PrimaryKey	0	PRIMARY KEY
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Unique	0	UNIQUE
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	NOT NULL
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	PRIMARY KEY
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	UNIQUE
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	PrimaryKeyConstraint	0	PRIMARY KEY ()
-188b92537ac61eb5	4edff8487059a4e8	PostgreSqlDialect	structure	empty	UniqueConstraint	0	UNIQUE ()
 18907a5ccf672668	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	s STRUCT(v VARCHAR, i INTEGER)
 18907a5ccf672668	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	i
 18907a5ccf672668	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	v
@@ -1795,8 +1484,6 @@
 197fe320c9fc05a0	4edff8487059a4e8	GenericDialect,MySqlDialect,ClickHouseDialect	structure	outside-parent	Ident	0	b
 197fe320c9fc05a0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::ModifyColumn	0	MODIFY COLUMN c INT AFTER b
 197fe320c9fc05a0	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	outside-parent	Ident	0	b
-1989b4fbeb87bc66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-1989b4fbeb87bc66	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
 1995bee32b20ba41	4edff8487059a4e8	ClickHouseDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN c UInt8 FIRST
 1995bee32b20ba41	4edff8487059a4e8	ClickHouseDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN d UInt8 AFTER c
 1995bee32b20ba41	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	c UInt8
@@ -1855,14 +1542,7 @@
 1a08d7f122d1b1eb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL(4)
 1a14969b01b8c52f	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	*
 1a1504255eb4971d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::OwnerTo	0	OWNER TO CURRENT_USER
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	AVG(price)
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	AVG(price)
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(price)
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	AVG(price)
 1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(AVG(price) FOR category IN ('A', 'B', 'C')) AS avg_by_category
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	AVG
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	AVG
-1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	AVG
 1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	AVG(price)
 1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	avg_by_category
 1a21f9e965d618b6	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	category
@@ -1895,18 +1575,9 @@
 1a680787b3a19dce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	=
 1a680787b3a19dce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>
 1a680787b3a19dce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>=
-1a6837318cb1439f	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x)
-1a6837318cb1439f	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x)
 1a6837318cb1439f	4edff8487059a4e8	BigQueryDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-1a6837318cb1439f	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x)
-1a6837318cb1439f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x)
-1a6837318cb1439f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x)
 1a6837318cb1439f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-1a6837318cb1439f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x)
-1a6837318cb1439f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x)
-1a6837318cb1439f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x)
 1a6837318cb1439f	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-1a6837318cb1439f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x)
 1a6b32a243712ec0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	`a` Nullable(STRING)
 1a6b32a243712ec0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	`b` Nullable(DateTime64(9, 'UTC'))
 1a6b32a243712ec0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	c Nullable(DateTime64(9))
@@ -1924,6 +1595,7 @@
 1a7d6e95a0e5dee8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR TO SECOND)
 1a7d6e95a0e5dee8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR TO SECOND)
 1a7d6e95a0e5dee8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR TO SECOND)
+1aa97aae1d444350	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 1aace2f5b0ee08aa	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	INNER JOIN (t1 INNER JOIN (t2 INNER JOIN t3 ON true) ON true) ON true
 1aace2f5b0ee08aa	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	INNER JOIN (t2 INNER JOIN t3 ON true) ON true
 1aace2f5b0ee08aa	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	INNER JOIN t3 ON true
@@ -1939,15 +1611,9 @@
 1ac9ab1417b5e809	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM customers WHERE name NOT SIMILAR TO '%a' ESCAPE NULL
 1ac9ab1417b5e809	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM customers WHERE name NOT SIMILAR TO '%a' ESCAPE NULL
 1ac9ab1417b5e809	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	0	NULL
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT(ABSENT ON NULL)
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT(ABSENT ON NULL)
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT(ABSENT ON NULL)
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT(ABSENT ON NULL)
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT(ABSENT ON NULL)
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT(ABSENT ON NULL)
+1acf0c167974b3e6	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY tuple()
 1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	ABSENT ON NULL
 1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	ABSENT ON NULL
-1ae092ab382e8c9b	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(ABSENT ON NULL)
 1af0c2f919359568	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT f FROM foo WHERE field IS NFC NORMALIZED
 1af0c2f919359568	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::IsNormalized	0	field IS NFC NORMALIZED
 1af0c2f919359568	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT f FROM foo WHERE field IS NFC NORMALIZED
@@ -1970,31 +1636,26 @@
 1b139335c405c8ee	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Trim	0	TRIM('   foo   ')
 1b139335c405c8ee	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT TRIM('   foo   ')
 1b139335c405c8ee	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT TRIM('   foo   ')
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(a AS x, b)
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	XMLFOREST(a AS x, b)
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	XMLFOREST(a AS x, b)
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT XMLFOREST(a AS x, b)
 1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	FunctionArgumentList	0	a AS x, b
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	XMLFOREST(a AS x, b)
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT XMLFOREST(a AS x, b)
-1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT XMLFOREST(a AS x, b)
 1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Expr::Named	0	a AS x
 1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	FunctionArg::Unnamed	0	a AS x
 1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	FunctionArgExpr::Expr	0	a AS x
 1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	outside-parent	Expr::Identifier	0	a
 1b1f0d97c6616c87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	outside-parent	Ident	0	x
+1b21de48ab2fbc71	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+1b21de48ab2fbc71	4edff8487059a4e8	ClickHouseDialect	edges	start	SelectItem::UnnamedExpr	0	(1, 'a') . 1
+1b21de48ab2fbc71	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(1, 'a') . 1
+1b21de48ab2fbc71	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(1, 'a')
+1b28a88db4d74ed9	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	k NUMBER
+1b28a88db4d74ed9	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::Map(VARCHAR, OBJECT(k NUMBER))
+1b28a88db4d74ed9	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::Map(VARCHAR, OBJECT(k NUMBER))
+1b28a88db4d74ed9	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	k NUMBER
+1b28a88db4d74ed9	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	both	Array	0	[1, 2, 3]
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArg::Unnamed	0	[1, 2, 3]
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgExpr::Expr	0	[1, 2, 3]
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	([1, 2, 3], lambda x : x * 2)
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	list_transform([1, 2, 3], lambda x : x * 2)
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	list_transform([1, 2, 3], lambda x : x * 2)
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT list_transform([1, 2, 3], lambda x : x * 2)
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	[1, 2, 3], lambda x : x * 2
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Array	0	[1, 2, 3]
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	list_transform([1, 2, 3], lambda x : x * 2)
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT list_transform([1, 2, 3], lambda x : x * 2)
-1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT list_transform([1, 2, 3], lambda x : x * 2)
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Lambda	0	lambda x : x * 2
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	lambda x : x * 2
 1b2cd9191ad8e132	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Expr	0	lambda x : x * 2
@@ -2074,8 +1735,6 @@
 1c28979b4155375e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL MINUTE(6)
 1c28979b4155375e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL MINUTE(6)
 1c28979b4155375e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL MINUTE(6)
-1c2b1bfce52bb58a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3'
-1c2b1bfce52bb58a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3.5'
 1c2bbf9b4157b12d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL MINUTE(5)
 1c2bbf9b4157b12d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL MINUTE(5)
 1c2bbf9b4157b12d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL MINUTE(5)
@@ -2106,54 +1765,28 @@
 1c3cbb9b41661d94	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL MINUTE(0)
 1c3cbb9b41661d94	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL MINUTE(0)
 1c3cbb9b41661d94	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL MINUTE(0)
+1c51ad274a8126e8	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::Array(NUMBER)
+1c51ad274a8126e8	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::Array(NUMBER)
+1c51ad274a8126e8	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 1c53b980719ce57e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 5
 1c53b980719ce57e	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 5
-1c64636922393d87	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(column2)
-1c64636922393d87	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	end	Function	0	FIRST_VALUE(column2) RESPECT NULLS OVER (PARTITION BY column1 ORDER BY column2 NULLS LAST)
-1c64636922393d87	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(column2) RESPECT NULLS OVER (PARTITION BY column1 ORDER BY column2 NULLS LAST)
 1c64636922393d87	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	reparse	inexact	OrderByExpr	0	column2 NULLS LAST
-1c64636922393d87	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	structure	outside-parent	Expr::Identifier	1	column1
-1c64636922393d87	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	column2 NULLS LAST
 1c72c3c6e93a1e5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY TO MINUTE(4))
 1c72c3c6e93a1e5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY TO MINUTE(4))
 1c72c3c6e93a1e5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY TO MINUTE(4))
 1c72c3c6e93a1e5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL DAY TO MINUTE(4))
 1c72c3c6e93a1e5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL DAY TO MINUTE(4))
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(count_views)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(event_time)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(toStartOfMonth(event_time))
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	sumState(count_views)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	toDate(toStartOfMonth(event_time))
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	toStartOfMonth(event_time)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	FunctionArg::Unnamed	0	toStartOfMonth(event_time)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	FunctionArgExpr::Expr	0	toStartOfMonth(event_time)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	FunctionArgumentList	0	toStartOfMonth(event_time)
 1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY domain_name, month
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	sumState(count_views)
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	toDate(toStartOfMonth(event_time))
-1c7e4b1fbb51ce02	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	toStartOfMonth(event_time)
-1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(sales)
 1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY size, GROUPING SETS ((brand), (size), ())
-1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	sum(sales)
-1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	sum(sales)
 1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, GROUPING SETS ((brand), (size), ())
-1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	sum(sales)
 1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((brand), (size), ())
 1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, GROUPING SETS ((brand), (size), ())
 1c9aeacdd968f92f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, GROUPING SETS ((brand), (size), ())
-1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	edges	both	FunctionArguments::List	0	(1 IGNORE NULLS)
-1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	edges	end	Function	0	FIRST_VALUE(1 IGNORE NULLS) OVER ()
 1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	edges	end	FunctionArgumentList	0	1 IGNORE NULLS
-1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	FIRST_VALUE(1 IGNORE NULLS) OVER ()
 1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	edges	start	TableWithJoins	0	(SELECT 1) t
-1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(1 IGNORE NULLS) OVER ()
 1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	TableFactor::Derived	0	(SELECT 1) t
 1ca2c25e62aef12a	4edff8487059a4e8	RedshiftSqlDialect	structure	empty	FunctionArgumentClause::IgnoreOrRespectNulls	0	IGNORE NULLS
-1ca6928a401f7bc0	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-1ca6928a401f7bc0	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 1ca6928a401f7bc0	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-1ca6928a401f7bc0	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-1ca6928a401f7bc0	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 1ca6928a401f7bc0	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
 1ca71e7ae32ddef8	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Unique	0	CONSTRAINT constr UNIQUE INDEX (y) NOT DEFERRABLE INITIALLY IMMEDIATE
 1ca71e7ae32ddef8	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	UniqueConstraint	0	CONSTRAINT constr UNIQUE INDEX (y) NOT DEFERRABLE INITIALLY IMMEDIATE
@@ -2179,11 +1812,10 @@
 1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'@foo'
 1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'http://example.com/b'
 1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'http://example.com/myns'
+1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"B"
 1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	bar
 1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	foo
 1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	x
-1cbd79968d6588d0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"B"
-1cbd79968d6588d0	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"B"
 1cbd79968d6588d0	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	xmltable.*
 1cbd79968d6588d0	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT xmltable.* FROM XMLTABLE(XMLNAMESPACES('http://example.com/myns' AS x, 'http://example.com/b' AS "B"), '/x:example/x:item' PASSING (SELECT data FROM xmldata) COLUMNS foo INT PATH '@foo', bar INT PATH '@B:bar')
 1cbd79968d6588d0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT data FROM xmldata)
@@ -2201,8 +1833,6 @@
 1cbd79968d6588d0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	bar
 1cbd79968d6588d0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	foo
 1cbd79968d6588d0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	x
-1cbf4666d5a8d3b7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(arg1)
-1cbf4666d5a8d3b7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	tvf1(arg1)
 1cbf4666d5a8d3b7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL tvf1(arg1) AS al
 1cbf4666d5a8d3b7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	tvf1(arg1)
 1cbf4666d5a8d3b7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	al
@@ -2230,14 +1860,8 @@
 1d27e426c31d6ef3	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	transformed_data
 1d27e426c31d6ef3	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	value
 1d31c6213ab50a9e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	foo INT
-1d31c6213ab50a9e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	edges	end	ColumnDef	0	bar TEXT COLLATE "de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ColumnOption::Collation	0	COLLATE "de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ColumnOptionDef	0	COLLATE "de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"de_DE"
-1d31c6213ab50a9e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"de_DE"
+1d31c6213ab50a9e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
+1d31c6213ab50a9e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
 1d31c6213ab50a9e	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo INT
 1d31c6213ab50a9e	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
 1d31c6213ab50a9e	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
@@ -2250,6 +1874,10 @@
 1d59ddda7221286b	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	2
 1d59ddda7221286b	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	20
 1d59ddda7221286b	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	1	1
+1d5d68696c3b3e2e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT a FROM u)
+1d5d68696c3b3e2e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	(SELECT a FROM u)
+1d5d68696c3b3e2e	fdaf9332c09858cf	DuckDbDialect	edges	both	SetExpr::Query	0	(SELECT a FROM u)
+1d5d68696c3b3e2e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	(SELECT a FROM u)
 1d74f6bce82d9bce	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM @stage/day=18/23.parquet
 1d74f6bce82d9bce	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM @stage/day=18/23.parquet
 1d74f6bce82d9bce	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM @stage/day=18/23.parquet
@@ -2286,11 +1914,9 @@
 1e1a2344551075d6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT bar PRIMARY KEY (baz)
 1e1a2344551075d6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	PrimaryKeyConstraint	0	CONSTRAINT bar PRIMARY KEY (baz)
 1e1a2344551075d6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableConstraint::PrimaryKey	0	CONSTRAINT bar PRIMARY KEY (baz)
-1e1a2344551075d6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cluster'
 1e1a2344551075d6	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT bar PRIMARY KEY (baz)
 1e1a2344551075d6	fdaf9332c09858cf	DuckDbDialect	edges	both	PrimaryKeyConstraint	0	CONSTRAINT bar PRIMARY KEY (baz)
 1e1a2344551075d6	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::PrimaryKey	0	CONSTRAINT bar PRIMARY KEY (baz)
-1e1a2344551075d6	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cluster'
 1e4713b90bc50fdf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 1e4713b90bc50fdf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 1e4713b90bc50fdf	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
@@ -2355,52 +1981,23 @@
 1ea0448fd226b9f9	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE NOT DEFERRABLE NOT ENFORCED
 1ea0448fd226b9f9	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	NOT DEFERRABLE NOT ENFORCED
 1ea0448fd226b9f9	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () NOT DEFERRABLE NOT ENFORCED
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	edges	both	FunctionArguments::List	0	(0.5)
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	edges	both	SelectItem::UnnamedExpr	0	APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	edges	end	Function	0	PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	edges	end	SetExpr::Select	0	SELECT APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Expr::Function	0	PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
+1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	edges	start	SelectItem::UnnamedExpr	0	APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
 1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Expr::Prefixed	0	APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Query	0	SELECT APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
-1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Select	0	SELECT APPROXIMATE PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY totalprice)
 1eddec6d50e7edd9	4edff8487059a4e8	RedshiftSqlDialect	structure	outside-parent	Ident	0	APPROXIMATE
 1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Subscript	0	[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	1	(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	2	(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	array_length(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	1	array_length(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	2	array_length(arr)
 1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
 1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Subscript::Slice	0	array_length(arr) - 2:array_length(arr) - 1:array_length(arr)
 1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	array_length(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	1	array_length(arr)
-1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	2	array_length(arr)
 1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
 1ee4d1895833bf63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
 1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Subscript	0	[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	2	(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	array_length(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	1	array_length(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	2	array_length(arr)
 1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
 1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	edges	end	Subscript::Slice	0	array_length(arr) - 2:array_length(arr) - 1:array_length(arr)
 1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	array_length(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	1	array_length(arr)
-1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	2	array_length(arr)
 1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
 1ee4d1895833bf63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[array_length(arr) - 2:array_length(arr) - 1:array_length(arr)]
-1efff12d516ed54a	4edff8487059a4e8	DatabricksDialect	edges	both	FunctionArguments::List	0	(name)
 1efff12d516ed54a	4edff8487059a4e8	DatabricksDialect	edges	both	ReplaceSelectItem	0	REPLACE (upper(name) AS name)
-1efff12d516ed54a	4edff8487059a4e8	DatabricksDialect	edges	end	Function	0	upper(name)
 1efff12d516ed54a	4edff8487059a4e8	DatabricksDialect	edges	end	SelectItem::Wildcard	0	* REPLACE (upper(name) AS name)
-1efff12d516ed54a	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::Function	0	upper(name)
 1f00f23807983693	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Like	0	'a%c' LIKE 'a$%c' ESCAPE '$'
 1f00f23807983693	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT 'a%c' LIKE 'a$%c' ESCAPE '$'
 1f00f23807983693	4edff8487059a4e8	MySqlDialect	reparse	inexact	Select	0	SELECT 'a%c' LIKE 'a$%c' ESCAPE '$'
@@ -2470,25 +2067,17 @@
 200a067d9b293a82	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL MINUTE(0))
 200a067d9b293a82	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL MINUTE(0))
 200a067d9b293a82	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE(0))
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(i)
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	1	(i)
+200f3d8615d01025	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	 . 2
+200f3d8615d01025	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	 . 3
+200f3d8615d01025	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	 . 2
+200f3d8615d01025	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	 . 3
+20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	CreateTableOptions::Plain	0	ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
+20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	SqlOption::NamedParenthesizedList	0	ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
 20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	`i` INT
 20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	`k` INT
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	tuple(i)
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	1	tuple(i)
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	tuple(i)
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	1	tuple(i)
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	CreateTableOptions::Plain	0	ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'/clickhouse/tables/{uuid}/{shard}'
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'{replica}'
 20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	ENGINE
 20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	SharedMergeTree
-20175052ff6a8999	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	SqlOption::NamedParenthesizedList	0	ENGINE = SharedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')
-20297cdf3addbc0c	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-20297cdf3addbc0c	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 20297cdf3addbc0c	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-20297cdf3addbc0c	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-20297cdf3addbc0c	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 20297cdf3addbc0c	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 2045422fd3da41fd	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	both	CreateTableOptions::With	0	WITH (PARTITION (column_a RANGE LEFT FOR VALUES (10, 11)))
 2045422fd3da41fd	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	both	SqlOption::Partition	0	PARTITION (column_a RANGE LEFT FOR VALUES (10, 11))
@@ -2507,14 +2096,7 @@
 209e8207da160ae3	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	INDEX (c1, c2, c3, c4, c5)
 209e8207da160ae3	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
 20a0faa72183164d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL SECOND(4)
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('a', 1, NULL, 2 ABSENT ON NULL)
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)
 20d4c54682935770	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	'a', 1, NULL, 2 ABSENT ON NULL
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)
-20d4c54682935770	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)
 20d4c54682935770	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	ABSENT ON NULL
 20ed679989f637bf	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS WINDOW
 2159a57a811c4794	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL '1' DAY TO HOUR
@@ -2535,18 +2117,6 @@
 218622608c2648c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	TIMEZONE
 218622608c2648c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	TIMEZONE
 218622608c2648c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	TIMEZONE
-2187e6db88ece63f	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	HiveDialect	structure	empty	ObjectName	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	HiveDialect	structure	empty	ObjectNamePart::Identifier	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	MsSqlDialect	structure	empty	Ident	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectName	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectNamePart::Identifier	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectName	0	'SCHEMA'
-2187e6db88ece63f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'SCHEMA'
-2187e6db88ece63f	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'SCHEMA'
-2187e6db88ece63f	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'SCHEMA'
-2187e6db88ece63f	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'SCHEMA'
 218c3da4d253df35	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@~
 218c3da4d253df35	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@~
 218c3da4d253df35	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@~
@@ -2561,7 +2131,6 @@
 21b624ad69528895	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 21b624ad69528895	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 21b624ad69528895	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
-21b8801aeb94a1e2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label5'
 21d0e7e2561dffe9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM customers WHERE segment NOT IN ('HIGH', 'MED')
 21d0e7e2561dffe9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InList	0	segment NOT IN ('HIGH', 'MED')
 21d0e7e2561dffe9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM customers WHERE segment NOT IN ('HIGH', 'MED')
@@ -2592,9 +2161,16 @@
 2287cb029ba29ab9	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 2287cb029ba29ab9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
 2293276de8e3a6cc	4edff8487059a4e8	SQLiteDialect	edges	start	TableAlias	0	AS pam
-22db48af7409a1dd	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'my_role'
-22db48af7409a1dd	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'my_role'
-22db48af7409a1dd	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'my_role'
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	items ARRAY(NUMBER NOT NULL)
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	k NUMBER
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	meta MAP(VARCHAR, OBJECT(k NUMBER) NOT NULL)
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::OBJECT(items ARRAY(NUMBER NOT NULL), meta MAP(VARCHAR, OBJECT(k NUMBER) NOT NULL))
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::OBJECT(items ARRAY(NUMBER NOT NULL), meta MAP(VARCHAR, OBJECT(k NUMBER) NOT NULL))
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	items ARRAY(NUMBER NOT NULL)
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	k NUMBER
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	meta MAP(VARCHAR, OBJECT(k NUMBER) NOT NULL)
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
+22d1674583a0fd13	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	1	NUMBER
 22f8a1157af9de35	4edff8487059a4e8	RedshiftSqlDialect	edges	start	TableAlias	0	AS t
 22f8a1157af9de35	4edff8487059a4e8	RedshiftSqlDialect	edges	start	TableWithJoins	0	UNPIVOT t AS v AT k
 22f8a1157af9de35	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	TableFactor::UnpivotExpr	0	UNPIVOT t AS v AT k
@@ -2639,26 +2215,25 @@
 24288a74d3e04a77	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 24288a74d3e04a77	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 24288a74d3e04a77	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
-243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(DISTINCT +x)
-243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(DISTINCT +x)
-243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(DISTINCT +x)
 243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArg::Unnamed	0	+x
 243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgExpr::Expr	0	+x
 243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentList	0	DISTINCT +x
-243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(DISTINCT +x)
 243c5b94fb5b94b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+x
-243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(DISTINCT +x)
-243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(DISTINCT +x)
-243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(DISTINCT +x)
 243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArg::Unnamed	0	+x
 243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgExpr::Expr	0	+x
 243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	DISTINCT +x
-243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(DISTINCT +x)
 243c5b94fb5b94b0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+x
+2493bd89f1ef900c	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	! !a
+2493bd89f1ef900c	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! !a
+2493bd89f1ef900c	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!a
 2496143494adc396	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
 2496143494adc396	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
-24c72404ab73ff66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'root'
-24c72404ab73ff66	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'root'
+24a0d589f1fa4330	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	! -a
+24a0d589f1fa4330	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! -a
+24a0d589f1fa4330	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	-a
+24a7e189f2007642	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	! +a
+24a7e189f2007642	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! +a
+24a7e189f2007642	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	+a
 24e8d3bc41e49723	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL 1 SECOND
 24e8d3bc41e49723	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL 1 SECOND
 24e8d3bc41e49723	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL 1 SECOND
@@ -2669,10 +2244,6 @@
 24e8d3bc41e49723	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL 1 SECOND
 24e8d3bc41e49723	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL 1 SECOND
 24e8d3bc41e49723	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL 1 SECOND
-2502ed3673839268	4edff8487059a4e8	MySqlDialect	edges	end	Assignment	0	col3 = current_date()
-2502ed3673839268	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	current_date()
-2502ed3673839268	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	current_date()
-2502ed3673839268	4edff8487059a4e8	MySqlDialect	structure	empty	FunctionArguments::List	0	()
 2519b61fcae97d8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM sales AS s UNPIVOT INCLUDE NULLS ((first_quarter, second_quarter) FOR half_of_the_year IN ((sales.Q1, sales.Q2) AS H1, (sales.Q3, sales.Q4) AS H2))
 2519b61fcae97d8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	sales AS s UNPIVOT INCLUDE NULLS ((first_quarter, second_quarter) FOR half_of_the_year IN ((sales.Q1, sales.Q2) AS H1, (sales.Q3, sales.Q4) AS H2))
 2519b61fcae97d8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	(sales.Q1, sales.Q2) AS H1
@@ -2702,27 +2273,15 @@
 2528f00eab19fbe1	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	edges	start	TableAlias	0	AS p
 2528f00eab19fbe1	4edff8487059a4e8	PostgreSqlDialect,SnowflakeDialect,RedshiftSqlDialect,MySqlDialect	reparse	inexact	TableFactor::NestedJoin	0	(customers AS c RIGHT JOIN products AS p ON p.customer_id = c.customer_id)
 254d4ca46c233542	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a Array(VARCHAR)
-255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
 255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	edges	start	FunctionArgumentClause::Limit	0	LIMIT 2
 255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
 255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	edges	start	FunctionArgumentList	0	DISTINCT x ORDER BY x LIMIT 2
-255c3922cc94cf45	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
 255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::Limit	0	LIMIT 2
 255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
 255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentList	0	DISTINCT x ORDER BY x LIMIT 2
-255c3922cc94cf45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
-255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
 255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Limit	0	LIMIT 2
 255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
 255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	DISTINCT x ORDER BY x LIMIT 2
-255c3922cc94cf45	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(DISTINCT x ORDER BY x LIMIT 2)
 257a28120d007974	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' WITH QUERY EXPANSION)
 257a28120d007974	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' WITH QUERY EXPANSION)
 257a28120d007974	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM tb WHERE MATCH (c1) AGAINST ('string' WITH QUERY EXPANSION)
@@ -2748,30 +2307,14 @@
 25a7170e26fe2134	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE NOT ENFORCED
 25a7170e26fe2134	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	NOT ENFORCED
 25a7170e26fe2134	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () NOT ENFORCED
-25af0057bd70dba6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'admin'
-25af0057bd70dba6	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'admin'
 25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	{fn fna()}
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	fnb(1)
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	fnb(1)
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT {fn fna()} AS foo, fnb(1)
 25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	{fn fna()} AS foo
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	fnb(1)
 25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	{fn fna()}
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT {fn fna()} AS foo, fnb(1)
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT {fn fna()} AS foo, fnb(1)
-25af3829cf3b4565	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
 25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	{fn fna()}
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	fnb(1)
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	fnb(1)
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT {fn fna()} AS foo, fnb(1)
 25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	{fn fna()} AS foo
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	fnb(1)
 25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	{fn fna()}
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT {fn fna()} AS foo, fnb(1)
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT {fn fna()} AS foo, fnb(1)
-25af3829cf3b4565	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
+25b8dd7f8e25dc3c	4edff8487059a4e8	ClickHouseDialect	edges	both	AccessExpr::Subscript	0	[1]
+25b8dd7f8e25dc3c	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 25cfddab0b3d8e3b	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ReferentialAction::Cascade	0	CASCADE
 25ea17a5c6d7230c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<>
 25ea17a5c6d7230c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<>
@@ -2798,9 +2341,9 @@
 26505a1bb9fe56a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> LIMIT 10 |> LIMIT 5
 26505a1bb9fe56a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Value	0	10
 26505a1bb9fe56a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Value	0	5
-265892518e8cf178	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	both	OrderBy	0	ORDER BY ALL DESC NULLS LAST
-265892518e8cf178	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	ALL DESC NULLS LAST
-265892518e8cf178	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT id, ALL FROM customer ORDER BY ALL DESC NULLS LAST
+265892518e8cf178	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	both	OrderBy	0	ORDER BY ALL DESC NULLS LAST
+265892518e8cf178	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	ALL DESC NULLS LAST
+265892518e8cf178	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT id, ALL FROM customer ORDER BY ALL DESC NULLS LAST
 265cbb997665fa40	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraint	0	EXCLUDE USING btree (col ASC NULLS LAST WITH =)
 265cbb997665fa40	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	EXCLUDE USING btree (col ASC NULLS LAST WITH =)
 265cbb997665fa40	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col INT
@@ -2823,18 +2366,6 @@
 269bd15a88f00ce3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM customers WHERE name ILIKE '%a' IS NULL
 269bd15a88f00ce3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM customers WHERE name ILIKE '%a' IS NULL
 26a16ea199d67b70	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO MINUTE(4)
-26b9d973b67b3258	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-26b9d973b67b3258	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.extract ORDER BY T.id)
-26b9d973b67b3258	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.extract ORDER BY T.id)
-26b9d973b67b3258	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.extract ORDER BY T.id)
-26b9d973b67b3258	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.extract
-26b9d973b67b3258	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-26b9d973b67b3258	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-26b9d973b67b3258	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.extract ORDER BY T.id)
-26b9d973b67b3258	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.extract ORDER BY T.id)
-26b9d973b67b3258	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.extract ORDER BY T.id)
-26b9d973b67b3258	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.extract
-26b9d973b67b3258	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
 26e188a6949a8480	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM JSON_TABLE('["x", "y"]', '$[*]' COLUMNS(a VARCHAR(20) PATH '$')) AS t
 26e188a6949a8480	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS t
 26e188a6949a8480	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT * FROM JSON_TABLE('["x", "y"]', '$[*]' COLUMNS(a VARCHAR(20) PATH '$')) AS t
@@ -2899,6 +2430,15 @@
 278b6ce0930218b5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<=
 27a5833c66fa8267	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> TABLESAMPLE BERNOULLI (50)
 27a5833c66fa8267	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Value	0	50
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	edges	both	TableWithJoins	0	(SELECT (1, 'x') AS t)
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT t . 1 AS a, t . 2 AS b FROM (SELECT (1, 'x') AS t)
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	edges	start	SelectItem::ExprWithAlias	0	(1, 'x') AS t
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(1, 'x')
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT t . 1 AS a, t . 2 AS b FROM (SELECT (1, 'x') AS t)
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Select	0	SELECT t . 1 AS a, t . 2 AS b FROM (SELECT (1, 'x') AS t)
+27ce9e32ef8c6812	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	TableFactor::Derived	0	(SELECT (1, 'x') AS t)
 27d3077d9f525a71	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL MINUTE(1))
 27d3077d9f525a71	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE(1))
 27d3077d9f525a71	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL MINUTE(1))
@@ -2922,9 +2462,6 @@
 28505c77b76a4562	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT 1 INTERSECT (SELECT 2 EXCEPT SELECT 3)
 285e5610f80317fe	4edff8487059a4e8	SparkSqlDialect	edges	both	SelectItem::UnnamedExpr	0	SUBSTRING(s, 1, 3)
 285e5610f80317fe	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Substring	0	SUBSTRING(s, 1, 3)
-28c07b5f12ed37e7	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'SELECT 1'
-28c07b5f12ed37e7	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'SELECT 1'
-28c07b5f12ed37e7	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'SELECT 1'
 28e71c26720effbe	4edff8487059a4e8	BigQueryDialect	edges	both	Array	0	["gs://x"]
 28e71c26720effbe	4edff8487059a4e8	BigQueryDialect	edges	both	CreateTableOptions::Options	0	OPTIONS(uris = ["gs://x"])
 28e71c26720effbe	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	a INT64
@@ -2941,13 +2478,6 @@
 2918af2e2d67d003	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 2918af2e2d67d003	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 2918af2e2d67d003	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::Subquery	0	(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	parse_json(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	parse_json(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT parse_json(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	parse_json(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT parse_json(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
-2918edd669776ee1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT parse_json(WITH q AS (SELECT '{}' AS foo) SELECT foo FROM q)
 292180474d60d6bd	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> RENAME id AS user_id
 292180474d60d6bd	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	id
 292180474d60d6bd	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	user_id
@@ -2977,11 +2507,8 @@
 29945a1ad5ebd0ab	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN UNNEST(t1.a) AS f ON c1 = c2
 29945a1ad5ebd0ab	4edff8487059a4e8	PostgreSqlDialect	edges	start	TableAlias	0	AS f
 29945a1ad5ebd0ab	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	TableFactor::UNNEST	0	UNNEST(t1.a) AS f
-29d20704945a5158	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	Function	0	myfunc()
 29d20704945a5158	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	SelectItem::QualifiedWildcard	0	myfunc().*
 29d20704945a5158	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	SelectItemQualifiedWildcardKind::Expr	0	myfunc().*
-29d20704945a5158	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	myfunc()
-29d20704945a5158	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 29e967c8cadba6a3	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS ANTI
 29f1ccd9d52b6dec	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN id ADD GENERATED AS IDENTITY
 29f1ccd9d52b6dec	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterColumnOperation::AddGenerated	0	ADD GENERATED AS IDENTITY
@@ -3018,14 +2545,17 @@
 2a3fba6bfd309b01	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	structure	empty	GroupByExpr::All	0	GROUP BY ALL WITH CUBE
 2a554b37ff4ed162	4edff8487059a4e8	MySqlDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	baz INT
 2a554b37ff4ed162	4edff8487059a4e8	MySqlDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	name STRING
-2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	edges	both	FunctionArguments::List	0	(a)
-2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	edges	both	FunctionArguments::List	1	(a)
-2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	edges	end	Function	0	explode(a)
-2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	edges	end	Function	1	explode(a)
 2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	edges	start	LateralView	0	 LATERAL VIEW OUTER explode(a) t AS a, b
 2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	edges	start	LateralView	0	 LATERAL VIEW explode(a) t AS j, P
-2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	reparse	inexact	Expr::Function	0	explode(a)
-2a5e585f0478ae82	4edff8487059a4e8	HiveDialect	reparse	inexact	Expr::Function	1	explode(a)
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	edges	both	SelectItem::UnnamedExpr	0	CAST(payload AS OBJECT(city VARCHAR, zip NUMBER NOT NULL))
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	city VARCHAR
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	zip NUMBER NOT NULL
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	CAST(payload AS OBJECT(city VARCHAR, zip NUMBER NOT NULL))
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	NOT NULL
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	city VARCHAR
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	zip NUMBER NOT NULL
+2a6ab10b89ee6d4d	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 2a897d5ccb0e027f	4edff8487059a4e8	MsSqlDialect	edges	both	SelectItem::ExprWithAlias	0	some_column AS some_alias
 2ab2afb3e7e8b322	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	~ ~ 1
 2ab2afb3e7e8b322	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	~ 1
@@ -3049,24 +2579,10 @@
 2af04598a8fc9a11	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	SetExpr::Values	0	VALUES (5, 'Gizmo Transglobal', 1000), (6, 'Associated Computing, Inc', 1010)
 2af04598a8fc9a11	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	Values	0	VALUES (5, 'Gizmo Transglobal', 1000), (6, 'Associated Computing, Inc', 1010)
 2af04598a8fc9a11	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	VALUES (5, 'Gizmo Transglobal', 1000), (6, 'Associated Computing, Inc', 1010)
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(amount)
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(amount)
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	ExprWithAlias	0	COUNT(*) AS transactions
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	ExprWithAlias	0	SUM(amount) AS total
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(amount)
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(COUNT(*) AS transactions, SUM(amount) AS total FOR region IN ('North', 'South')) AS regional_summary
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Expr::Function	0	COUNT(*)
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Function	0	COUNT(*)
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	COUNT
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	COUNT
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	COUNT
-2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*) AS transactions
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(amount) AS total
 2b2d57efd670a9fa	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	region
@@ -3083,15 +2599,12 @@
 2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'@Cid'
 2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'NULL'
 2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'document{.}'
+2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"Cid"
+2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"History"
+2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"Info"
 2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	ObjectName	0	XML
 2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	ObjectName	1	XML
 2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	TableAlias	0	AS X
-2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"Cid"
-2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"History"
-2b46760ec1957dbb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	"Info"
-2b46760ec1957dbb	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"Cid"
-2b46760ec1957dbb	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"History"
-2b46760ec1957dbb	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"Info"
 2b46760ec1957dbb	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	X.*
 2b46760ec1957dbb	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT X.* FROM T1, XMLTABLE('$CUSTLIST/customers/customerinfo' COLUMNS "Cid" BIGINT PATH '@Cid', "Info" XML PATH 'document{.}', "History" XML PATH 'NULL') AS X
 2b46760ec1957dbb	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS X
@@ -3109,10 +2622,6 @@
 2b46760ec1957dbb	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	ObjectName	0	XML
 2b46760ec1957dbb	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	ObjectName	1	XML
 2b46760ec1957dbb	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	TableAlias	0	AS X
-2b559854db572204	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'happy'
-2b559854db572204	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'sad'
-2b559854db572204	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'happy'
-2b559854db572204	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'sad'
 2b76793fb205f5c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Unique	0	CONSTRAINT t_uk UNIQUE (email) INCLUDE (payload)
 2b76793fb205f5c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	UniqueConstraint	0	CONSTRAINT t_uk UNIQUE (email) INCLUDE (payload)
 2b76793fb205f5c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	email TEXT
@@ -3133,11 +2642,6 @@
 2b81423e319de9d4	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT test_table.id FROM test_tables AS test_table WHERE (a = 12) AND (b = 34)
 2b81423e319de9d4	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	VALUES (DEFAULT, 56, 78, 90)
 2b81423e319de9d4	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT test_table.id FROM test_tables AS test_table WHERE (a = 12) AND (b = 34)
-2ba6a3cbc2fd303d	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-2ba6a3cbc2fd303d	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-2ba6a3cbc2fd303d	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-2ba6a3cbc2fd303d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-2ba6a3cbc2fd303d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 2baea49caf7bb5fe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	inserted.*
 2baea49caf7bb5fe	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	inserted.*
 2bb96acaaf5f2831	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR(3)
@@ -3164,14 +2668,6 @@
 2c54462980d418a9	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	f1.abc[1]
 2c54462980d418a9	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.abc
 2c54462980d418a9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	f1.abc[1]
-2c70c9da700b7046	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-2c70c9da700b7046	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-2c70c9da700b7046	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-2c70c9da700b7046	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-2c70c9da700b7046	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-2c70c9da700b7046	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-2c70c9da700b7046	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-2c70c9da700b7046	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 2c89f638ec000dce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO HOUR(2)
 2c8b6f74e4bcee19	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE NOT DEFERRABLE NOT ENFORCED
 2c8b6f74e4bcee19	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE NOT DEFERRABLE NOT ENFORCED
@@ -3186,6 +2682,13 @@
 2ce6437c5df00c88	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Join	0	LEFT JOIN orders USING(user_id, order_date)
 2ce6437c5df00c88	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> LEFT JOIN orders USING(user_id, order_date)
 2ce6437c5df00c88	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	LEFT JOIN orders USING(user_id, order_date)
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	edges	both	JsonPath	0	['country']['name']
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	$1['country']['name']::VARCHAR
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	$1['country']['name']::VARCHAR
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1['country']['name']
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@stg
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stg
+2cfd55af44487185	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stg
 2d0fa7c5522688ee	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar DOUBLE
 2d1bd2b3ebe7ab7d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	OnConflict	0	 ON CONFLICT DO NOTHING
 2d1bd2b3ebe7ab7d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	OnConflictAction::DoNothing	0	DO NOTHING
@@ -3324,28 +2827,12 @@
 2fa528bf764d43e7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a, b, c FROM lineitem AS l (A, B, C)
 2fa528bf764d43e7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a, b, c FROM lineitem AS l (A, B, C)
 2fa528bf764d43e7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Table	0	lineitem AS l (A, B, C)
-2fa58283a0aa6440	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3.5'
-2fa58283a0aa6440	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label4'
 2fbdef7154e56225	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	CheckConstraint	0	CHECK (a > 0) NO INHERIT NOT ENFORCED
 2fbdef7154e56225	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableConstraint::Check	0	CHECK (a > 0) NO INHERIT NOT ENFORCED
 2fbdef7154e56225	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT
 2fbdef7154e56225	fdaf9332c09858cf	DuckDbDialect	edges	both	CheckConstraint	0	CHECK (a > 0) NO INHERIT NOT ENFORCED
 2fbdef7154e56225	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::Check	0	CHECK (a > 0) NO INHERIT NOT ENFORCED
 2fbdef7154e56225	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	a INT
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LOCALTIMESTAMP()
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LOCALTIMESTAMP()
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LOCALTIMESTAMP()
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LOCALTIMESTAMP()
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LOCALTIMESTAMP()
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LOCALTIMESTAMP()
-2fd51786fc111cd1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LOCALTIMESTAMP()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LOCALTIMESTAMP()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LOCALTIMESTAMP()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LOCALTIMESTAMP()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LOCALTIMESTAMP()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LOCALTIMESTAMP()
-2fd51786fc111cd1	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 2fef57070b8f3e78	4edff8487059a4e8	HiveDialect	edges	end	SetExpr::Select	0	SELECT * FROM source TABLESAMPLE (BUCKET 3 OUT OF 16 ON id)
 2fef57070b8f3e78	4edff8487059a4e8	HiveDialect	edges	end	TableWithJoins	0	source TABLESAMPLE (BUCKET 3 OUT OF 16 ON id)
 2fef57070b8f3e78	4edff8487059a4e8	HiveDialect	reparse	inexact	Query	0	SELECT * FROM source TABLESAMPLE (BUCKET 3 OUT OF 16 ON id)
@@ -3403,21 +2890,11 @@
 30543c61245867c9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[1:2]
 30543c61245867c9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[1:2]
 30543c61245867c9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[1:2]
-30826f911a5cef42	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	Function	0	myfunc()
 30826f911a5cef42	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	SelectItem::QualifiedWildcard	0	myfunc().foo.*
 30826f911a5cef42	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	SelectItemQualifiedWildcardKind::Expr	0	myfunc().foo.*
 30826f911a5cef42	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	start	AccessExpr::Dot	0	.foo
-30826f911a5cef42	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	myfunc()
-30826f911a5cef42	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 3086e6b3b2bd1cd0	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM t FOR BROWSE
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	AVG(revenue)
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	AVG(revenue)
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(revenue)
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	AVG(revenue)
 3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(AVG(revenue) FOR region IN ('North', 'South', 'East', 'West'))
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	AVG
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	AVG
-3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	AVG
 3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	AVG(revenue)
 3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	region
 3088875c3609cc3a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	PivotValueSource::List	0	'North', 'South', 'East', 'West'
@@ -3432,21 +2909,18 @@
 30b9ac7da46e4e98	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE(2))
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a INT IDENTITY WITH MASKING POLICY p1 USING (a, b) WITH TAG (A='TAG A', B='TAG B')
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	b TEXT COLLATE 'de_DE' PROJECTION POLICY p2 TAG (C='TAG C', D='TAG D')
-30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Collation	0	COLLATE 'de_DE'
+30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	edges	start	ColumnOption::Collation	0	COLLATE 'de_DE'
+30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	edges	start	ColumnOptionDef	0	COLLATE 'de_DE'
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Identity	0	IDENTITY
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Policy	0	PROJECTION POLICY p2
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Policy	0	WITH MASKING POLICY p1 USING (a, b)
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Tags	0	TAG (C='TAG C', D='TAG D')
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Tags	0	WITH TAG (A='TAG A', B='TAG B')
-30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	COLLATE 'de_DE'
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	IDENTITY
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	PROJECTION POLICY p2
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	TAG (C='TAG C', D='TAG D')
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	WITH MASKING POLICY p1 USING (a, b)
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	WITH TAG (A='TAG A', B='TAG B')
-30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'de_DE'
-30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'de_DE'
-30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'de_DE'
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Ident	0	b
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Ident	1	a
 30da890dec5c383d	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	A
@@ -3460,9 +2934,6 @@
 30dc6685c46a8b31	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stage
 30dc6685c46a8b31	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableFactor::Table	0	@stage(file_format => 'myformat')
 30dc6685c46a8b31	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableWithJoins	0	@stage(file_format => 'myformat')
-30eff447b597689c	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
-30eff447b597689c	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
-30eff447b597689c	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 30f7c6b7901abc79	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	AccessExpr::Subscript	0	[-1]
 30f7c6b7901abc79	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	AccessExpr::Subscript	0	[1]
 30f7c6b7901abc79	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	start	AccessExpr::Dot	0	.a
@@ -3479,7 +2950,6 @@
 30f912e1ac16b895	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	|
 30f912e1ac16b895	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	|
 3116423264af7f16	4edff8487059a4e8	HiveDialect	edges	both	AlterTableOperation::RenamePartitions	0	PARTITION (a = 2) RENAME TO PARTITION (a = 1)
-3116423264af7f16	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	's3://...'
 31183b0af3aa1505	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT segm FROM bar)
 31183b0af3aa1505	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT segm FROM bar2)
 31183b0af3aa1505	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::SetOperation	0	(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)
@@ -3501,6 +2971,8 @@
 316638093e7e418a	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	~ # x
 316638093e7e418a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	# x
 316638093e7e418a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	~ # x
+316cab930f132cce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	CreateForeignTable	0	CREATE FOREIGN TABLE ft3 (col INTEGER) SERVER remoteserver OPTIONS (schema_name 'public')
+316cab930f132cce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col INTEGER
 31782782522bcb02	4edff8487059a4e8	AnsiDialect,GenericDialect,MySqlDialect	structure	empty	Query	0	TABLE `old_table`
 31782782522bcb02	4edff8487059a4e8	AnsiDialect,GenericDialect,MySqlDialect	structure	empty	SetExpr::Table	0	TABLE `old_table`
 3187ed093e9aa87f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	~ -1
@@ -3514,13 +2986,10 @@
 3189585e9c4a7c69	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	JOIN orders ON users.id = orders.user_id
 3189585e9c4a7c69	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	orders.amount
 3189585e9c4a7c69	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	users.name
-318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	COUNT(*)
-318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE COUNT(*) AS total_users
 318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
 318c5f6048fe2809	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*) AS total_users
 318ee45a4a81e219	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	ColumnDef	0	columnA INT IDENTITY(1, 1) NOT NULL
 318ee45a4a81e219	4edff8487059a4e8	MsSqlDialect,GenericDialect	structure	empty	ColumnOption::Identity	0	IDENTITY(1, 1)
@@ -3594,10 +3063,7 @@
 32c27ab7eb1dcdd9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<=
 32c27ab7eb1dcdd9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<=
 32c27ab7eb1dcdd9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<=
-32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(d)
 32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	d DATE
-32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	toYYYYMM(d)
-32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	toYYYYMM(d)
 32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	structure	empty	CreateTableOptions::Plain	0	ENGINE = MergeTree
 32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	structure	empty	Ident	0	ENGINE
 32f0148e47cfb097	4edff8487059a4e8	ClickHouseDialect	structure	empty	Ident	0	MergeTree
@@ -3614,10 +3080,6 @@
 3316737c997685f1	fdaf9332c09858cf	DuckDbDialect	edges	both	PrimaryKeyConstraint	0	PRIMARY KEY (foo, bar)
 3316737c997685f1	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::PrimaryKey	0	PRIMARY KEY (foo, bar)
 3316737c997685f1	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	id INT
-3325f1afb6d03d98	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('"Email"')
-3325f1afb6d03d98	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	identifier('"Email"')
-3325f1afb6d03d98	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	identifier('"Email"')
-3325f1afb6d03d98	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	identifier('"Email"')
 333be4fae1965779	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::DropColumn	0	DROP COLUMN IF EXISTS is_active RESTRICT
 333be4fae1965779	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::DropColumn	0	DROP COLUMN IF EXISTS is_active RESTRICT
 333c2459524b8deb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<>
@@ -3720,20 +3182,9 @@
 34548f07a3f97998	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM (SELECT 1) AS t
 34548f07a3f97998	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (SELECT 1) AS t
 34548f07a3f97998	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Derived	0	(SELECT 1) AS t
-3455930f964cd101	4edff8487059a4e8	GenericDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a => '1', b => '2')
-3455930f964cd101	4edff8487059a4e8	GenericDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	FUN(a => '1', b => '2')
-3455930f964cd101	4edff8487059a4e8	GenericDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	FUN(a => '1', b => '2')
-3455930f964cd101	4edff8487059a4e8	GenericDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	FUN(a => '1', b => '2')
-3455930f964cd101	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a => '1', b => '2')
-3455930f964cd101	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	FUN(a => '1', b => '2')
-3455930f964cd101	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	FUN(a => '1', b => '2')
-3455930f964cd101	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	FUN(a => '1', b => '2')
-346c8065501bb849	4edff8487059a4e8	OracleDialect	edges	both	FunctionArguments::List	0	(last_name, '/')
-346c8065501bb849	4edff8487059a4e8	OracleDialect	edges	end	Function	0	SYS_CONNECT_BY_PATH(last_name, '/')
 346c8065501bb849	4edff8487059a4e8	OracleDialect	edges	start	OrderBy	0	ORDER BY "Employee", "Manager", "Pathlen", "Path"
 346c8065501bb849	4edff8487059a4e8	OracleDialect	edges	start	SelectItem::ExprWithAlias	0	CONNECT_BY_ROOT last_name AS "Manager"
 346c8065501bb849	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::BinaryOp	0	PRIOR employee_id = manager_id
-346c8065501bb849	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::Function	0	SYS_CONNECT_BY_PATH(last_name, '/')
 346c8065501bb849	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::Prefixed	0	CONNECT_BY_ROOT last_name
 346c8065501bb849	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::Prior	0	PRIOR employee_id
 346c8065501bb849	4edff8487059a4e8	OracleDialect	structure	empty	Ident	0	CONNECT_BY_ROOT
@@ -3748,13 +3199,6 @@
 34bbf34cdf93f551	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Trim	0	TRIM('  xyz  ', ' ')
 34bbf34cdf93f551	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT TRIM('  xyz  ', ' ')
 34bbf34cdf93f551	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT TRIM('  xyz  ', ' ')
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(document x)
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	xmlparse(document x) FILTER (WHERE y > 1)
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	xmlparse(document x) FILTER (WHERE y > 1)
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT xmlparse(document x) FILTER (WHERE y > 1)
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	xmlparse(document x) FILTER (WHERE y > 1)
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT xmlparse(document x) FILTER (WHERE y > 1)
-34c5f51bd932bce3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT xmlparse(document x) FILTER (WHERE y > 1)
 34d913447893900f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	OrderBy	0	ORDER BY lname ASC, fname DESC
 34d913447893900f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 2
 34d913447893900f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	fname DESC
@@ -3840,11 +3284,7 @@
 36fe8b86ea7d363d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR TO SECOND(2))
 36fe8b86ea7d363d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR TO SECOND(2))
 36fe8b86ea7d363d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR TO SECOND(2))
-3730d6381db16f1e	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-3730d6381db16f1e	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 3730d6381db16f1e	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-3730d6381db16f1e	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-3730d6381db16f1e	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 3730d6381db16f1e	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
 3758aff898188bfd	4edff8487059a4e8	MySqlDialect,TeradataDialect	reparse	inexact	Expr::BinaryOp	0	col = 'Hello World!'
 3758aff898188bfd	4edff8487059a4e8	MySqlDialect,TeradataDialect	reparse	inexact	Expr::Value	0	'Hello World!'
@@ -3857,11 +3297,7 @@
 377c430a41f21b7f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	(SELECT 1)
 378921215c292f3b	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM t FORMAT JSONCompact
 378921215c292f3b	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	outside-parent	Ident	0	JSONCompact
-378bc89137499567	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-378bc89137499567	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 378bc89137499567	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-378bc89137499567	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-378bc89137499567	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 378bc89137499567	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 37997a6900bb02d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN t2 ON c1 = c2
 37997a6900bb02d7	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN t2 ON c1 = c2
@@ -3883,10 +3319,6 @@
 37d566e8413e2a1a	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
 37d566e8413e2a1a	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY 1
 37d566e8413e2a1a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT 1 UNION (SELECT 2 ORDER BY 1 LIMIT 1)
-37daf2046d103ab7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label1'
-37daf2046d103ab7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label2'
-37daf2046d103ab7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3'
-37daf2046d103ab7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label4'
 37df34dbad364f34	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM fn()
 37df34dbad364f34	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	fn()
 37df34dbad364f34	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM fn()
@@ -3900,11 +3332,8 @@
 38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT (foo())::TEXT
 38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT (foo())::TEXT
 38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	c TEXT DEFAULT (foo())::TEXT
-38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	foo()
 38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	(foo())::TEXT
-38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo()
 38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	0	(foo())
-38034aa98b3f1a20	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
 380d0d710f36d600	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	AlterTableOperation::AddProjection	0	ADD PROJECTION my_name (SELECT a, b GROUP BY a)
 380d0d710f36d600	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY a
 380d0d710f36d600	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ProjectionSelect	0	SELECT a, b GROUP BY a
@@ -3927,6 +3356,12 @@
 383a257927e98754	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	+
 383a257927e98754	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	>
 383a257927e98754	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	>=
+38663370dbb264d5	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	t.$1:country.name::VARCHAR
+38663370dbb264d5	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	t.$1:country.name
+38663370dbb264d5	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@stg
+38663370dbb264d5	4edff8487059a4e8	SnowflakeDialect	structure	empty	JsonPath	0	:country.name
+38663370dbb264d5	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stg
+38663370dbb264d5	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stg
 386d97e4b0494a59	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 386d97e4b0494a59	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 386d97e4b0494a59	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
@@ -4005,15 +3440,8 @@
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	both	Array	0	[1, 2, 3]
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArg::Unnamed	0	[1, 2, 3]
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgExpr::Expr	0	[1, 2, 3]
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	([1, 2, 3], x -> x > 1)
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	list_filter([1, 2, 3], x -> x > 1)
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	list_filter([1, 2, 3], x -> x > 1)
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT list_filter([1, 2, 3], x -> x > 1)
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	[1, 2, 3], x -> x > 1
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Array	0	[1, 2, 3]
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	list_filter([1, 2, 3], x -> x > 1)
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT list_filter([1, 2, 3], x -> x > 1)
-39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT list_filter([1, 2, 3], x -> x > 1)
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Lambda	0	x -> x > 1
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	x -> x > 1
 39537ff40ea5dce9	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Expr	0	x -> x > 1
@@ -4102,10 +3530,6 @@
 3a57b89455f6ac42	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	f1 STRUCT<a STRING OPTIONS(description = 'This is a string', type = 'string'), b INT64> OPTIONS(description = 'This is a struct field')
 3a57b89455f6ac42	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Ident	0	a
 3a57b89455f6ac42	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Ident	0	b
-3a5a580cbd805d80	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(x1, x2)
-3a5a580cbd805d80	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	array(x1, x2)
-3a5a580cbd805d80	4edff8487059a4e8	ClickHouseDialect	edges	end	SelectItem::UnnamedExpr	0	array(x1, x2)
-3a5a580cbd805d80	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	array(x1, x2)
 3a8a88d4e691d14e	4edff8487059a4e8	BigQueryDialect	edges	both	AccessExpr::Subscript	0	[0]
 3a8a88d4e691d14e	4edff8487059a4e8	BigQueryDialect	edges	both	ExceptSelectItem	0	EXCEPT (foo)
 3a8a88d4e691d14e	4edff8487059a4e8	BigQueryDialect	edges	both	SelectItem::QualifiedWildcard	0	[STRUCT<STRING>('foo')][0].* EXCEPT (foo)
@@ -4150,13 +3574,6 @@
 3b46f132021663eb	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stage
 3b46f132021663eb	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stage
 3b58deebcae371ec	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS END
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::Subquery	0	(SELECT 1, 2)
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	func(SELECT 1, 2)
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	func(SELECT 1, 2)
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT func(SELECT 1, 2)
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	func(SELECT 1, 2)
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT func(SELECT 1, 2)
-3b6e418c7b6be58d	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT func(SELECT 1, 2)
 3b9f2e24b1bbd83f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 3b9f2e24b1bbd83f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>=
 3b9f2e24b1bbd83f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	1	<
@@ -4166,11 +3583,6 @@
 3b9f2e24b1bbd83f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
 3b9f2e24b1bbd83f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>=
 3b9f2e24b1bbd83f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	1	<
-3ba59b8752232187	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	name COLLATE "de_DE"
-3ba59b8752232187	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Collate	0	name COLLATE "de_DE"
-3ba59b8752232187	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"de_DE"
-3ba59b8752232187	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"de_DE"
-3ba59b8752232187	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"de_DE"
 3bb3d5a73127654a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL SECOND(1)
 3bdbfc416308ad48	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@````
 3bdbfc416308ad48	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@````
@@ -4269,12 +3681,7 @@
 3d28dd7aea0ce4e5	4edff8487059a4e8	ClickHouseDialect	structure	empty	Ident	0	ENGINE
 3d28dd7aea0ce4e5	4edff8487059a4e8	ClickHouseDialect	structure	empty	Ident	0	MergeTree
 3d28dd7aea0ce4e5	4edff8487059a4e8	ClickHouseDialect	structure	empty	SqlOption::NamedParenthesizedList	0	ENGINE = MergeTree
-3d39ebc427ceb3cc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1, 'a')
-3d39ebc427ceb3cc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	my_procedure(1, 'a')
-3d39ebc427ceb3cc	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1, 'a')
-3d39ebc427ceb3cc	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	my_procedure(1, 'a')
 3d42c0cab95d5817	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR(1)
-3d4ca0d0ec52dc44	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label5'
 3d52adc048df9f57	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	AlterTableOperation::AddConstraint	0	ADD PRIMARY KEY USING INDEX my_index
 3d52adc048df9f57	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	TableConstraint::PrimaryKeyUsingIndex	0	PRIMARY KEY USING INDEX my_index
 3d57f818767a02ce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ForValues::From	0	FOR VALUES FROM ('2024-01-01') TO (MAXVALUE)
@@ -4289,18 +3696,20 @@
 3db08de397584d27	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectInto	0	INTO :h1, :h2
 3dc02b0e2b24637c	4edff8487059a4e8	SparkSqlDialect	edges	end	ColumnDef	0	id BIGINT
 3dc02b0e2b24637c	4edff8487059a4e8	SparkSqlDialect	edges	end	ColumnDef	0	val BIGINT
+3dfd96b978ec281f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	reparse	inexact	Expr::Trim	0	TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	reparse	inexact	Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Trim	0	TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+3dfd96b978ec281f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
 3e3834f98ec0defe	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	PrimaryKeyConstraint	0	PRIMARY KEY (x)
 3e3834f98ec0defe	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	TableConstraint::PrimaryKey	0	PRIMARY KEY (x)
 3e3834f98ec0defe	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	end	ColumnDef	0	x INT
-3e52d36057d81f15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(id)
-3e52d36057d81f15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	sqrt(id)
-3e52d36057d81f15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-3e52d36057d81f15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 3e52d36057d81f15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	-100.1
-3e52d36057d81f15	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-3e52d36057d81f15	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-3e52d36057d81f15	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-3e52d36057d81f15	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 3e52d36057d81f15	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-100.1
 3e536dfbd123a998	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE NOT DEFERRABLE
 3e536dfbd123a998	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE NOT DEFERRABLE
@@ -4430,7 +3839,6 @@
 403647f4d885b13e	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stg
 403647f4d885b13e	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stg
 403647f4d885b13e	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
-4050578da761f10d	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'postgres://user.name:pass-word@some.url.com:5432/postgres'
 40885086f023c214	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL HOUR TO SECOND(1))
 40885086f023c214	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL HOUR TO SECOND(1))
 40885086f023c214	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR TO SECOND(1))
@@ -4441,22 +3849,8 @@
 408a540bb0aa6a2a	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	index1
 408a540bb0aa6a2a	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	1	index1
 408a540bb0aa6a2a	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	2	index1
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(DISTINCT dateid)
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(DISTINCT dateid)
 4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentList	0	DISTINCT dateid
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(DISTINCT dateid)
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(DISTINCT dateid)
 4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	DISTINCT dateid
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(DISTINCT dateid)
-4097b2a52ebf64a8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(DISTINCT dateid)
 409b5fb14a3029a6	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	Join	0	OUTER APPLY (SELECT foo.x + 1) AS bar
 409b5fb14a3029a6	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	TableAlias	0	AS bar
 409b5fb14a3029a6	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	TableFactor::Derived	0	(SELECT foo.x + 1) AS bar
@@ -4464,6 +3858,7 @@
 40b218478be344f4	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	FULLTEXT (id)
 40b218478be344f4	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::FulltextOrSpatial	0	FULLTEXT (id)
 40b218478be344f4	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
+40babe52ddad0420	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 40c81f5e323c95f1	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	FULLTEXT INDEX potato (id)
 40c81f5e323c95f1	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::FulltextOrSpatial	0	FULLTEXT INDEX potato (id)
 40c81f5e323c95f1	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
@@ -4487,27 +3882,8 @@
 4139a297756e8b65	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
 413cb0e1509af5e8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN id ADD GENERATED BY DEFAULT AS IDENTITY
 413cb0e1509af5e8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterColumnOperation::AddGenerated	0	ADD GENERATED BY DEFAULT AS IDENTITY
-41558780855f6a8a	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-41558780855f6a8a	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 41558780855f6a8a	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-41558780855f6a8a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-41558780855f6a8a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 41558780855f6a8a	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
-417e6692e37228d1	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	HiveDialect	structure	empty	ObjectName	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	HiveDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	MsSqlDialect	structure	empty	Ident	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectName	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectName	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'CATALOG'
-417e6692e37228d1	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-417e6692e37228d1	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'CATALOG'
-417e6692e37228d1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'CATALOG'
-417e6692e37228d1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
 41852b6f2310f223	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT c CHECK (id > 0) NO INHERIT
 41852b6f2310f223	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	CheckConstraint	0	CONSTRAINT c CHECK (id > 0) NO INHERIT
 41852b6f2310f223	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Check	0	CONSTRAINT c CHECK (id > 0) NO INHERIT
@@ -4520,20 +3896,6 @@
 423477056b03f86a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOptionDef	0	DEFAULT ARRAY[]::INT[]
 423477056b03f86a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Expr::Array	0	ARRAY[]
 423477056b03f86a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Expr::Cast	0	ARRAY[]::INT[]
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	xmlparse(1)
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	xmlparse(1)
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT xmlparse(1)
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	xmlparse(1)
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT xmlparse(1)
-423e1900916beb1b	4edff8487059a4e8	MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT xmlparse(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	xmlparse(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	xmlparse(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT xmlparse(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	xmlparse(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT xmlparse(1)
-423e1900916beb1b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT xmlparse(1)
 42410193b8259d1c	4edff8487059a4e8	MySqlDialect	edges	both	TableAlias	0	AS t (a, b, c)
 42410193b8259d1c	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT a, c FROM (VALUES ROW(1, true, 'a'), ROW(2, false, 'b'), ROW(3, false, 'c')) AS t (a, b, c)
 42410193b8259d1c	4edff8487059a4e8	MySqlDialect	edges	end	TableWithJoins	0	(VALUES ROW(1, true, 'a'), ROW(2, false, 'b'), ROW(3, false, 'c')) AS t (a, b, c)
@@ -4553,16 +3915,8 @@
 424103de8e88a22f	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOption::Generated	0	GENERATED ALWAYS AS (a * 2) STORED
 424103de8e88a22f	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	GENERATED ALWAYS AS (a * 2) STORED
 424103de8e88a22f	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	outside-parent	Expr::BinaryOp	0	a * 2
-424262cbd78812f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(salary WHERE dept = 1)
-424262cbd78812f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(salary WHERE dept = 1)
-424262cbd78812f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(salary WHERE dept = 1)
 424262cbd78812f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentClause::Where	0	WHERE dept = 1
-424262cbd78812f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(salary WHERE dept = 1)
-424262cbd78812f1	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(salary WHERE dept = 1)
-424262cbd78812f1	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(salary WHERE dept = 1)
-424262cbd78812f1	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(salary WHERE dept = 1)
 424262cbd78812f1	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Where	0	WHERE dept = 1
-424262cbd78812f1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(salary WHERE dept = 1)
 4254d728d6eb460b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT foo FROM bar FETCH FIRST ROWS WITH TIES
 4254d728d6eb460b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Fetch	0	FETCH FIRST ROWS WITH TIES
 4254d728d6eb460b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT foo FROM bar FETCH FIRST ROWS WITH TIES
@@ -4589,6 +3943,8 @@
 42af3c6e984a93e7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	DEFERRABLE INITIALLY DEFERRED
 42af3c6e984a93e7	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () DEFERRABLE INITIALLY DEFERRED
 42d5659b26832869	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR
+42de38e0f516c913	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! !o
+42de38e0f516c913	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!o
 42e1f94b4ea3d1b5	4edff8487059a4e8	BigQueryDialect	edges	both	ColumnOption::Options	0	OPTIONS(description = "field x")
 42e1f94b4ea3d1b5	4edff8487059a4e8	BigQueryDialect	edges	both	ColumnOption::Options	0	OPTIONS(description = "field y")
 42e1f94b4ea3d1b5	4edff8487059a4e8	BigQueryDialect	edges	both	ColumnOptionDef	0	OPTIONS(description = "field x")
@@ -4598,10 +3954,6 @@
 42e1f94b4ea3d1b5	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	y BOOL OPTIONS(description = "field y")
 42e1f94b4ea3d1b5	4edff8487059a4e8	BigQueryDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 42e1f94b4ea3d1b5	4edff8487059a4e8	BigQueryDialect	structure	empty	ColumnOptionDef	0	NOT NULL
-42f0238618456e2c	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	('x', a, 'y', b, 'z', c)
-42f0238618456e2c	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	named_struct('x', a, 'y', b, 'z', c)
-42f0238618456e2c	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	named_struct('x', a, 'y', b, 'z', c)
-42f0238618456e2c	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	named_struct('x', a, 'y', b, 'z', c)
 4310e5f145b2ab81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> UNPIVOT(amount FOR period IN (Q1, Q2)) AS unpivoted_sales
 4310e5f145b2ab81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	Q1
 4310e5f145b2ab81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	Q2
@@ -4682,39 +4034,10 @@
 44546b89c86be574	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	TableWithJoins	0	employees PARTITION (p0)
 44546b89c86be574	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	TableFactor::Table	0	employees PARTITION (p0)
 44546b89c86be574	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	outside-parent	Ident	0	p0
-4454b962e0f826d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-4454b962e0f826d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-4454b962e0f826d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-4454b962e0f826d8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-4454b962e0f826d8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-4454b962e0f826d8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-4454b962e0f826d8	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-4454b962e0f826d8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 445676a7360985d9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL SECOND(0)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	0	(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	0	(price_date)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	1	(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	1	(price_date)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	FIRST(price_date)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	LAST(price_date)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	MATCH_NUMBER()
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	1	LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PARTITION BY company ORDER BY price_date MEASURES MATCH_NUMBER() AS match_number, FIRST(price_date) AS start_date, LAST(price_date) AS end_date ONE ROW PER MATCH AFTER MATCH SKIP TO LAST row_with_price_increase PATTERN (row_before_decrease row_with_price_decrease+ row_with_price_increase+) DEFINE row_with_price_decrease AS price < LAG(price), row_with_price_increase AS price > LAG(price))
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SymbolDefinition	0	row_with_price_decrease AS price < LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SymbolDefinition	0	row_with_price_increase AS price > LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	TableWithJoins	0	my_table MATCH_RECOGNIZE(PARTITION BY company ORDER BY price_date MEASURES MATCH_NUMBER() AS match_number, FIRST(price_date) AS start_date, LAST(price_date) AS end_date ONE ROW PER MATCH AFTER MATCH SKIP TO LAST row_with_price_increase PATTERN (row_before_decrease row_with_price_decrease+ row_with_price_increase+) DEFINE row_with_price_decrease AS price < LAG(price), row_with_price_increase AS price > LAG(price))
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::BinaryOp	0	price < LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::BinaryOp	0	price > LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	FIRST(price_date)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	LAG(price)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	LAST(price_date)
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	MATCH_NUMBER()
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	1	LAG(price)
 44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Query	0	SELECT * FROM my_table MATCH_RECOGNIZE(PARTITION BY company ORDER BY price_date MEASURES MATCH_NUMBER() AS match_number, FIRST(price_date) AS start_date, LAST(price_date) AS end_date ONE ROW PER MATCH AFTER MATCH SKIP TO LAST row_with_price_increase PATTERN (row_before_decrease row_with_price_decrease+ row_with_price_increase+) DEFINE row_with_price_decrease AS price < LAG(price), row_with_price_increase AS price > LAG(price))
 44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PARTITION BY company ORDER BY price_date MEASURES MATCH_NUMBER() AS match_number, FIRST(price_date) AS start_date, LAST(price_date) AS end_date ONE ROW PER MATCH AFTER MATCH SKIP TO LAST row_with_price_increase PATTERN (row_before_decrease row_with_price_decrease+ row_with_price_increase+) DEFINE row_with_price_decrease AS price < LAG(price), row_with_price_increase AS price > LAG(price))
 44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	TableFactor::MatchRecognize	0	my_table MATCH_RECOGNIZE(PARTITION BY company ORDER BY price_date MEASURES MATCH_NUMBER() AS match_number, FIRST(price_date) AS start_date, LAST(price_date) AS end_date ONE ROW PER MATCH AFTER MATCH SKIP TO LAST row_with_price_increase PATTERN (row_before_decrease row_with_price_decrease+ row_with_price_increase+) DEFINE row_with_price_decrease AS price < LAG(price), row_with_price_increase AS price > LAG(price))
-44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	FunctionArguments::List	0	()
 44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Concat	0	row_before_decrease row_with_price_decrease+ row_with_price_increase+
 44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	row_with_price_decrease+
 44571dc14d646319	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	row_with_price_increase+
@@ -4769,11 +4092,10 @@
 45726cda09bde15e	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	Q4
 45726cda09bde15e	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarter
 45726cda09bde15e	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	revenue
-459b2034d498e89d	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-459b2034d498e89d	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
+457a6a05d3b4bab0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	CheckConstraint	0	CONSTRAINT c CHECK (id > 0)
+457a6a05d3b4bab0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Check	0	CONSTRAINT c CHECK (id > 0)
+457a6a05d3b4bab0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	CreateForeignTable	0	CREATE FOREIGN TABLE ft (CONSTRAINT c CHECK (id > 0)) SERVER s
 459b2034d498e89d	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-459b2034d498e89d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-459b2034d498e89d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 459b2034d498e89d	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 459b83d19909d9f3	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	x INT64
 459b83d19909d9f3	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	y INT64
@@ -4788,6 +4110,16 @@
 45c97662b1a7940f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(a.b METRICS c.d, c.e)
 45c97662b1a7940f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM SEMANTIC_VIEW(a.b METRICS c.d, c.e)
 45c97662b1a7940f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(a.b METRICS c.d, c.e)
+45cf9a41e1cf839f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	reparse	inexact	Expr::Trim	0	TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,SQLiteDialect,ClickHouseDialect	reparse	inexact	Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Trim	0	TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
+45cf9a41e1cf839f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT TRIM(BOTH 'yxTomxx', 'xyz')
 45d570be3f0613b6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::OwnerTo	0	OWNER TO "new_owner"
 45dc6d38fa279403	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO HOUR(1)
 45e242d04b73fcf4	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	both	JsonPath	0	[0].a[1].b
@@ -4809,17 +4141,10 @@
 466940b3f5f15c01	4edff8487059a4e8	ClickHouseDialect	structure	empty	Expr::Dictionary	0	{"first": 1}
 467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	both	AccessExpr::Subscript	0	[-1]
 467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	both	AccessExpr::Subscript	0	[SAFE_OFFSET(2)]
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(2)
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	SAFE_OFFSET(2)
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	myfunc()
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	end	Subscript::Index	0	SAFE_OFFSET(2)
 467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	start	AccessExpr::Dot	0	.a
 467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	start	AccessExpr::Dot	0	.b
 467b014477043c81	4edff8487059a4e8	BigQueryDialect	edges	start	Subscript::Index	0	-1
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	SAFE_OFFSET(2)
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	myfunc()
 467b014477043c81	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::UnaryOp	0	-1
-467b014477043c81	4edff8487059a4e8	BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 467ba593841e4b98	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL DAY TO HOUR
 467ba593841e4b98	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL DAY TO HOUR
 467ba593841e4b98	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL DAY TO HOUR
@@ -4865,22 +4190,6 @@
 4759f3611e4833d0	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN description desc TEXT NOT NULL AFTER total_count
 4759f3611e4833d0	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 4759f3611e4833d0	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	total_count
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	($123.45)
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	CEILING($123.45)
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	CEILING($123.45)
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT CEILING($123.45)
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	CEILING($123.45)
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT CEILING($123.45)
-47845ef7a76048ba	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT CEILING($123.45)
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'))
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'))
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	TIMESTAMP => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	TIMESTAMP => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'))
-4785f982963681b9	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
 4793de6748ce4999	4edff8487059a4e8	BigQueryDialect	edges	end	SetExpr::Select	0	SELECT STRUCT<NUMERIC>(NUMERIC '1'), STRUCT<BIGNUMERIC>(BIGNUMERIC '1')
 4793de6748ce4999	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::TypedString	0	BIGNUMERIC '1'
 4793de6748ce4999	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::TypedString	0	NUMERIC '1'
@@ -4940,11 +4249,7 @@
 47fba94e1aca723a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	foo TEXT
 47fba94e1aca723a	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN foo TEXT
 47fba94e1aca723a	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo TEXT
-4828fe0388089d12	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-4828fe0388089d12	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 4828fe0388089d12	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-4828fe0388089d12	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-4828fe0388089d12	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 4828fe0388089d12	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
 4838c8e28e016c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	-expr
 4838c8e28e016c69	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-expr
@@ -4968,25 +4273,15 @@
 486d39696f25b477	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[1][2]
 486d39696f25b477	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[1][2]
 4882563e30921013	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	AlterSchemaOperation::SetOptionsParens	0	SET OPTIONS (location = 'us')
-48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(INFORMATION => DEFAULT)
-48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
-48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
-48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	CHANGES(INFORMATION => DEFAULT)
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	t CHANGES(INFORMATION => DEFAULT) AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
-48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
-48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	t CHANGES(INFORMATION => DEFAULT) AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	AT(STATEMENT => '8e5d0ca9-005e-44e6-b858-a8f5b37c5726')
 48849a43053a0ba2	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
 48ac60c45deea589	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON distribute.id = tbl_name_2.id
-48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('year', col)
-48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	SEMANTIC_VIEW(model FACTS DATE_PART('year', col))
-48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	DATE_PART('year', col)
-48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM SEMANTIC_VIEW(model FACTS DATE_PART('year', col))
-48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	DATE_PART('year', col)
+48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	SEMANTIC_VIEW(model FACTS DATE_PART('year', col))
 48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(model FACTS DATE_PART('year', col))
 48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM SEMANTIC_VIEW(model FACTS DATE_PART('year', col))
 48dfcbca76c728d4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(model FACTS DATE_PART('year', col))
@@ -5076,18 +4371,6 @@
 49ce142748c0c055	4edff8487059a4e8	MySqlDialect	structure	outside-parent	TableAlias	0	AS t
 49ce142748c0c055	4edff8487059a4e8	MySqlDialect	structure	outside-parent	ValueWithSpan	0	'$'
 49ce142748c0c055	4edff8487059a4e8	MySqlDialect	structure	outside-parent	ValueWithSpan	0	'$[*]'
-49ddc5d91cb2f520	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-49ddc5d91cb2f520	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.interval ORDER BY T.id)
-49ddc5d91cb2f520	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.interval ORDER BY T.id)
-49ddc5d91cb2f520	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.interval ORDER BY T.id)
-49ddc5d91cb2f520	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.interval
-49ddc5d91cb2f520	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-49ddc5d91cb2f520	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-49ddc5d91cb2f520	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.interval ORDER BY T.id)
-49ddc5d91cb2f520	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.interval ORDER BY T.id)
-49ddc5d91cb2f520	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.interval ORDER BY T.id)
-49ddc5d91cb2f520	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.interval
-49ddc5d91cb2f520	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
 49f87e59f5d2480a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(MILLISECOND FROM d)
 49f87e59f5d2480a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(MILLISECOND FROM d)
 49f87e59f5d2480a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Extract	0	EXTRACT(MILLISECOND FROM d)
@@ -5101,10 +4384,7 @@
 49f925b9b221ba91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	ColumnDef	0	data FLOAT[1536]
 49f925b9b221ba91	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	data FLOAT[1536]
 4a1f7d72d67a4833	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::DetachPartition	0	DETACH PART part
-4a5acec5f34ca5f1	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(c)
 4a5acec5f34ca5f1	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a INT
-4a5acec5f34ca5f1	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	my_func(c)
-4a5acec5f34ca5f1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	my_func(c)
 4a5ba617c4d17c42	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> UNPIVOT(amount FOR period IN (jan, feb, mar, apr, may, jun))
 4a5ba617c4d17c42	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	amount
 4a5ba617c4d17c42	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	apr
@@ -5130,8 +4410,6 @@
 4a9c5021d43d8e5d	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 )
 4a9c5021d43d8e5d	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 )
 4a9c5021d43d8e5d	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	1
-4ab6032bc1da8e95	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(col1 + col2)
-4ab6032bc1da8e95	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	transform_data(col1 + col2)
 4ab6032bc1da8e95	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL transform_data(col1 + col2)
 4ab6032bc1da8e95	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	transform_data(col1 + col2)
 4ac7e7daaff4c95d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	start	SelectItem::UnnamedExpr	0	INTERVAL '1 MONTH'
@@ -5213,22 +4491,14 @@
 4b84350623947dc0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 4b84350623947dc0	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	-0
 4b84350623947dc0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
-4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c)
 4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(c)
-4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(c)
 4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(c)
 4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), (c), ())
 4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
 4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
 4b8af1b5e2321a2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), (c), ())
-4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c)
 4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(c)
-4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(c)
 4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(c)
 4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), (c), ())
 4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
 4b8af1b5e2321a2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
@@ -5248,20 +4518,15 @@
 4bf8a7cc8b4e9c74	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Cast	0	TRY_CAST(id AS DEC)
 4bf8a7cc8b4e9c74	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	TRY_CAST(id AS DEC)
 4bf8a7cc8b4e9c74	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	TRY_CAST(id AS DEC)
-4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(quantity)
+4c058a83f4687732	4edff8487059a4e8	ClickHouseDialect	edges	both	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY (region, user.id)
 4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
-4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sum(quantity)
 4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT city, car_model, sum(quantity) AS sum FROM dealer GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
 4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY city
-4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sum(quantity)
 4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((city, car_model), (city), (car_model), ())
 4c0d45f6fbe2f460	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT city, car_model, sum(quantity) AS sum FROM dealer GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
-4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(quantity)
 4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
-4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sum(quantity)
 4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT city, car_model, sum(quantity) AS sum FROM dealer GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
 4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY city
-4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sum(quantity)
 4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((city, car_model), (city), (car_model), ())
 4c0d45f6fbe2f460	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT city, car_model, sum(quantity) AS sum FROM dealer GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
 4c23c76ee6199710	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 2222
@@ -5276,22 +4541,14 @@
 4c3d40760a5c21f7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Cast	0	CAST(id AS DECIMAL)
 4c3d40760a5c21f7	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	CAST(id AS DECIMAL)
 4c3d40760a5c21f7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	CAST(id AS DECIMAL)
-4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c)
 4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(c)
-4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(c)
 4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(c)
 4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), (c), ())
 4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
 4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
 4c4fdb1b5bb97f91	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), (c), ())
-4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c)
 4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(c)
-4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(c)
 4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
-4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(c)
 4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), (c), ())
 4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
 4c4fdb1b5bb97f91	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), (c), ())
@@ -5306,15 +4563,8 @@
 4c6aa39d909a971b	4edff8487059a4e8	SnowflakeDialect	edges	both	Fetch	0	FETCH FIRST 2 ROWS ONLY
 4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArg::Unnamed	0	(SELECT @@SPID)
 4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArgExpr::Expr	0	(SELECT @@SPID)
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	(1, @id_value, (SELECT @@SPID))
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY(1, @id_value, (SELECT @@SPID))
 4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	1, @id_value, (SELECT @@SPID)
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY(1, @id_value, (SELECT @@SPID))
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID))
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY(1, @id_value, (SELECT @@SPID))
 4c7078b053034927	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Subquery	0	(SELECT @@SPID)
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID))
-4c7078b053034927	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID))
 4c711b3b8415cd81	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	bar INT
 4c9256211d9fb958	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableWithJoins	0	(WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
 4c9256211d9fb958	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM (WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
@@ -5326,6 +4576,8 @@
 4c9256211d9fb958	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM (WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
 4c9256211d9fb958	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM (WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
 4c9256211d9fb958	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Derived	0	(WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
+4c99f3e80e09d2fc	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col INTEGER
+4c99f3e80e09d2fc	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	CreateForeignTable	0	CREATE FOREIGN TABLE IF NOT EXISTS ft2 (col INTEGER) SERVER remoteserver
 4caa6163cd9c688f	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	col1 STRUCT<outer STRUCT<inner STRING>>
 4caa6163cd9c688f	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	inner
 4caa6163cd9c688f	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	outer
@@ -5390,31 +4642,9 @@
 4e4fc5ac905c5df9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 4e4fc5ac905c5df9	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 4e4fc5ac905c5df9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
-4e5ac062ad2a07bf	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-4e5ac062ad2a07bf	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 4e5ac062ad2a07bf	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-4e5ac062ad2a07bf	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-4e5ac062ad2a07bf	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 4e5ac062ad2a07bf	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
-4e6cb5d0c07e197a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-4e6cb5d0c07e197a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-4e6cb5d0c07e197a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-4e6cb5d0c07e197a	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-4e6cb5d0c07e197a	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-4e6cb5d0c07e197a	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-4e7537e8b9509ab9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-4e7537e8b9509ab9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-4e7537e8b9509ab9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-4e7537e8b9509ab9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-4e7537e8b9509ab9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-4e7537e8b9509ab9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-4e7537e8b9509ab9	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-4e7537e8b9509ab9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(col1)
 4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	edges	both	SelectItem::UnnamedExpr	0	-(col1)
-4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	negative(col1)
-4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	negative(col1)
-4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	negative(col1)
 4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Nested	0	(col1)
 4eaa5f86d29255f9	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::UnaryOp	0	-(col1)
 4eb52d19d748f5cb	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	||/ a
@@ -5433,21 +4663,6 @@
 4f31c2376b395dce	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL SECOND(0))
 4f416cf7810ea7b3	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON sample.id = tbl_name_2.id
 4f416cf7810ea7b3	4edff8487059a4e8	PostgreSqlDialect	edges	start	TableAlias	0	AS sample
-4f4fffcab44452d2	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	HiveDialect	structure	empty	ObjectName	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	HiveDialect	structure	empty	ObjectNamePart::Identifier	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	MsSqlDialect	structure	empty	Ident	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectName	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectNamePart::Identifier	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectName	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'mydb'
-4f4fffcab44452d2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'mydb'
-4f4fffcab44452d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'mydb'
-4f4fffcab44452d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'mydb'
-4f4fffcab44452d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'mydb'
 4f5c963142a71676	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY GROUPING SETS ((a), (b), (c))
 4f5c963142a71676	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT a, b FROM t GROUP BY GROUPING SETS ((a), (b), (c))
 4f5c963142a71676	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a), (b), (c))
@@ -5459,8 +4674,12 @@
 4f5c963142a71676	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a, b FROM t GROUP BY GROUPING SETS ((a), (b), (c))
 4f5c963142a71676	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a, b FROM t GROUP BY GROUPING SETS ((a), (b), (c))
 4f660238ffcdce4a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO HOUR(6)
-4f89a2d4dc105107	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	empty	AlterSchemaOperation::AddReplica	0	ADD REPLICA 'us'
-4f89a2d4dc105107	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	empty	Ident	0	'us'
+4f73373669e472a9	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::ExprWithAlias	0	N AS 'hello'
+4f73373669e472a9	4edff8487059a4e8	SQLiteDialect	edges	end	SetExpr::Select	0	SELECT N AS 'hello'
+4f73373669e472a9	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT N AS 'hello'
+4f73373669e472a9	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT N AS 'hello'
+4f73373669e472a9	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	'hello'
+4f89a2d4dc105107	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	start	AlterSchemaOperation::AddReplica	0	ADD REPLICA 'us'
 4f8cf4787ba2a996	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS a
 4f8cf4787ba2a996	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS a
 4feaef78a5494a82	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@~
@@ -5481,6 +4700,15 @@
 4ff55b0ac9a13e69	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	TableAlias	0	AS p
 4ff55b0ac9a13e69	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	TableAlias	0	AS r
 4ff55b0ac9a13e69	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	TableAlias	0	AS s
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	edges	end	ColumnDef	0	'id' INT UNSIGNED NOT NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	edges	end	ColumnDef	0	'name' TEXT NOT NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	edges	end	ColumnDef	0	'zip' INT UNSIGNED NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOption::NotNull	1	NOT NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOption::Null	0	NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	NOT NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	NULL
+5016c3abbbae61dd	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	1	NOT NULL
 501f18c6b8583a7a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(YEAR FROM d)
 501f18c6b8583a7a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(YEAR FROM d)
 501f18c6b8583a7a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Extract	0	EXTRACT(YEAR FROM d)
@@ -5532,6 +4760,11 @@
 50d6973f750ad6d6	fdaf9332c09858cf	DuckDbDialect	structure	empty	AccessExpr::Subscript	1	[:]
 50d6973f750ad6d6	fdaf9332c09858cf	DuckDbDialect	structure	empty	Subscript::Slice	0	:
 50d6973f750ad6d6	fdaf9332c09858cf	DuckDbDialect	structure	empty	Subscript::Slice	1	:
+50f1f1bd624ed297	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	city VARCHAR NOT NULL
+50f1f1bd624ed297	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	o OBJECT(city VARCHAR NOT NULL)
+50f1f1bd624ed297	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
+50f1f1bd624ed297	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	ColumnOptionDef	0	NOT NULL
+50f1f1bd624ed297	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	outside-parent	ColumnDef	0	city VARCHAR NOT NULL
 510741d871aabf59	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(DAY FROM d)
 510741d871aabf59	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(DAY FROM d)
 510741d871aabf59	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Extract	0	EXTRACT(DAY FROM d)
@@ -5542,49 +4775,34 @@
 510741d871aabf59	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Extract	0	EXTRACT(DAY FROM d)
 510741d871aabf59	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT EXTRACT(DAY FROM d)
 510741d871aabf59	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXTRACT(DAY FROM d)
+512ac6f543227659	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	k NUMBER
+512ac6f543227659	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::Map(VARCHAR, OBJECT(k NUMBER))
+512ac6f543227659	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::Map(VARCHAR, OBJECT(k NUMBER))
+512ac6f543227659	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	k NUMBER
+512ac6f543227659	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 512fb3c29800ac16	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY(2))
 512fb3c29800ac16	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY(2))
 512fb3c29800ac16	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY(2))
 512fb3c29800ac16	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL DAY(2))
 512fb3c29800ac16	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL DAY(2))
-51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	merge_action()
-51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	merge_action()
 51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	w.*
 51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS s
 51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS w
 51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (s.winename, s.stock_delta)
-51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	merge_action()
-51410fe5cdfd0192	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	merge_action()
-51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	merge_action()
 51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	w.*
 51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS s
 51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS w
 51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUES (s.winename, s.stock_delta)
-51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	merge_action()
-51410fe5cdfd0192	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 516e8e72695ff01e	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column30 TEXT
 516e8e72695ff01e	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	priceInDollar NUMERIC
 516e8e72695ff01e	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	princeInPound NUMERIC GENERATED ALWAYS AS (priceInDollar * 0.22) STORED
 516e8e72695ff01e	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED ALWAYS AS (priceInDollar * 0.22) STORED
 516e8e72695ff01e	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	GENERATED ALWAYS AS (priceInDollar * 0.22) STORED
 516e8e72695ff01e	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::BinaryOp	0	priceInDollar * 0.22
-517257895ff8c08f	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(my_schema.sections_tbl.*)
-517257895ff8c08f	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	GREATEST(my_schema.sections_tbl.*)
 517257895ff8c08f	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArg::Unnamed	0	my_schema.sections_tbl.*
 517257895ff8c08f	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgExpr::QualifiedWildcard	0	my_schema.sections_tbl.*
 517257895ff8c08f	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgumentList	0	my_schema.sections_tbl.*
-517257895ff8c08f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	GREATEST(my_schema.sections_tbl.*)
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	COUNT(IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	FunctionArg::Unnamed	0	IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	FunctionArgExpr::Expr	0	IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	FunctionArgumentList	0	IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)
 519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	FunctionArgumentList	0	MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	COUNT(IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL))
-519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	IF(MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE), 1, NULL)
 519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Expr::MatchAgainst	0	MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE)
 519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	FunctionArg::Unnamed	0	MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE)
 519e76916b5e1e65	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	FunctionArgExpr::Expr	0	MATCH (title, body) AGAINST ('database' IN NATURAL LANGUAGE MODE)
@@ -5605,13 +4823,10 @@
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT (foo())::TEXT
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT (foo())::TEXT
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	c TEXT DEFAULT (foo())::TEXT NOT NULL
-51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	foo()
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	(foo())::TEXT
-51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo()
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	0	(foo())
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	NOT NULL
-51fd68a2193fe3e8	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
 52004e159205ca1e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableAlias	0	t (x)
 52004e159205ca1e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FromTable::WithFromKeyword	0	FROM q
 52004e159205ca1e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InSubquery	0	id IN (SELECT x FROM t)
@@ -5677,9 +4892,7 @@
 52dd75b22b9ef60f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Extract	0	EXTRACT(TIMEZONE_MINUTE FROM d)
 52dd75b22b9ef60f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT EXTRACT(TIMEZONE_MINUTE FROM d)
 52dd75b22b9ef60f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXTRACT(TIMEZONE_MINUTE FROM d)
-52f3513154e0c498	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	namespace.func()
 52f3513154e0c498	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL namespace.func() AS my_alias
-52f3513154e0c498	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
 52f3513154e0c498	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	namespace.func()
 52f3513154e0c498	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	my_alias
 53174522f9d5532b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>>
@@ -5694,38 +4907,23 @@
 5391341c00628635	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	SEMI JOIN t2 ON c1 = c2
 53a91d149fa13db0	4edff8487059a4e8	HiveDialect	edges	start	TableAlias	0	AS t
 53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Subscript	0	[1:array_length(arr)]
-53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(arr)
-53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	array_length(arr)
 53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	arr[1:array_length(arr)]
 53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT arr[1:array_length(arr)]
-53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Subscript::Slice	0	1:array_length(arr)
 53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[1:array_length(arr)]
-53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	array_length(arr)
 53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT arr[1:array_length(arr)]
 53ad225523a5277b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT arr[1:array_length(arr)]
 53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Subscript	0	[1:array_length(arr)]
-53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(arr)
-53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	array_length(arr)
 53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	arr[1:array_length(arr)]
 53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT arr[1:array_length(arr)]
-53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	edges	end	Subscript::Slice	0	1:array_length(arr)
 53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[1:array_length(arr)]
-53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	array_length(arr)
 53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[1:array_length(arr)]
 53ad225523a5277b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[1:array_length(arr)]
-53bf791f58dfc54b	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'cluster'
-53d03c25d39f129e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	AlterTableOperation::ClusterBy	0	CLUSTER BY (c1, "c2", TO_DATE(c3))
-53d03c25d39f129e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	FunctionArguments::List	0	(c3)
-53d03c25d39f129e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	Function	0	TO_DATE(c3)
-53d03c25d39f129e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Expr::Function	0	TO_DATE(c3)
+53d03c25d39f129e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	AlterTableOperation::ClusterBy	0	CLUSTER BY (c1, "c2", TO_DATE(c3))
 53dc975fffd66bdf	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	a:"my long object key name"
 53dc975fffd66bdf	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Expr::JsonAccess	0	a:"my long object key name"
 53dc975fffd66bdf	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	structure	empty	JsonPath	0	:"my long object key name"
 53eeafb9405d9b62	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	bar TINYTEXT
-53fb6b092d53ca73	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
 53fb6b092d53ca73	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	some_alias
-53fb6b092d53ca73	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
-53fb6b092d53ca73	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 53fc86cddf3107cd	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 53fc86cddf3107cd	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 53fc86cddf3107cd	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
@@ -5734,11 +4932,8 @@
 5412580c1b07ed3e	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	b INT
 541874161ff0957e	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> EXTEND id + 1 AS new_id
 541874161ff0957e	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::ExprWithAlias	0	id + 1 AS new_id
-5418f5c2a9a38f1c	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('year', date_col)
-5418f5c2a9a38f1c	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	DATE_PART('year', date_col)
 5418f5c2a9a38f1c	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS model_alias
 5418f5c2a9a38f1c	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	SEMANTIC_VIEW(my_model DIMENSIONS DATE_PART('year', date_col), region_name METRICS orders.revenue, orders.count WHERE active = true) AS model_alias
-5418f5c2a9a38f1c	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	DATE_PART('year', date_col)
 5418f5c2a9a38f1c	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(my_model DIMENSIONS DATE_PART('year', date_col), region_name METRICS orders.revenue, orders.count WHERE active = true) AS model_alias
 5421987448abafcb	4edff8487059a4e8	BigQueryDialect	edges	end	SetExpr::Select	0	SELECT STRUCT<INT64>(5), STRUCT<x INT64, y STRING>(1, t.str_col), STRUCT<arr ARRAY<FLOAT64>, str STRUCT<BOOL>>(nested_col)
 5421987448abafcb	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Query	0	SELECT STRUCT<INT64>(5), STRUCT<x INT64, y STRING>(1, t.str_col), STRUCT<arr ARRAY<FLOAT64>, str STRUCT<BOOL>>(nested_col)
@@ -5774,17 +4969,9 @@
 5421987448abafcb	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	str
 5421987448abafcb	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	x
 5421987448abafcb	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	y
-543b13d9d7e644b2	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-543b13d9d7e644b2	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 543b13d9d7e644b2	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-543b13d9d7e644b2	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-543b13d9d7e644b2	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 543b13d9d7e644b2	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
 544699ff0efe3cb7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ReferentialAction::Restrict	0	RESTRICT
-546ef7637fa5c0ab	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'password'
-546ef7637fa5c0ab	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'user'
-546ef7637fa5c0ab	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'password'
-546ef7637fa5c0ab	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'user'
 547cb01bf7e03f1d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> UNION DISTINCT BY NAME (SELECT * FROM admins)
 547cb01bf7e03f1d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Query	0	SELECT * FROM admins
 5487656ab76f515b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(TRAILING 'xyz' FROM 'xyzfooxyz')
@@ -5798,10 +4985,8 @@
 5487656ab76f515b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT TRIM(TRAILING 'xyz' FROM 'xyzfooxyz')
 5487656ab76f515b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT TRIM(TRAILING 'xyz' FROM 'xyzfooxyz')
 5499cca73ef2f31f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL SECOND(2)
-54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	('localhost', default.simple_table)
-54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	edges	both	TableObject::TableFunction	0	FUNCTION remote('localhost', default.simple_table)
-54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	remote('localhost', default.simple_table)
 54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	edges	start	SetExpr::Values	0	VALUES (100, 'inserted via remote()')
+54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	edges	start	TableObject::TableFunction	0	FUNCTION remote('localhost', default.simple_table)
 54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	edges	start	Values	0	VALUES (100, 'inserted via remote()')
 54d2fbb3c35f5dc9	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	VALUES (100, 'inserted via remote()')
 54ed198e3e067609	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	AccessExpr::Subscript	0	[1]
@@ -5832,31 +5017,16 @@
 552bae486dc57cae	4edff8487059a4e8	BigQueryDialect	edges	both	Array	0	[1, 2]
 552bae486dc57cae	4edff8487059a4e8	BigQueryDialect	edges	end	SqlOption::KeyValue	0	a = [1, 2]
 552bae486dc57cae	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Array	0	[1, 2]
-55456fb8ea7bedcf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SqlOption::KeyValue	0	'K2' = 0.88
-55456fb8ea7bedcf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'K1'
-55456fb8ea7bedcf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'K2'
-55456fb8ea7bedcf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-55456fb8ea7bedcf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-55456fb8ea7bedcf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-55456fb8ea7bedcf	fdaf9332c09858cf	DuckDbDialect	edges	start	SqlOption::KeyValue	0	'K2' = 0.88
-55456fb8ea7bedcf	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'K1'
-55456fb8ea7bedcf	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'K2'
-55456fb8ea7bedcf	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-55456fb8ea7bedcf	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-55456fb8ea7bedcf	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
 556f1db8bcf7ee39	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	name STRING
 556f1db8bcf7ee39	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	year INT
 5593ec0647c03e71	4edff8487059a4e8	OracleDialect	edges	both	TableObject::TableQuery	0	(SELECT foo_t.id, foo_t.val FROM foo_t)
-55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	COUNT(*)
-55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
 55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT COUNT(*) FROM a.b WHERE c LIKE 'x%') > 1
-55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Subquery	0	(SELECT COUNT(*) FROM a.b WHERE c LIKE 'x%')
 55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArg::Unnamed	0	*
 55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentList	0	*
-55afcd61dd9c8e68	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArguments::List	0	(*)
 55c560cfe45758b2	4edff8487059a4e8	SnowflakeDialect	edges	both	Fetch	0	FETCH FIRST 2 ROWS ONLY
+55de97a146cd7620	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	AlterTableOperation::ModifyColumn	0	MODIFY COLUMN `order` UInt8
 55ebbedadd259bb5	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	SelectInto	0	INTO @changes
 56200cbe27927f95	4edff8487059a4e8	ClickHouseDialect	structure	empty	Expr::Dictionary	0	{"bar": {"x": "y"}, "baz": 1}
 56200cbe27927f95	4edff8487059a4e8	ClickHouseDialect	structure	empty	Expr::Dictionary	0	{"foo": {"bar": {"x": "y"}, "baz": 1}}
@@ -5883,9 +5053,6 @@
 568aa440bc8fce9f	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	reparse	inexact	Query	0	SELECT 22 FROM tbl1, (SELECT 1 FROM tbl2)
 568aa440bc8fce9f	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	reparse	inexact	Select	0	SELECT 22 FROM tbl1, (SELECT 1 FROM tbl2)
 568aa440bc8fce9f	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	reparse	inexact	TableFactor::Derived	0	(SELECT 1 FROM tbl2)
-5691c9cbe3cd1ac1	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"CATALOG"
-5691c9cbe3cd1ac1	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"CATALOG"
-5691c9cbe3cd1ac1	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"CATALOG"
 56a0e96b15c45880	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	(WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
 56a0e96b15c45880	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT (WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
 56a0e96b15c45880	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(WITH a AS (SELECT 1 AS foo), b AS (SELECT 2 AS bar) SELECT foo + bar FROM a, b)
@@ -5914,6 +5081,9 @@
 56d116968ab2501f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (c))
 56d116968ab2501f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a, b FROM t GROUP BY GROUPING SETS ((a, b), (c))
 56d116968ab2501f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a, b FROM t GROUP BY GROUPING SETS ((a, b), (c))
+56d16d71cec4a4f5	4edff8487059a4e8	SQLiteDialect	edges	end	ColumnDef	0	'id' INT UNSIGNED NOT NULL
+56d16d71cec4a4f5	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
+56d16d71cec4a4f5	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 56e51ec2800c732c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::DropColumn	0	DROP is_active CASCADE
 56e51ec2800c732c	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::DropColumn	0	DROP is_active CASCADE
 56ea549a81ae7f0e	4edff8487059a4e8	OracleDialect	edges	start	SetExpr::Values	0	VALUES (1)
@@ -5967,17 +5137,6 @@
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Expr::Dictionary	0	{'a': {'aa': 1}}
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Expr::Dictionary	0	{'aa': 1}
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Expr::Dictionary	0	{'abc': str_col}
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	0	'a'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	0	'aa'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	0	'abc'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	0	'b'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	0	'c'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	1	'a'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	1	'b'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	2	'a'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	2	'b'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	3	'a'
-577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	Ident	4	'a'
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	SelectItem::UnnamedExpr	0	[{'a': 'abc'}]
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	SelectItem::UnnamedExpr	0	{'a': 1, 'b': 'abc'}
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	empty	SelectItem::UnnamedExpr	0	{'a': 1, 'b': 2, 'c': 3}
@@ -5994,6 +5153,17 @@
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Expr::Value	1	1
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Expr::Value	2	1
 577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Expr::Value	3	1
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	0	'a'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	0	'aa'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	0	'abc'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	0	'b'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	0	'c'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	1	'a'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	1	'b'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	2	'a'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	2	'b'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	3	'a'
+577f39d149a493d2	4edff8487059a4e8	GenericDialect	structure	outside-parent	Ident	4	'a'
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	edges	both	Array	0	[t.str_col]
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT {'a': 1, 'b': 2, 'c': 3}, [{'a': 'abc'}], {'a': 1, 'b': [t.str_col]}, {'a': 1, 'b': 'abc'}, {'abc': str_col}, {'a': {'aa': 1}}
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Array	0	[t.str_col]
@@ -6008,17 +5178,6 @@
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Dictionary	0	{'a': {'aa': 1}}
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Dictionary	0	{'aa': 1}
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Dictionary	0	{'abc': str_col}
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'a'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'aa'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'abc'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'b'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'c'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	1	'a'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	1	'b'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	2	'a'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	2	'b'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	3	'a'
-577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	4	'a'
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	SelectItem::UnnamedExpr	0	[{'a': 'abc'}]
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	SelectItem::UnnamedExpr	0	{'a': 1, 'b': 'abc'}
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	empty	SelectItem::UnnamedExpr	0	{'a': 1, 'b': 2, 'c': 3}
@@ -6035,6 +5194,17 @@
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	1	1
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	2	1
 577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	3	1
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	'a'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	'aa'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	'abc'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	'b'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	'c'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	1	'a'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	1	'b'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	2	'a'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	2	'b'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	3	'a'
+577f39d149a493d2	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	4	'a'
 57a51d4e2003cef9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	edges	both	TableWithJoins	0	(SELECT 1 FROM tbl2)
 57a51d4e2003cef9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	edges	end	SetExpr::Select	0	SELECT 22 FROM tbl1, (SELECT 1 FROM tbl2)
 57a51d4e2003cef9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	reparse	inexact	Expr::Subquery	0	(SELECT 22 FROM tbl1, (SELECT 1 FROM tbl2))
@@ -6048,34 +5218,23 @@
 57d30068445f311d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-10
 57d30068445f311d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-100
 57d30068445f311d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-1000
-57ef33bef946f8c0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-57ef33bef946f8c0	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	(weekday, GETDATE())
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	DATENAME(weekday, GETDATE())
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	GETDATE()
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArg::Unnamed	0	GETDATE()
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgExpr::Expr	0	GETDATE()
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	weekday, GETDATE()
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	DATENAME(weekday, GETDATE())
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	GETDATE()
 580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::InList	0	DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
-580ad6d8e8aa6c90	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArguments::List	0	()
 5811042f984a2eda	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ForeignKeyConstraint	0	FOREIGN KEY (id) REFERENCES other_table(id) MATCH FULL
 5811042f984a2eda	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::ForeignKey	0	FOREIGN KEY (id) REFERENCES other_table(id) MATCH FULL
 5811042f984a2eda	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	edges	both	TableWithJoins	0	(SELECT (1, 'x') AS t)
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT t . 1 AS a, t . 2 AS b FROM (SELECT (1, 'x') AS t)
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	edges	start	SelectItem::ExprWithAlias	0	(1, 'x') AS t
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(1, 'x')
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT t . 1 AS a, t . 2 AS b FROM (SELECT (1, 'x') AS t)
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Select	0	SELECT t . 1 AS a, t . 2 AS b FROM (SELECT (1, 'x') AS t)
+583a67fa521f7602	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	TableFactor::Derived	0	(SELECT (1, 'x') AS t)
 583fa983e04f8215	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 583fa983e04f8215	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 583fa983e04f8215	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 583fa983e04f8215	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(col_2, 1, 0)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	Function	0	LAG(col_2, 1, 0) OVER (PARTITION BY col_3 ORDER BY col_1)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	LAG(col_2, 1, 0) OVER (PARTITION BY col_3 ORDER BY col_1)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT LAG(col_2, 1, 0) OVER (PARTITION BY col_3 ORDER BY col_1)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	LAG(col_2, 1, 0) OVER (PARTITION BY col_3 ORDER BY col_1)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Query	0	SELECT LAG(col_2, 1, 0) OVER (PARTITION BY col_3 ORDER BY col_1)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Select	0	SELECT LAG(col_2, 1, 0) OVER (PARTITION BY col_3 ORDER BY col_1)
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	Expr::Identifier	0	col_3
-5843f4c323a317e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	col_1
 584ef29101f26742	4edff8487059a4e8	OracleDialect	edges	both	TableObject::TableQuery	0	(SELECT foo_t.id, foo_t.val FROM foo_t)
 585045d86a73aea6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 585045d86a73aea6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
@@ -6092,13 +5251,9 @@
 5878d832d5002efe	4edff8487059a4e8	DatabricksDialect,GenericDialect	structure	empty	SelectItem::UnnamedExpr	0	STRUCT(1, 'foo')
 5878d832d5002efe	4edff8487059a4e8	DatabricksDialect,GenericDialect	structure	outside-parent	Expr::Value	0	'foo'
 5878d832d5002efe	4edff8487059a4e8	DatabricksDialect,GenericDialect	structure	outside-parent	Expr::Value	0	1
-5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(sales)
 5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY size, CUBE (brand, size)
-5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	sum(sales)
-5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	sum(sales)
 5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, CUBE (brand, size)
 5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cube	0	CUBE (brand, size)
-5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	sum(sales)
 5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, CUBE (brand, size)
 5884efa07a655b5f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, CUBE (brand, size)
 5890e50b22ba9231	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE DEFERRABLE
@@ -6139,14 +5294,13 @@
 58e3533f03fb8798	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM student WHERE id = '1' FOR UPDATE OF school SKIP LOCKED
 58e3533f03fb8798	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	ObjectName	0	school
 58edd69f1e653feb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE TO SECOND
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD UNIQUE KEY (textcol(10))
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(10)
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Unique	0	UNIQUE KEY (textcol(10))
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	UniqueConstraint	0	UNIQUE KEY (textcol(10))
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	textcol(10)
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	textcol(10)
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	textcol(10)
-59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	textcol(10)
+59320e7d16b9f9a1	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	! ! !a
+59320e7d16b9f9a1	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! ! !a
+59320e7d16b9f9a1	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! !a
+59320e7d16b9f9a1	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!a
+59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::AddConstraint	0	ADD UNIQUE KEY (textcol(10))
+59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	TableConstraint::Unique	0	UNIQUE KEY (textcol(10))
+59565c9164ece5ff	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	UniqueConstraint	0	UNIQUE KEY (textcol(10))
 596bd3792f1a58f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL '1' HOURS
 596bd3792f1a58f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL '1' HOURS
 596bd3792f1a58f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' HOURS
@@ -6182,20 +5336,12 @@
 59f85520e27a65d6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::BinaryOp	0	info ?& ARRAY['b', 'c']
 59f85520e27a65d6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT info FROM orders WHERE info ?& ARRAY['b', 'c']
 59f85520e27a65d6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT info FROM orders WHERE info ?& ARRAY['b', 'c']
-5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(* WHERE x > 1)
-5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(* WHERE x > 1)
-5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(* WHERE x > 1)
 5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentClause::Where	0	WHERE x > 1
 5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentList	0	* WHERE x > 1
-5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(* WHERE x > 1)
 5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArg::Unnamed	0	*
 5a088ab74e3a7473	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
-5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(* WHERE x > 1)
-5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(* WHERE x > 1)
-5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(* WHERE x > 1)
 5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Where	0	WHERE x > 1
 5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	* WHERE x > 1
-5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(* WHERE x > 1)
 5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 5a088ab74e3a7473	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 5a2a200e396167a1	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	both	JsonPath	0	[0].a
@@ -6203,30 +5349,16 @@
 5a437e7cafceef9a	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	start	SelectItem::ExprWithAlias	0	CAST(date_valid_from AS DATE FORMAT 'YYYY-MM-DD') AS date_valid_from
 5a437e7cafceef9a	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST(date_valid_from AS DATE FORMAT 'YYYY-MM-DD')
 5a437e7cafceef9a	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	ValueWithSpan	0	'YYYY-MM-DD'
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ExprWithAlias	0	SUM(1)
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(1)
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
 5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(1)
 5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-5a5ea41ebe6e7475	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	edges	both	ExprWithAlias	0	SUM(1)
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(1)
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
 5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(1)
 5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-5a5ea41ebe6e7475	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 5a66ba07743bc16d	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	reparse	inexact	Expr::Subquery	0	(SELECT 22 FROM tbl1)
 5ade02a9015d4c1e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableAlias	0	AS u (product, quarter, quantity)
 5ade02a9015d4c1e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM sales AS s UNPIVOT INCLUDE NULLS (quantity FOR quarter IN (Q1, Q2, Q3, Q4)) AS u (product, quarter, quantity)
@@ -6242,75 +5374,21 @@
 5ade02a9015d4c1e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM sales AS s UNPIVOT INCLUDE NULLS (quantity FOR quarter IN (Q1, Q2, Q3, Q4)) AS u (product, quarter, quantity)
 5ade02a9015d4c1e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM sales AS s UNPIVOT INCLUDE NULLS (quantity FOR quarter IN (Q1, Q2, Q3, Q4)) AS u (product, quarter, quantity)
 5ade02a9015d4c1e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Unpivot	0	sales AS s UNPIVOT INCLUDE NULLS (quantity FOR quarter IN (Q1, Q2, Q3, Q4)) AS u (product, quarter, quantity)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ExprWithAlias	0	SUM(a.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(a.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(b.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(c.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(b.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c.amount)
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableAlias	0	AS p (c, d)
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	SUM(b.amount) AS t
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	SUM(c.amount) AS u
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY EMPID
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS a
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(a.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(b.amount)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(c.amount)
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
 5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	1	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	2	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	1	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	2	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	1	SUM
-5b43aed56ccbcf1c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	2	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	ExprWithAlias	0	SUM(a.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(a.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(b.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(c.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(b.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c.amount)
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	both	TableAlias	0	AS p (c, d)
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	SUM(b.amount) AS t
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	SUM(c.amount) AS u
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY EMPID
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS a
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(a.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(b.amount)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(c.amount)
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
 5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	monthly_sales AS a PIVOT(SUM(a.amount), SUM(b.amount) AS t, SUM(c.amount) AS u FOR a.MONTH IN (1 AS x, 'two', three AS y)) AS p (c, d)
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	1	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	2	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	1	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	2	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	1	SUM
-5b43aed56ccbcf1c	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	2	SUM
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT 123col_$@123abc FROM "table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT 123col_$@123abc FROM "table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	reparse	inexact	Select	0	SELECT 123col_$@123abc FROM "table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	structure	empty	TableFactor::Table	0	"table"
-5b48bf95464c1856	4edff8487059a4e8	MySqlDialect	structure	empty	TableWithJoins	0	"table"
-5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(mode)
-5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	analyze(mode)
-5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	preprocess()
 5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL preprocess() AS clean_data |> CALL analyze(mode) AS results
-5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
 5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	analyze(mode)
 5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	preprocess()
 5b79f1a4fa7cc1ca	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	clean_data
@@ -6338,21 +5416,17 @@
 5c3e5c85d7693097	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 5c3e5c85d7693097	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 5c3e5c85d7693097	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT(NULL ON NULL)
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT(NULL ON NULL)
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT(NULL ON NULL)
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT(NULL ON NULL)
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT(NULL ON NULL)
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT(NULL ON NULL)
 5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
 5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	NULL ON NULL
-5c5cdd2f80fcb27f	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(NULL ON NULL)
 5c7b180ae3ac1aa7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 5c7b180ae3ac1aa7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 5c7b180ae3ac1aa7	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 5c7b180ae3ac1aa7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
-5c98801afe005635	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-5c98801afe005635	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
+5c82489ee6fd2404	4edff8487059a4e8	PostgreSqlDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(' x ')
+5c82489ee6fd2404	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT TRIM(' x ')
+5c82489ee6fd2404	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Trim	0	TRIM(' x ')
+5c82489ee6fd2404	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT TRIM(' x ')
+5c82489ee6fd2404	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT TRIM(' x ')
 5ca1af980525ade1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Fetch	0	FETCH FIRST 10 ROWS WITH TIES
 5ca1af980525ade1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT foo FROM bar FETCH FIRST 10 ROWS WITH TIES
 5ca1af980525ade1	fdaf9332c09858cf	DuckDbDialect	edges	both	Fetch	0	FETCH FIRST 10 ROWS WITH TIES
@@ -6395,11 +5469,14 @@
 5dbd11459029275b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL SECOND)
 5dbd11459029275b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL SECOND)
 5dbd11459029275b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL SECOND)
-5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(arr, x -> x > 2)
-5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	filter(arr, x -> x > 2)
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	attrs MAP<STRING COLLATE UTF8_BINARY, STRING COLLATE UTF8_LCASE>
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	values ARRAY<STRING COLLATE UTF8_LCASE>
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	edges	start	ColumnOption::Collation	0	COLLATE UTF8_BINARY
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	edges	start	ColumnOptionDef	0	COLLATE UTF8_BINARY
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	ObjectName	0	UTF8_LCASE
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	ObjectName	1	UTF8_BINARY
+5dd0c2230e05a6e4	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	ObjectName	1	UTF8_LCASE
 5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	edges	end	FunctionArgumentList	0	arr, x -> x > 2
-5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	filter(arr, x -> x > 2)
-5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	filter(arr, x -> x > 2)
 5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	structure	empty	Expr::Lambda	0	x -> x > 2
 5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArg::Unnamed	0	x -> x > 2
 5e07972675b8115c	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgExpr::Expr	0	x -> x > 2
@@ -6413,10 +5490,6 @@
 5e3121f0d4485eb0	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	NONE
 5e49cf254d5470b5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN id ADD GENERATED ALWAYS AS IDENTITY
 5e49cf254d5470b5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterColumnOperation::AddGenerated	0	ADD GENERATED ALWAYS AS IDENTITY
-5e7b12a7ca1301a6	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	(x)
-5e7b12a7ca1301a6	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	row_number(x) FILTER (WHERE y) OVER ()
-5e7b12a7ca1301a6	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	row_number(x) FILTER (WHERE y) OVER ()
-5e7b12a7ca1301a6	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	row_number(x) FILTER (WHERE y) OVER ()
 5e9dd302ab16f8e1	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a NUMBER(38, 0)
 5e9dd302ab16f8e1	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	b VARIANT
 5e9dd302ab16f8e1	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
@@ -6430,9 +5503,6 @@
 5ed9936775296e61	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@~
 5ed9936775296e61	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@~
 5ed9936775296e61	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@~
-5ef390dac4bfe737	4edff8487059a4e8	DatabricksDialect	structure	empty	Ident	0	"my_schema"
-5ef390dac4bfe737	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectName	0	"my_schema"
-5ef390dac4bfe737	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"my_schema"
 5efe535297ceb727	4edff8487059a4e8	BigQueryDialect	edges	both	Array	0	[1, 2]
 5efe535297ceb727	4edff8487059a4e8	BigQueryDialect	edges	end	SqlOption::KeyValue	0	a = [1, 2]
 5efe535297ceb727	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Array	0	[1, 2]
@@ -6443,20 +5513,14 @@
 5f362a2175beb82f	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Extract	0	EXTRACT(YEAR FROM o_orderdate)
 5f362a2175beb82f	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE GROUP BY EXTRACT(YEAR FROM o_orderdate)
 5f362a2175beb82f	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	EXTRACT(YEAR FROM o_orderdate)
+5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE 'en_US'
 5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Default	0	DEFAULT 'foo'
+5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE 'en_US'
 5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	DEFAULT 'foo'
-5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Collation	0	COLLATE 'en_US'
-5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	COLLATE 'en_US'
-5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'en_US'
-5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'en_US'
-5f38de1af03ae104	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'en_US'
+5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::Collation	0	COLLATE 'en_US'
 5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::Default	0	DEFAULT 'foo'
+5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOptionDef	0	COLLATE 'en_US'
 5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOptionDef	0	DEFAULT 'foo'
-5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOption::Collation	0	COLLATE 'en_US'
-5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	COLLATE 'en_US'
-5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'en_US'
-5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'en_US'
-5f38de1af03ae104	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'en_US'
 5f6a5a0fe914b5cd	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Subscript	0	[1]
 5f6a5a0fe914b5cd	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	arr[1]
 5f6a5a0fe914b5cd	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT arr[1]
@@ -6469,30 +5533,15 @@
 5f6a5a0fe914b5cd	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[1]
 5f6a5a0fe914b5cd	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[1]
 5f6a5a0fe914b5cd	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[1]
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	SUM(sales)
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(sales)
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(sales)
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(sales)
 5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(SUM(sales) FOR quarter IN ('Q1', 'Q2')) AS quarterly_sales
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(sales)
 5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarter
 5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarterly_sales
 5f75559de25dc3a2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	PivotValueSource::List	0	'Q1', 'Q2'
-5f78bd124b2da4aa	4edff8487059a4e8	HiveDialect	edges	end	Function	0	rand()
 5f78bd124b2da4aa	4edff8487059a4e8	HiveDialect	edges	start	TableAlias	0	AS s
-5f78bd124b2da4aa	4edff8487059a4e8	HiveDialect	reparse	inexact	Expr::Function	0	rand()
-5f78bd124b2da4aa	4edff8487059a4e8	HiveDialect	structure	empty	FunctionArguments::List	0	()
 5f7bff05a871e20e	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	TableConstraint::Unique	0	UNIQUE (x)
 5f7bff05a871e20e	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	UniqueConstraint	0	UNIQUE (x)
 5f7bff05a871e20e	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	end	ColumnDef	0	x INT
-5f7e4aa850a1749f	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-5f7e4aa850a1749f	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-5f7e4aa850a1749f	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-5f7e4aa850a1749f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-5f7e4aa850a1749f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 5f821a0fe928daee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	arr[:]
 5f821a0fe928daee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT arr[:]
 5f821a0fe928daee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[:]
@@ -6533,19 +5582,7 @@
 600205af721a4a1b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR TO MINUTE(4))
 600205af721a4a1b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR TO MINUTE(4))
 600205af721a4a1b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR TO MINUTE(4))
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('name' : 'value', 'type' : 1)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArg::Unnamed	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgExpr::Expr	0	JSON_OBJECT('name' : 'value', 'type' : 1)
 600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	'a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
-600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)
 600eb97a0b43eb28	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
 601813b4cf7964d9	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar DOUBLE(11,0)
 6018731149dcb504	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	SetExpr::Values	0	VALUES ('John', 'john@example.com')
@@ -6567,21 +5604,11 @@
 6066955f6992e288	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 6066955f6992e288	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 6066955f6992e288	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(cost)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(total_cost)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	AVG(total_cost)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	COUNT(*) OVER (PARTITION BY customer_id)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	SUM(cost)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	AVG(total_cost)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	COUNT(*) OVER (PARTITION BY customer_id)
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(cost)
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE SUM(cost) AS total_cost GROUP BY customer_id, state, item_type |> EXTEND COUNT(*) OVER (PARTITION BY customer_id) AS num_orders |> WHERE num_orders > 1 |> AGGREGATE AVG(total_cost) AS average GROUP BY state DESC, item_type ASC
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::BinaryOp	0	num_orders > 1
-60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Identifier	1	customer_id
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	AVG(total_cost) AS average
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(cost) AS total_cost
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	customer_id
@@ -6592,60 +5619,29 @@
 60aa35f7fb71cc92	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::ExprWithAlias	0	COUNT(*) OVER (PARTITION BY customer_id) AS num_orders
 60e773a00045eac1	4edff8487059a4e8	SnowflakeDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT NULL
 60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArgumentClause::OrderBy	0	ORDER BY x DESC
-60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x WHERE x > 100 ORDER BY x DESC)
-60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ARRAY_AGG(x WHERE x > 100 ORDER BY x DESC)
 60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	x WHERE x > 100 ORDER BY x DESC
-60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(x WHERE x > 100 ORDER BY x DESC)
 60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentClause::Where	0	WHERE x > 100
-60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x WHERE x > 100 ORDER BY x DESC)
 60ee7154c88b757f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	x DESC
 60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgumentClause::OrderBy	0	ORDER BY x DESC
-60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x WHERE x > 100 ORDER BY x DESC)
-60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(x WHERE x > 100 ORDER BY x DESC)
 60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	x WHERE x > 100 ORDER BY x DESC
-60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(x WHERE x > 100 ORDER BY x DESC)
 60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Where	0	WHERE x > 100
-60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x WHERE x > 100 ORDER BY x DESC)
 60ee7154c88b757f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	x DESC
 6109ea0cd1bc47e3	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::MaterializeProjection	0	MATERIALIZE PROJECTION IF EXISTS my_name IN PARTITION p0
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	SUM(amount)
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(amount)
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(amount)
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(amount)
 611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(SUM(amount) FOR product.category IN ('Electronics', 'Clothing'))
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(amount)
 611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	category
 611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	product
 611886363404d973	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	PivotValueSource::List	0	'Electronics', 'Clothing'
-612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(*)
-612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
-612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArg::Unnamed	0	*
 612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentList	0	*
-612bb43d146c9d09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	(*)
-612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(*)
-612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
-612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	*
-612bb43d146c9d09	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(*)
 613f701d4f2f3b15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 613f701d4f2f3b15	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 613f701d4f2f3b15	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 613f701d4f2f3b15	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
-61401a16660bd206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-61401a16660bd206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-61401a16660bd206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-61401a16660bd206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-61401a16660bd206	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-61401a16660bd206	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-61401a16660bd206	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-61401a16660bd206	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 61402a64fd1304fe	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	a:foo."bar".baz
 61402a64fd1304fe	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	edges	end	SetExpr::Select	0	SELECT a:foo."bar".baz
 61402a64fd1304fe	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Expr::JsonAccess	0	a:foo."bar".baz
@@ -6727,9 +5723,6 @@
 621c6405bf1161d1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	VALUES (1), (2), (3)
 621c6405bf1161d1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM (VALUES (1), (2), (3))
 621c6405bf1161d1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Derived	0	(VALUES (1), (2), (3))
-623704aa461479b3	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'my_schema'
-623704aa461479b3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'my_schema'
-623704aa461479b3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'my_schema'
 6251af9c515bcf33	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM student WHERE id = '1' FOR SHARE OF school
 6251af9c515bcf33	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	ObjectName	0	school
 6251af9c515bcf33	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM student WHERE id = '1' FOR SHARE OF school
@@ -6800,9 +5793,6 @@
 6339b63a890c06df	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	KEY index (id)
 6339b63a890c06df	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	KEY index (id)
 6339b63a890c06df	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
-63485ab5ab66499b	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(@@sql_mode, ',STRICT_TRANS_TABLES')
-63485ab5ab66499b	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	CONCAT(@@sql_mode, ',STRICT_TRANS_TABLES')
-63485ab5ab66499b	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	CONCAT(@@sql_mode, ',STRICT_TRANS_TABLES')
 635c69c2a289e06c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY(0))
 635c69c2a289e06c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY(0))
 635c69c2a289e06c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY(0))
@@ -6810,6 +5800,19 @@
 635c69c2a289e06c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL DAY(0))
 63682b90cc2f81c5	4edff8487059a4e8	GenericDialect,MySqlDialect,ClickHouseDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN c INT FIRST
 63682b90cc2f81c5	4edff8487059a4e8	GenericDialect,MySqlDialect,ClickHouseDialect	edges	end	ColumnDef	0	c INT
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	$1:continent::VARCHAR
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	$1:country:name::VARCHAR
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	$1:continent::VARCHAR
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	$1:country:name::VARCHAR
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1:continent
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1:country
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1:country:name
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@stg
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	structure	empty	JsonPath	0	:continent
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	structure	empty	JsonPath	0	:country
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	structure	empty	JsonPath	0	:name
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stg
+639d1728e0278da3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stg
 63dced59e680c775	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	col1 STRUCT<a INT, b STRING>
 63dced59e680c775	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	col2 STRUCT<x DOUBLE>
 63dced59e680c775	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	a
@@ -6818,13 +5821,7 @@
 642c21cd976c8007	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>=
 642c21cd976c8007	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>=
 642c21cd976c8007	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>=
-643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(col1)
-643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(param)
-643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	process(param)
-643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	transform(col1)
-643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	validate()
 643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL transform(col1) |> CALL validate() |> CALL process(param)
-643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
 643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	process(param)
 643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	transform(col1)
 643fd8f1f2ea4a4d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	validate()
@@ -6858,26 +5855,12 @@
 65215042b3ac494b	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t1 FULL JOIN t2 USING(c1)
 65215042b3ac494b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT c1 FROM t1 FULL JOIN t2 USING(c1)
 65215042b3ac494b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT c1 FROM t1 FULL JOIN t2 USING(c1)
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ExprWithAlias	0	sum(population)
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	sum(population)
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(population)
 652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS c
 652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS p
 652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS u
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sum(population)
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	sum
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	sum
-652a928c0f04644f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	sum
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	edges	both	ExprWithAlias	0	sum(population)
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	sum(population)
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(population)
 652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS c
 652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS p
 652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS u
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sum(population)
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	sum
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	sum
-652a928c0f04644f	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	sum
 652e2a7c7bd0b948	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	x VARBIT
 652e2a7c7bd0b948	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	y VARBIT(42)
 6530df26aa8359fd	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM x WHERE a LIKE ANY ('%Jo%oe%', 'T%e')
@@ -6920,41 +5903,23 @@
 65e69487992e3409	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	Ident	0	age
 65e69487992e3409	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	Ident	0	name
 65e69487992e3409	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	Ident	0	score
-6601c536f83bbfe0	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('email')
-6601c536f83bbfe0	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	identifier('email')
-6601c536f83bbfe0	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	identifier('email')
-6601c536f83bbfe0	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	identifier('email')
 66105a98e352cefa	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	both	JsonPath	0	[0]."id"
 66105a98e352cefa	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	db1.sc1.tbl1.col1[0]."id"
 66105a98e352cefa	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Expr::JsonAccess	0	db1.sc1.tbl1.col1[0]."id"
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArg::Unnamed	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArgExpr::Expr	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	((SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	STUFF((SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
+661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
+661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArg::Unnamed	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
+661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgExpr::Expr	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
 661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentList	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, ''
 661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	STUFF((SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
-661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
 661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE)
 661a5a04d24e4538	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArg::Unnamed	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgExpr::Expr	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	((SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	STUFF((SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
+661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
+661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArg::Unnamed	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
+661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgExpr::Expr	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
 661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, ''
 661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	STUFF((SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
-661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
 661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE)
 661a5a04d24e4538	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT ',' + name FROM sys.objects FOR XML PATH(''), TYPE
-6635785e8ac60361	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(1, 'a', $1)
-6635785e8ac60361	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	my_procedure(1, 'a', $1)
 66697084e459e65f	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS dim1 METRICS met1)
 66697084e459e65f	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1 METRICS met1)
 66697084e459e65f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1 METRICS met1)
@@ -7043,32 +6008,12 @@
 67f84299de56a9e5	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@mystage1
 67f84299de56a9e5	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableFactor::Table	0	@mystage1
 67f84299de56a9e5	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableWithJoins	0	@mystage1
-68272a660d14a147	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	'jeffrey'
-68272a660d14a147	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	'localhost'
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(dateid ON OVERFLOW ERROR)
 6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW ERROR
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid ON OVERFLOW ERROR)
 6844912917a00d2d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW ERROR
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(dateid ON OVERFLOW ERROR)
 6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW ERROR
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid ON OVERFLOW ERROR)
-6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid ON OVERFLOW ERROR)
 6844912917a00d2d	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW ERROR
 684bf9390d995c1f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO HOUR(5)
-68579f707b261a5c	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-68579f707b261a5c	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 68579f707b261a5c	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-68579f707b261a5c	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-68579f707b261a5c	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 68579f707b261a5c	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
 6861dfb47aa8931a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	BIGNUMERIC '0'
 6861dfb47aa8931a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::TypedString	0	BIGNUMERIC '0'
@@ -7088,21 +6033,12 @@
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	both	CreateTableOptions::Options	0	OPTIONS(expiration_timestamp = TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 48 HOUR), friendly_name = "newview", description = "a view that expires in 2 days", labels = [("org_unit", "development")])
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArg::Unnamed	0	INTERVAL 48 HOUR
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArgExpr::Expr	0	INTERVAL 48 HOUR
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(CURRENT_TIMESTAMP(), INTERVAL 48 HOUR)
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 48 HOUR)
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArg::Unnamed	0	CURRENT_TIMESTAMP()
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArgExpr::Expr	0	CURRENT_TIMESTAMP()
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArgumentList	0	CURRENT_TIMESTAMP(), INTERVAL 48 HOUR
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	SqlOption::KeyValue	0	expiration_timestamp = TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 48 HOUR)
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	SqlOption::KeyValue	0	labels = [("org_unit", "development")]
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	edges	end	ViewColumnDef	0	age OPTIONS(description = "field age")
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Array	0	[("org_unit", "development")]
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL 48 HOUR)
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Interval	0	INTERVAL 48 HOUR
 68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Tuple	0	("org_unit", "development")
-68881ca281c1430d	4edff8487059a4e8	BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 68b23aaf7707f082	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL HOUR TO MINUTE(3))
 68b23aaf7707f082	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL HOUR TO MINUTE(3))
 68b23aaf7707f082	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR TO MINUTE(3))
@@ -7120,7 +6056,6 @@
 692a5d239fcba6fc	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	INDEX 'index' (id)
 692a5d239fcba6fc	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	INDEX 'index' (id)
 692a5d239fcba6fc	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
-692a5d239fcba6fc	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'index'
 692b288bbfdc061a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND)
 692b288bbfdc061a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE TO SECOND)
 692b288bbfdc061a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND)
@@ -7130,11 +6065,7 @@
 695d5efe3548fbd1	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column30 TEXT
 695d5efe3548fbd1	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED ALWAYS AS IDENTITY
 695d5efe3548fbd1	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	GENERATED ALWAYS AS IDENTITY
-69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	TableWithJoins	0	UNNEST(make_array(1, 2, 3))
-69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	Function	0	make_array(1, 2, 3)
-69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM UNNEST(make_array(1, 2, 3))
-69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
+69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	start	TableWithJoins	0	UNNEST(make_array(1, 2, 3))
 69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM UNNEST(make_array(1, 2, 3))
 69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM UNNEST(make_array(1, 2, 3))
 69ac9c1806c252c8	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	TableFactor::UNNEST	0	UNNEST(make_array(1, 2, 3))
@@ -7160,20 +6091,14 @@
 69fe76d20f0b27fb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AlterTableOperation::DropColumn	0	DROP COLUMN IF EXISTS is_active
 69fe76d20f0b27fb	fdaf9332c09858cf	DuckDbDialect	edges	start	AlterTableOperation::DropColumn	0	DROP COLUMN IF EXISTS is_active
 6a1fc64d96ddbaa6	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS EXCEPT
-6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(*)
 6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY foo
-6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArg::Unnamed	0	*
 6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentList	0	*
-6a2e79d2cef78708	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	(*)
-6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(*)
 6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY foo
-6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	*
-6a2e79d2cef78708	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(*)
 6a31d9abbed2de4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	IndexColumn	0	age DESC
 6a31d9abbed2de4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	age DESC
 6a31d9abbed2de4e	fdaf9332c09858cf	DuckDbDialect	edges	end	IndexColumn	0	age DESC
@@ -7232,25 +6157,13 @@
 6ad8c54455be3111	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Partition::Expr	0	PARTITION part
 6ae37bf9877003b6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	AlterTableOperation::EnableTrigger	0	ENABLE TRIGGER USER
 6afbd7e90eb81dc8	4edff8487059a4e8	SnowflakeDialect	edges	both	Fetch	0	FETCH FIRST 2 ROWS ONLY
-6b027d7a2f5f482c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(id)
-6b027d7a2f5f482c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	sqrt(id)
-6b027d7a2f5f482c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-6b027d7a2f5f482c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-6b027d7a2f5f482c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-6b027d7a2f5f482c	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-6b027d7a2f5f482c	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-6b027d7a2f5f482c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 6b1d7198c2010ed6	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a INT WITH TAG (A='TAG A', B='TAG B')
 6b1d7198c2010ed6	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Tags	0	WITH TAG (A='TAG A', B='TAG B')
 6b1d7198c2010ed6	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	WITH TAG (A='TAG A', B='TAG B')
 6b1d7198c2010ed6	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	A
 6b1d7198c2010ed6	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	B
-6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(sales)
 6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY size, ROLLUP (brand, size)
-6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	sum(sales)
-6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	sum(sales)
 6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, ROLLUP (brand, size)
-6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	sum(sales)
 6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Rollup	0	ROLLUP (brand, size)
 6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, ROLLUP (brand, size)
 6b67ed4620484124	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT brand, size, sum(sales) FROM items_sold GROUP BY size, ROLLUP (brand, size)
@@ -7265,21 +6178,13 @@
 6b9b10075dbeb0f4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a FROM b, LATERAL FLATTEN(input => events)
 6b9b10075dbeb0f4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a FROM b, LATERAL FLATTEN(input => events)
 6b9b10075dbeb0f4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Function	0	LATERAL FLATTEN(input => events)
-6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(ALL +x)
-6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(ALL +x)
-6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(ALL +x)
 6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArg::Unnamed	0	+x
 6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgExpr::Expr	0	+x
 6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentList	0	ALL +x
-6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(ALL +x)
 6b9bde7f42a3c8d7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+x
-6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(ALL +x)
-6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(ALL +x)
-6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(ALL +x)
 6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArg::Unnamed	0	+x
 6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgExpr::Expr	0	+x
 6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	ALL +x
-6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(ALL +x)
 6b9bde7f42a3c8d7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+x
 6ba98a95e93a3d67	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Join	0	INNER ARRAY JOIN arr AS x
 6ba98a95e93a3d67	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	TableAlias	0	AS x
@@ -7339,11 +6244,8 @@
 6be2ef3b3a1f7370	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	id INT
 6be2ef3b3a1f7370	4edff8487059a4e8	SnowflakeDialect	edges	end	ObjectNamePart::Function	0	IDENTIFIER('tbl')
 6be2ef3b3a1f7370	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	ObjectName	0	IDENTIFIER('tbl')
-6c0de8fb65936183	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	(s.host_name, s.program_name, s.client_interface_name NULL ON NULL)
-6c0de8fb65936183	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY(s.host_name, s.program_name, s.client_interface_name NULL ON NULL)
 6c0de8fb65936183	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	s.host_name, s.program_name, s.client_interface_name NULL ON NULL
 6c0de8fb65936183	4edff8487059a4e8	MsSqlDialect	edges	start	TableAlias	0	AS s
-6c0de8fb65936183	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY(s.host_name, s.program_name, s.client_interface_name NULL ON NULL)
 6c0de8fb65936183	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
 6c53fc12e87a66e6	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM JSON_TABLE('[{}, {"x":1}]', '$[*]' COLUMNS(x INT EXISTS PATH '$.x')) AS t
 6c53fc12e87a66e6	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS t
@@ -7373,15 +6275,6 @@
 6cb2fa3414d1a96e	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Ident	0	`bar`
 6cb2fa3414d1a96e	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Ident	0	`baz`
 6cb2fa3414d1a96e	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Ident	0	`foo`
-6cbdec86560b6d21	4edff8487059a4e8	DatabricksDialect	structure	empty	Ident	0	"WAREHOUSE"
-6cbdec86560b6d21	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectName	0	"WAREHOUSE"
-6cbdec86560b6d21	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"WAREHOUSE"
-6cbdec86560b6d21	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"WAREHOUSE"
-6cbdec86560b6d21	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"WAREHOUSE"
-6cbdec86560b6d21	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"WAREHOUSE"
-6cc1aed53d530a8e	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
-6cc1aed53d530a8e	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
-6cc1aed53d530a8e	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 6cd56099164d0930	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	a INT PRIMARY KEY
 6cd56099164d0930	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOption::PrimaryKey	0	PRIMARY KEY
 6cd56099164d0930	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOptionDef	0	PRIMARY KEY
@@ -7401,14 +6294,6 @@
 6d68542ba8c0772c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	CheckConstraint	0	CONSTRAINT check_date CHECK (order_date >= '2023-01-01')
 6d68542ba8c0772c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ForValues::From	0	FOR VALUES FROM ('2023-01-01') TO ('2024-01-01')
 6d68542ba8c0772c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Check	0	CONSTRAINT check_date CHECK (order_date >= '2023-01-01')
-6d8e4df944d616d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-6d8e4df944d616d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	a.b.c.d(1, 2, 3)
-6d8e4df944d616d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	a.b.c.d(1, 2, 3)
-6d8e4df944d616d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	a.b.c.d(1, 2, 3)
-6d8e4df944d616d2	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-6d8e4df944d616d2	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	a.b.c.d(1, 2, 3)
-6d8e4df944d616d2	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	a.b.c.d(1, 2, 3)
-6d8e4df944d616d2	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	a.b.c.d(1, 2, 3)
 6d9915028464930b	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	a VARCHAR(10) ARRAY[2]
 6d9ea1821c45dac5	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	"a" "int"
 6d9ea1821c45dac5	4edff8487059a4e8	ClickHouseDialect	structure	empty	CreateTableOptions::Plain	0	ENGINE = MergeTree
@@ -7522,6 +6407,22 @@
 6e4d97a3bc43ee29	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::DropColumn	0	DROP COLUMN IF EXISTS is_active CASCADE
 6e4d97a3bc43ee29	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::DropColumn	0	DROP COLUMN IF EXISTS is_active CASCADE
 6e502b94e6f3288f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Algorithm	0	ALGORITHM = COPY
+6e8b189566267899	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT a FROM u)
+6e8b189566267899	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u))
+6e8b189566267899	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InSubquery	0	x IN ((SELECT a FROM u))
+6e8b189566267899	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	(SELECT a FROM u)
+6e8b189566267899	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u))
+6e8b189566267899	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u))
+6e8b189566267899	fdaf9332c09858cf	DuckDbDialect	edges	both	SetExpr::Query	0	(SELECT a FROM u)
+6e8b189566267899	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u))
+6e8b189566267899	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::InSubquery	0	x IN ((SELECT a FROM u))
+6e8b189566267899	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	(SELECT a FROM u)
+6e8b189566267899	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u))
+6e8b189566267899	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u))
+6e911e3e5adb491f	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	o OBJECT(foo)
+6e911e3e5adb491f	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	ObjectName	0	OBJECT
+6e911e3e5adb491f	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	o OBJECT(foo)
+6e911e3e5adb491f	4edff8487059a4e8	GenericDialect	structure	outside-parent	ObjectName	0	OBJECT
 6e930e212dfbc507	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	Join	0	ASOF JOIN preciptime MATCH_CONDITION (showtime.observed >= preciptime.observed) ON showtime.state = preciptime.state
 6e930e212dfbc507	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	Join	0	ASOF JOIN raintime MATCH_CONDITION (snowtime.observed >= raintime.observed) ON snowtime.state = raintime.state
 6e930e212dfbc507	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	OrderBy	0	ORDER BY showtime.observed
@@ -7536,15 +6437,13 @@
 6ea7c99ad53b4e85	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	c TIMESTAMP
 6ea7c99ad53b4e85	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	d STRING
 6ea7c99ad53b4e85	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	e TIMESTAMP
+6ef4422084dc885d	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::ExprWithAlias	0	t.n AS ''
+6ef4422084dc885d	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	''
 6f05cc503fb3e512	4edff8487059a4e8	TeradataDialect,GenericDialect	edges	both	SetExpr::Query	0	(SELECT 1 AS a)
 6f05cc503fb3e512	4edff8487059a4e8	TeradataDialect,GenericDialect	reparse	inexact	Query	0	(SELECT 1 AS a)
+6f06ec41ea800f2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	(name) COLLATE "de_DE"
 6f06ec41ea800f2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Collate	0	(name) COLLATE "de_DE"
 6f06ec41ea800f2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Nested	0	(name)
-6f06ec41ea800f2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	(name) COLLATE "de_DE"
-6f06ec41ea800f2a	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	edges	both	SelectItem::UnnamedExpr	0	(name) COLLATE "de_DE"
-6f06ec41ea800f2a	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"de_DE"
-6f06ec41ea800f2a	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"de_DE"
-6f06ec41ea800f2a	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"de_DE"
 6f06ec41ea800f2a	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	(name) COLLATE "de_DE"
 6f06ec41ea800f2a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Collate	0	(name) COLLATE "de_DE"
 6f06ec41ea800f2a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Nested	0	(name)
@@ -7603,32 +6502,8 @@
 6fc50c20bf0a4bff	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Cast	0	CAST(id AS TINYINT)
 6fc50c20bf0a4bff	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	CAST(id AS TINYINT)
 6fc50c20bf0a4bff	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	CAST(id AS TINYINT)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(b)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	1	(b)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(1)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	MAX(b)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	MIN(b)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(1)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	MAX(b)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	MIN(b)
 6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY a
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(1)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	MAX(b)
-6fce9419f845da38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	MIN(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(1)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	MAX(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	MIN(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(1)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	MAX(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	MIN(b)
 6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY a
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(1)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	MAX(b)
-6fce9419f845da38	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	MIN(b)
 6ffdb6c05167c2f9	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	@mystage1 t
 6ffdb6c05167c2f9	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	@mystage1 t
 6ffdb6c05167c2f9	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@mystage1
@@ -7675,25 +6550,9 @@
 718b4d255d20ecc7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOption::Unique	0	UNIQUE
 718b4d255d20ecc7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE
 718b4d255d20ecc7	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE ()
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	0	(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	1	(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	2	(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	FIRST(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	LAST(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	MATCH_NUMBER()
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	PREV(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT * FROM stock_transactions MATCH_RECOGNIZE(PARTITION BY symbol ORDER BY timestamp MEASURES FIRST(price) AS start_price, LAST(price) AS end_price, MATCH_NUMBER() AS match_num ALL ROWS PER MATCH PATTERN (STRT UP+) DEFINE UP AS price > PREV(price))
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SymbolDefinition	0	UP AS price > PREV(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	TableWithJoins	0	stock_transactions MATCH_RECOGNIZE(PARTITION BY symbol ORDER BY timestamp MEASURES FIRST(price) AS start_price, LAST(price) AS end_price, MATCH_NUMBER() AS match_num ALL ROWS PER MATCH PATTERN (STRT UP+) DEFINE UP AS price > PREV(price))
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::BinaryOp	0	price > PREV(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	FIRST(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	LAST(price)
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	MATCH_NUMBER()
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	PREV(price)
 71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Query	0	SELECT * FROM stock_transactions MATCH_RECOGNIZE(PARTITION BY symbol ORDER BY timestamp MEASURES FIRST(price) AS start_price, LAST(price) AS end_price, MATCH_NUMBER() AS match_num ALL ROWS PER MATCH PATTERN (STRT UP+) DEFINE UP AS price > PREV(price))
 71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Select	0	SELECT * FROM stock_transactions MATCH_RECOGNIZE(PARTITION BY symbol ORDER BY timestamp MEASURES FIRST(price) AS start_price, LAST(price) AS end_price, MATCH_NUMBER() AS match_num ALL ROWS PER MATCH PATTERN (STRT UP+) DEFINE UP AS price > PREV(price))
 71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	TableFactor::MatchRecognize	0	stock_transactions MATCH_RECOGNIZE(PARTITION BY symbol ORDER BY timestamp MEASURES FIRST(price) AS start_price, LAST(price) AS end_price, MATCH_NUMBER() AS match_num ALL ROWS PER MATCH PATTERN (STRT UP+) DEFINE UP AS price > PREV(price))
-71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	FunctionArguments::List	0	()
 71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Concat	0	STRT UP+
 71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	UP+
 71d3a4ba9315f11e	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	STRT
@@ -7724,14 +6583,6 @@
 71f32872d486bf0d	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Expr::Identifier	0	nested_col
 71f32872d486bf0d	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	x
 71f32872d486bf0d	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	y
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(document x)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	xmlparse(document x) OVER (PARTITION BY y)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	xmlparse(document x) OVER (PARTITION BY y)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT xmlparse(document x) OVER (PARTITION BY y)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	xmlparse(document x) OVER (PARTITION BY y)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT xmlparse(document x) OVER (PARTITION BY y)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT xmlparse(document x) OVER (PARTITION BY y)
-71ffacfb608bfc22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Identifier	0	y
 720a465dce2c726a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN is_active DROP NOT NULL
 720a465dce2c726a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	AlterColumnOperation::DropNotNull	0	DROP NOT NULL
 720a465dce2c726a	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN is_active DROP NOT NULL
@@ -7794,15 +6645,8 @@
 72c393e7c77425e5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	5!
 72c393e7c77425e5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT 5!
 72c393e7c77425e5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT 5!
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY(ABSENT ON NULL)
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY(ABSENT ON NULL)
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY(ABSENT ON NULL)
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY(ABSENT ON NULL)
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY(ABSENT ON NULL)
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY(ABSENT ON NULL)
 72d0913976baa835	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	ABSENT ON NULL
 72d0913976baa835	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentList	0	ABSENT ON NULL
-72d0913976baa835	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArguments::List	0	(ABSENT ON NULL)
 72d74575987fa495	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	$1:SEQUENCE::NUMBER(38, 0)
 72d74575987fa495	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	$1:SEQUENCE::NUMBER(38, 0)
 72d74575987fa495	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1:SEQUENCE
@@ -7813,6 +6657,20 @@
 72d74575987fa495	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 72ffbf9b586c10af	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT
 72ffbf9b586c10af	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	a INT
+7307cbe7c7ae51d9	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	!a
+7307cbe7c7ae51d9	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!a
+730d94ebbe0cee4c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InList	0	x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Nested	0	((SELECT a FROM u))
+730d94ebbe0cee4c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+730d94ebbe0cee4c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::InList	0	x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Nested	0	((SELECT a FROM u))
+730d94ebbe0cee4c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+730d94ebbe0cee4c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x NOT IN (((SELECT a FROM u)), 1)
+730d94ebbe0cee4c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x NOT IN (((SELECT a FROM u)), 1)
 7314eae7c7b910e2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	-x
 7314eae7c7b910e2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-x
 7314eae7c7b910e2	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	-x
@@ -7847,20 +6705,6 @@
 739f3fc2ab727432	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY(6))
 739f3fc2ab727432	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL DAY(6))
 739f3fc2ab727432	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL DAY(6))
-73b87c20daefdd15	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(col_2, 1, 0)
-73b87c20daefdd15	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	end	Function	0	LAG(col_2, 1, 0) IGNORE NULLS OVER (ORDER BY col_1)
-73b87c20daefdd15	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	LAG(col_2, 1, 0) IGNORE NULLS OVER (ORDER BY col_1)
-73b87c20daefdd15	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	LAG(col_2, 1, 0) IGNORE NULLS OVER (ORDER BY col_1)
-73b87c20daefdd15	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	col_1
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(a)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	foo(lower(a) AS x, b AS y)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	lower(a)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	foo(lower(a) AS x, b AS y)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT foo(lower(a) AS x, b AS y)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo(lower(a) AS x, b AS y)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	lower(a)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT foo(lower(a) AS x, b AS y)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT foo(lower(a) AS x, b AS y)
 73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	b AS y
 73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	lower(a) AS x
 73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArg::Unnamed	0	b AS y
@@ -7868,11 +6712,6 @@
 73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	b AS y
 73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	lower(a) AS x
 73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	lower(a) AS x, b AS y
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(lower(a) AS x, b AS y)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Function	0	lower(a)
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Identifier	0	b
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	x
-73c525d221568a66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	y
 73e5649766ea2135	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<<
 73e5649766ea2135	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<<
 73e5649766ea2135	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<<
@@ -7900,31 +6739,19 @@
 745c5552589c1647	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> SELECT id AS user_id
 745c5552589c1647	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::ExprWithAlias	0	id AS user_id
 746bb3757fda9ec0	4edff8487059a4e8	BigQueryDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD FULLTEXT INDEX (textcol(10))
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	FULLTEXT INDEX (textcol(10))
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(10)
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::FulltextOrSpatial	0	FULLTEXT INDEX (textcol(10))
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	textcol(10)
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	textcol(10)
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	textcol(10)
-74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	textcol(10)
+74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::AddConstraint	0	ADD FULLTEXT INDEX (textcol(10))
+74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	FullTextOrSpatialConstraint	0	FULLTEXT INDEX (textcol(10))
+74a59f609e81a755	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	TableConstraint::FulltextOrSpatial	0	FULLTEXT INDEX (textcol(10))
 74b4faf9dbfbda7b	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT b FROM t FOR JSON AUTO
 74dc51377de2ba23	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	age DESC
 74dc51377de2ba23	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	age DESC
 74ecccc0e3e506b6	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Lock	0	LOCK = SHARED
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	both	ExprWithAlias	0	SUM(amount)
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	both	Function	0	SUM(amount)
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(amount)
 75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM quarterly_sales PIVOT(SUM(amount) FOR quarter IN (SELECT DISTINCT quarter FROM ad_campaign_types_by_quarter WHERE television = true ORDER BY quarter))
 75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	quarterly_sales PIVOT(SUM(amount) FOR quarter IN (SELECT DISTINCT quarter FROM ad_campaign_types_by_quarter WHERE television = true ORDER BY quarter))
 75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	start	OrderBy	0	ORDER BY empid
 75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	edges	start	OrderBy	0	ORDER BY quarter
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	SUM(amount)
 75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM quarterly_sales PIVOT(SUM(amount) FOR quarter IN (SELECT DISTINCT quarter FROM ad_campaign_types_by_quarter WHERE television = true ORDER BY quarter))
 75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Pivot	0	quarterly_sales PIVOT(SUM(amount) FOR quarter IN (SELECT DISTINCT quarter FROM ad_campaign_types_by_quarter WHERE television = true ORDER BY quarter))
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	SUM
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	SUM
-75066aee6fe009bb	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 752b249c95bc4808	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	Join	0	LEFT JOIN orders ON users.id = orders.user_id
 752b249c95bc4808	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> LEFT JOIN orders ON users.id = orders.user_id
 752b249c95bc4808	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	LEFT JOIN orders ON users.id = orders.user_id
@@ -7937,11 +6764,7 @@
 753a30a3a3689991	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	inserted.*
 753a30a3a3689991	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectInto	0	INTO log_target
 753a30a3a3689991	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUES (source_table.id, source_table.description)
-754df3507c945204	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-754df3507c945204	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 754df3507c945204	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-754df3507c945204	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-754df3507c945204	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 754df3507c945204	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
 755b193e3dae8ba5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	- - -1
 755b193e3dae8ba5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	- - -1
@@ -7951,11 +6774,8 @@
 755b193e3dae8ba5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	- - -1
 755b193e3dae8ba5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	- -1
 755b193e3dae8ba5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-1
-7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => '2024-12-15 00:00:00')
-7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
 7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM tbl BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
 7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	tbl BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
-7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
 7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM tbl BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
 7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM tbl BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
 7561f1645b34b22f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	tbl BEFORE(TIMESTAMP => '2024-12-15 00:00:00')
@@ -7964,12 +6784,9 @@
 75635f67b99275b0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Nested	0	(FOO.ID = FOO_IMPORT.ID)
 75635f67b99275b0	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUES (1, 'abc')
 75635f67b99275b0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Nested	0	(FOO.ID = FOO_IMPORT.ID)
-7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
 7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@namespace
 7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	stage_name/path
-7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
 7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@namespace.stage_name/path
-7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@namespace
 7571b6dd6c681b22	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	stage_name/path
 7574675fbecaa2d1	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	|/ -2
@@ -7994,11 +6811,6 @@
 75a5dadfb3219acf	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 75a5dadfb3219acf	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 75a5dadfb3219acf	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
-75aa7ec1f5e60d9e	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-75aa7ec1f5e60d9e	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-75aa7ec1f5e60d9e	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-75aa7ec1f5e60d9e	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-75aa7ec1f5e60d9e	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 75b199d380aa12a2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	lat DOUBLE NULL
 75b199d380aa12a2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	lng DOUBLE
 75b199d380aa12a2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	name VARCHAR(100) NOT NULL
@@ -8013,14 +6825,7 @@
 75b199d380aa12a2	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOption::Null	0	NULL
 75b199d380aa12a2	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 75b199d380aa12a2	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	NULL
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	SUM(amount)
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(amount)
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(amount)
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(amount)
 75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(SUM(amount) FOR quarter IN ('Q1', 'Q2', 'Q3', 'Q4'))
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(amount)
 75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarter
 75e097e1f343c835	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	PivotValueSource::List	0	'Q1', 'Q2', 'Q3', 'Q4'
@@ -8036,8 +6841,8 @@
 76724fc1afb07275	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> SELECT id, name
 76724fc1afb07275	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	id
 76724fc1afb07275	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	name
-7675c12bd1410bfd	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC
-7675c12bd1410bfd	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC
+7675c12bd1410bfd	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC
+7675c12bd1410bfd	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC
 7675c12bd1410bfd	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC
 7675c12bd1410bfd	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC
 7694c01c4345d9bf	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE GROUP BY a, b
@@ -8147,26 +6952,11 @@
 788fda25eba593a1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE ENFORCED
 788fda25eba593a1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	ENFORCED
 788fda25eba593a1	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () ENFORCED
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('an', 'banana', 1)
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	position('an', 'banana', 1)
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	position('an', 'banana', 1)
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT position('an', 'banana', 1)
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	position('an', 'banana', 1)
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT position('an', 'banana', 1)
-78b7016f44884178	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT position('an', 'banana', 1)
 78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	both	AccessExpr::Subscript	0	[indexOf(string_name, 'app')]
 78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	both	AccessExpr::Subscript	0	[indexOf(string_names, 'endpoint')]
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(string_name, 'app')
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(string_names, 'endpoint')
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	indexOf(string_name, 'app')
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	indexOf(string_names, 'endpoint')
 78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	end	SelectItem::UnnamedExpr	0	string_values[indexOf(string_names, 'endpoint')]
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	end	Subscript::Index	0	indexOf(string_name, 'app')
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	edges	end	Subscript::Index	0	indexOf(string_names, 'endpoint')
 78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::CompoundFieldAccess	0	string_value[indexOf(string_name, 'app')]
 78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::CompoundFieldAccess	0	string_values[indexOf(string_names, 'endpoint')]
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	indexOf(string_name, 'app')
-78c862d2b0734016	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	indexOf(string_names, 'endpoint')
 78ef02eb3b683d99	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::AttachPartition	0	ATTACH PART part
 78ef048839befcd8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR TO MONTH
 78f7b683284cf90f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Subquery	0	(SELECT price FROM invoices)
@@ -8182,10 +6972,6 @@
 7961e0af804d0498	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR TO MINUTE(1))
 7961e0af804d0498	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR TO MINUTE(1))
 7961e0af804d0498	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR TO MINUTE(1))
-798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(c)
-798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	ExprWithAlias	0	SUM(c)
-798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	SUM(c)
-798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(c)
 798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE SUM(c) GROUP BY a, b
 798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(c)
 798ebe82ee803712	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	a
@@ -8210,14 +6996,8 @@
 7a1071453e7c8c3d	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Select	0	SELECT * FROM t GROUP BY a, b WITH ROLLUP WITH CUBE
 7a14ecd2e866a388	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	CreateTableOptions::With	0	WITH (foo = 'bar', a = 123)
 7a14ecd2e866a388	fdaf9332c09858cf	DuckDbDialect	edges	both	CreateTableOptions::With	0	WITH (foo = 'bar', a = 123)
-7a24beb8bfa23813	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-7a24beb8bfa23813	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	foo(id)
-7a24beb8bfa23813	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	foo(id)
-7a24beb8bfa23813	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	foo(id)
-7a24beb8bfa23813	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-7a24beb8bfa23813	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	foo(id)
-7a24beb8bfa23813	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	foo(id)
-7a24beb8bfa23813	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	foo(id)
+7a27db1fe8df2699	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::ExprWithAlias	0	t.n AS ''
+7a27db1fe8df2699	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	''
 7a3b55831ffba0ef	4edff8487059a4e8	OracleDialect	edges	start	SetExpr::Values	0	VALUES (1, 2, 3)
 7a3b55831ffba0ef	4edff8487059a4e8	OracleDialect	edges	start	Values	0	VALUES (1, 2, 3)
 7a3b55831ffba0ef	4edff8487059a4e8	OracleDialect	reparse	inexact	Query	0	VALUES (1, 2, 3)
@@ -8239,19 +7019,12 @@
 7a94307214e8667c	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::InSubquery	0	x IN (SELECT y FROM u)
 7a94307214e8667c	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN (SELECT y FROM u)
 7a94307214e8667c	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN (SELECT y FROM u)
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	both	ExprWithAlias	0	SUM(amount)
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	both	Function	0	SUM(amount)
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(amount)
 7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM quarterly_sales PIVOT(SUM(amount) FOR quarter IN (ANY ORDER BY quarter))
 7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	quarterly_sales PIVOT(SUM(amount) FOR quarter IN (ANY ORDER BY quarter))
 7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	start	OrderBy	0	ORDER BY empid
 7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	edges	start	PivotValueSource::Any	0	ANY ORDER BY quarter
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	SUM(amount)
 7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM quarterly_sales PIVOT(SUM(amount) FOR quarter IN (ANY ORDER BY quarter))
 7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Pivot	0	quarterly_sales PIVOT(SUM(amount) FOR quarter IN (ANY ORDER BY quarter))
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	SUM
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	SUM
-7a981c1802470e3e	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 7aa326d9f144ee85	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Fetch	0	FETCH FIRST 2 ROWS ONLY
 7aa326d9f144ee85	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	LimitClause::LimitOffset	0	 OFFSET 2 ROWS
 7aa326d9f144ee85	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Offset	0	OFFSET 2 ROWS
@@ -8267,9 +7040,6 @@
 7ab06f3783e93ed9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL SECOND(5))
 7ab06f3783e93ed9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL SECOND(5))
 7ab06f3783e93ed9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL SECOND(5))
-7acbd99602d74424	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(x)
-7acbd99602d74424	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	ARRAY_AGG(x) WITHIN GROUP (ORDER BY x)
-7acbd99602d74424	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x) WITHIN GROUP (ORDER BY x)
 7acdaac7b0a3d715	4edff8487059a4e8	ClickHouseDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT "bar" PRIMARY KEY (baz)
 7acdaac7b0a3d715	4edff8487059a4e8	ClickHouseDialect	edges	both	PrimaryKeyConstraint	0	CONSTRAINT "bar" PRIMARY KEY (baz)
 7acdaac7b0a3d715	4edff8487059a4e8	ClickHouseDialect	edges	both	TableConstraint::PrimaryKey	0	CONSTRAINT "bar" PRIMARY KEY (baz)
@@ -8388,8 +7158,6 @@
 7c0210e2549ee75d	fdaf9332c09858cf	DuckDbDialect	structure	empty	CreateTableOptions::Plain	0	COMMENT = 'comment with equal'
 7c0210e2549ee75d	fdaf9332c09858cf	DuckDbDialect	structure	empty	SqlOption::Comment	0	COMMENT = 'comment with equal'
 7c07ce1123ef03f5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO MINUTE(1)
-7c0ded584f3c05c9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-7c0ded584f3c05c9	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
 7c123d3ddaf92bc6	4edff8487059a4e8	SnowflakeDialect	edges	end	ViewColumnDef	0	COL WITH MASKING POLICY foo.bar.baz
 7c123d3ddaf92bc6	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Policy	0	WITH MASKING POLICY foo.bar.baz
 7c123d3ddaf92bc6	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	foo.bar.baz
@@ -8412,11 +7180,7 @@
 7c262af02e147e6d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL(5))
 7c262af02e147e6d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL(5))
 7c262af02e147e6d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL(5))
-7c30f074aeea490a	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-7c30f074aeea490a	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 7c30f074aeea490a	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-7c30f074aeea490a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-7c30f074aeea490a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 7c30f074aeea490a	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 7c4540b42dc77d36	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS EXPLAIN
 7c4809f0c7be8261	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	CAST(details AS JSONB)
@@ -8477,6 +7241,8 @@
 7d20606fdb3fe2e1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	Join	0	LEFT OUTER JOIN orders ON users.id = orders.user_id
 7d20606fdb3fe2e1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> LEFT OUTER JOIN orders ON users.id = orders.user_id
 7d20606fdb3fe2e1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	LEFT OUTER JOIN orders ON users.id = orders.user_id
+7d31b9cb48f44355	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	o OBJECT()
+7d31b9cb48f44355	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	ColumnDef	0	o OBJECT()
 7d6d2e9fa33d8033	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO MINUTE
 7d72303574068100	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Lock	0	LOCK NONE
 7d812756178e6feb	4edff8487059a4e8	SnowflakeDialect	edges	start	AlterTableOperation::DropColumn	0	DROP COLUMN c1, c2, c3
@@ -8489,31 +7255,23 @@
 7d951c6cd170578c	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM (a AS alias1 NATURAL JOIN b c)
 7d951c6cd170578c	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (a AS alias1 NATURAL JOIN b c)
 7d951c6cd170578c	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::NestedJoin	0	(a AS alias1 NATURAL JOIN b c)
-7da6a4ddcac44e0f	4edff8487059a4e8	DatabricksDialect	structure	empty	Ident	0	"my_catalog"
-7da6a4ddcac44e0f	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectName	0	"my_catalog"
-7da6a4ddcac44e0f	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"my_catalog"
 7da8b6e59d54d366	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL HOUR(6))
 7da8b6e59d54d366	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL HOUR(6))
 7da8b6e59d54d366	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR(6))
 7da8b6e59d54d366	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR(6))
 7da8b6e59d54d366	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR(6))
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	foo(a AS "x y")
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	foo(a AS "x y")
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT foo(a AS "x y")
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo(a AS "x y")
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT foo(a AS "x y")
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT foo(a AS "x y")
 7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	a AS "x y"
 7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArg::Unnamed	0	a AS "x y"
 7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	a AS "x y"
 7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	a AS "x y"
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(a AS "x y")
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Identifier	0	a
-7dd7e7de9df4be4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	"x y"
 7dd8b92a7e1dc4b9	4edff8487059a4e8	SQLiteDialect,GenericDialect	edges	end	ColumnDef	0	a INT
 7dd8b92a7e1dc4b9	4edff8487059a4e8	SQLiteDialect,GenericDialect	edges	end	ColumnDef	0	b INT ON CONFLICT ABORT
 7dd8b92a7e1dc4b9	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOption::OnConflict	0	ON CONFLICT ABORT
 7dd8b92a7e1dc4b9	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	ON CONFLICT ABORT
+7ddee4bf834c9e43	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.i
+7ddee4bf834c9e43	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.i
+7ddf1dbf834cff1e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	 . 2
+7ddf1dbf834cff1e	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	 . 2
 7ddfec8c0e0cad85	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1)
 7ddfec8c0e0cad85	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (1)
 7ddfec8c0e0cad85	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	VALUES (1)
@@ -8570,12 +7328,9 @@
 7ea51e9e8818f819	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (a NATURAL JOIN b)
 7ea51e9e8818f819	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::NestedJoin	0	(a NATURAL JOIN b)
 7ea64748e2bd375d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO HOUR
-7ebda404d2c0a4f5	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(sections_tbl.*)
-7ebda404d2c0a4f5	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	GREATEST(sections_tbl.*)
 7ebda404d2c0a4f5	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArg::Unnamed	0	sections_tbl.*
 7ebda404d2c0a4f5	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgExpr::QualifiedWildcard	0	sections_tbl.*
 7ebda404d2c0a4f5	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgumentList	0	sections_tbl.*
-7ebda404d2c0a4f5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	GREATEST(sections_tbl.*)
 7ed080245b533a0b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL DAY TO HOUR(0)
 7ed080245b533a0b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL DAY TO HOUR(0)
 7ed080245b533a0b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL DAY TO HOUR(0)
@@ -8611,14 +7366,6 @@
 7ee524245b64f9c1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL DAY TO HOUR(6)
 7ee524245b64f9c1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL DAY TO HOUR(6)
 7ee524245b64f9c1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL DAY TO HOUR(6)
-7ef38dd5291968d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-7ef38dd5291968d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-7ef38dd5291968d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-7ef38dd5291968d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-7ef38dd5291968d4	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-7ef38dd5291968d4	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-7ef38dd5291968d4	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-7ef38dd5291968d4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 7ef403729a3b3936	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	name VARCHAR(100) NOT NULL
 7ef403729a3b3936	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 7ef403729a3b3936	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	NOT NULL
@@ -8653,6 +7400,9 @@
 7f650311e0b0b358	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	@ 2
 7f68a769dd5be693	4edff8487059a4e8	RedshiftSqlDialect	edges	end	ColumnDef	0	c1 INT
 7f68a769dd5be693	4edff8487059a4e8	RedshiftSqlDialect	edges	end	ColumnDef	0	c2 INT
+7f810f65337d1e3b	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	! ~ a
+7f810f65337d1e3b	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! ~ a
+7f810f65337d1e3b	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	~ a
 7f9345f1c4f54efc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::DropConstraint	0	DROP CONSTRAINT IF EXISTS constraint_name CASCADE
 7f9345f1c4f54efc	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::DropConstraint	0	DROP CONSTRAINT IF EXISTS constraint_name CASCADE
 7fa082e05be9794b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Like	0	name NOT LIKE '%a' ESCAPE '^'
@@ -8674,20 +7424,6 @@
 7fbe2d161aa9b154	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 MINVALUE 1 )
 7fbe2d161aa9b154	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	1
 7fbe2d161aa9b154	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	1	1
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(dateid)
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(dateid)
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid)
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid)
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid)
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid)
-7fcc70a878d9d838	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid)
-7fcc70a878d9d838	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid)
 7fd62ea7065c6b23	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	a = ALL(b)
 7fd62ea7065c6b23	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT a = ALL(b)
 7fd62ea7065c6b23	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::AllOp	0	a = ALL(b)
@@ -8698,16 +7434,9 @@
 7fd62ea7065c6b23	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::AllOp	0	a = ALL(b)
 7fd62ea7065c6b23	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a = ALL(b)
 7fd62ea7065c6b23	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a = ALL(b)
-7ff26d37f39f6496	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(a)
 7ff26d37f39f6496	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	a INT
 7ff26d37f39f6496	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	b TEXT
-7ff26d37f39f6496	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	RANGE(a)
-7ff26d37f39f6496	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	RANGE(a)
-8008f963400cb8c5	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-8008f963400cb8c5	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 8008f963400cb8c5	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-8008f963400cb8c5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-8008f963400cb8c5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 8008f963400cb8c5	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 804fedd846fdd91d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> TABLESAMPLE SYSTEM (50 PERCENT)
 804fedd846fdd91d	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Value	0	50
@@ -8722,36 +7451,23 @@
 81174a7b99ab2d5c	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	<
 81174a7b99ab2d5c	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	<
 81174a7b99ab2d5c	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	<
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c12)
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	MIN(c12) OVER window1
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ROW_NUMBER() OVER my_window
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	window1 AS (ORDER BY C12)
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	window2 AS (PARTITION BY C11)
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 QUALIFY ROW_NUMBER() OVER my_window WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY C3
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	MIN(c12) OVER window1
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER my_window
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 QUALIFY ROW_NUMBER() OVER my_window WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	0	C11
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	my_window
-81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	window1
 81207f228167c408	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	C12
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c12)
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	MIN(c12) OVER window1
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ROW_NUMBER() OVER my_window
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	window1 AS (ORDER BY C12)
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	window2 AS (PARTITION BY C11)
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 QUALIFY ROW_NUMBER() OVER my_window WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY C3
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	MIN(c12) OVER window1
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER my_window
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 QUALIFY ROW_NUMBER() OVER my_window WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	C11
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	my_window
-81207f228167c408	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	window1
 81207f228167c408	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	C12
+8161e74ee250d18a	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN b UInt8
+8161e74ee250d18a	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY (a, b)
+8161e74ee250d18a	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	b UInt8
 817587cf6db0a690	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	BIGNUMERIC '-0.54321'
 817587cf6db0a690	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::TypedString	0	BIGNUMERIC '-0.54321'
 817587cf6db0a690	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	BIGNUMERIC '-0.54321'
@@ -8767,9 +7483,6 @@
 81a259b6c00d6b2b	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	myschema.mytable.*
 81df209cd06f33d6	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	cola STRING
 81df209cd06f33d6	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	colb BIGINT
-81df209cd06f33d6	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'"'
-81df209cd06f33d6	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'\t'
-81df209cd06f33d6	4edff8487059a4e8	HiveDialect	structure	empty	Ident	1	'"'
 81e6b9eb91fd6364	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN description desc TEXT NOT NULL FIRST
 81e6b9eb91fd6364	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 81f8bec76f816842	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM x WHERE a ILIKE ANY ('%Jo%oe%', 'T%e')
@@ -8818,10 +7531,10 @@
 8251143787f07060	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL SECOND(6))
 8252103fc5fde0cb	4edff8487059a4e8	RedshiftSqlDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT('month' FROM my_timestamp)
 8252103fc5fde0cb	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Expr::Extract	0	EXTRACT('month' FROM my_timestamp)
-8252103fc5fde0cb	4edff8487059a4e8	RedshiftSqlDialect	structure	empty	Ident	0	'month'
+8252103fc5fde0cb	4edff8487059a4e8	RedshiftSqlDialect	structure	outside-parent	Ident	0	'month'
 8252103fc5fde0cb	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT('month' FROM my_timestamp)
 8252103fc5fde0cb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Extract	0	EXTRACT('month' FROM my_timestamp)
-8252103fc5fde0cb	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'month'
+8252103fc5fde0cb	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	'month'
 82638a607d9fee4c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR(1)
 827b42930ff4a10c	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	child_column INT
 82862ee0b2ceee70	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	@@
@@ -8851,8 +7564,6 @@
 83362ba218ca9565	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::OuterJoin	0	c2 (+)
 83362ba218ca9565	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE c1 = c2 (+)
 83362ba218ca9565	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE c1 = c2 (+)
-833f55c992930307	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(col1, col2, 'literal')
-833f55c992930307	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	namespace.function_name(col1, col2, 'literal')
 833f55c992930307	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL namespace.function_name(col1, col2, 'literal')
 833f55c992930307	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	namespace.function_name(col1, col2, 'literal')
 8345bddff6b9ce66	4edff8487059a4e8	BigQueryDialect	edges	both	ObjectNamePart::Identifier	0	`bar`
@@ -8871,24 +7582,12 @@
 836e09b4169c3ae4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableAlias	0	nums (val)
 836e09b4169c3ae4	fdaf9332c09858cf	DuckDbDialect	edges	end	TableAlias	0	nums (val)
 837383ba2b7a59e8	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN a b INT FIRST
-8387f9e3619553ad	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	4edff8487059a4e8	BigQueryDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
 8387f9e3619553ad	4edff8487059a4e8	BigQueryDialect	edges	start	FunctionArgumentClause::Limit	0	LIMIT 2
 8387f9e3619553ad	4edff8487059a4e8	BigQueryDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-8387f9e3619553ad	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
 8387f9e3619553ad	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::Limit	0	LIMIT 2
 8387f9e3619553ad	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-8387f9e3619553ad	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
-8387f9e3619553ad	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
 8387f9e3619553ad	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Limit	0	LIMIT 2
 8387f9e3619553ad	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-8387f9e3619553ad	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x LIMIT 2)
 83a9412b378ce30e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Fetch	0	FETCH FIRST 10 ROWS ONLY
 83a9412b378ce30e	fdaf9332c09858cf	DuckDbDialect	edges	both	Fetch	0	FETCH FIRST 10 ROWS ONLY
 83b748edc493388c	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	SPATIAL KEY potato (id)
@@ -8981,18 +7680,12 @@
 84b5ebc38fc34389	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	id NUMBER
 84b5ebc38fc34389	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 84b5ebc38fc34389	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	VARIANT
-84c8b863b93ab57b	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('security_id' : s.security_id, 'login' : s.login_name, 'status' : s.status)
-84c8b863b93ab57b	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_OBJECT('security_id' : s.security_id, 'login' : s.login_name, 'status' : s.status)
 84c8b863b93ab57b	4edff8487059a4e8	MsSqlDialect	edges	start	TableAlias	0	AS s
-84c8b863b93ab57b	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('security_id' : s.security_id, 'login' : s.login_name, 'status' : s.status)
-84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraint	0	EXCLUDE USING gist ((lower(name)) text_pattern_ops WITH =)
 84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraintElement	0	(lower(name)) text_pattern_ops WITH =
-84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(name)
 84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	IndexColumn	0	(lower(name)) text_pattern_ops
-84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	EXCLUDE USING gist ((lower(name)) text_pattern_ops WITH =)
 84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	name TEXT
-84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	lower(name)
-84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	lower(name)
+84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ExcludeConstraint	0	EXCLUDE USING gist ((lower(name)) text_pattern_ops WITH =)
+84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	TableConstraint::Exclude	0	EXCLUDE USING gist ((lower(name)) text_pattern_ops WITH =)
 84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Nested	0	(lower(name))
 84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	(lower(name))
 84d067c2bb2dacc4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	outside-parent	ObjectName	0	text_pattern_ops
@@ -9028,24 +7721,7 @@
 8528a5c2b570bf48	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL DAY(4))
 8528a5c2b570bf48	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL DAY(4))
 8528a5c2b570bf48	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL DAY(4))
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(date_part(hour, ts))
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(dt, 'YYYY-MM-DD')
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(hour, ts)
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	date_part(hour, ts)
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	to_varchar(date_part(hour, ts))
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	to_varchar(dt, 'YYYY-MM-DD')
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Unnamed	0	date_part(hour, ts)
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	date_part(hour, ts)
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	date_part(hour, ts)
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::BinaryOp	0	'date=' || to_varchar(dt, 'YYYY-MM-DD')
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::BinaryOp	0	'date=' || to_varchar(dt, 'YYYY-MM-DD') || '/hour=' || to_varchar(date_part(hour, ts))
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	date_part(hour, ts)
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	to_varchar(date_part(hour, ts))
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	to_varchar(dt, 'YYYY-MM-DD')
 8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Nested	0	('date=' || to_varchar(dt, 'YYYY-MM-DD') || '/hour=' || to_varchar(date_part(hour, ts)))
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	's3://a/b/c/data.parquet'
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	's3://a/b/c/data.parquet'
-8533196776b02ea4	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	's3://a/b/c/data.parquet'
 8546ec7cf04f117d	4edff8487059a4e8	AnsiDialect,GenericDialect,PostgreSqlDialect,SnowflakeDialect	edges	both	TableWithJoins	0	(TABLE old_table ORDER BY x)
 8546ec7cf04f117d	4edff8487059a4e8	AnsiDialect,GenericDialect,PostgreSqlDialect,SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM (TABLE old_table ORDER BY x)
 8546ec7cf04f117d	4edff8487059a4e8	AnsiDialect,GenericDialect,PostgreSqlDialect,SnowflakeDialect	edges	start	OrderBy	0	ORDER BY x
@@ -9070,15 +7746,6 @@
 85a28d33732d862e	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	c TIMESTAMP
 85a28d33732d862e	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	d STRING
 85a28d33732d862e	4edff8487059a4e8	HiveDialect	edges	end	ColumnDef	0	e TIMESTAMP
-85a28d33732d862e	4edff8487059a4e8	HiveDialect	edges	start	SqlOption::KeyValue	0	'asdf' = "1234"
-85a28d33732d862e	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'asdf'
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(document '<a/>')
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	xmlparse(document '<a/>')
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	xmlparse(document '<a/>')
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT xmlparse(document '<a/>')
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	xmlparse(document '<a/>')
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT xmlparse(document '<a/>')
-85e820f75abaefd3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT xmlparse(document '<a/>')
 85ec4de9c06203b4	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@schema
 85ec4de9c06203b4	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	general_finished
 85ec4de9c06203b4	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	st
@@ -9100,12 +7767,7 @@
 8663b5aef5cac316	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	+5000
 8681fba78d03bf8f	4edff8487059a4e8	AnsiDialect,GenericDialect,MySqlDialect	structure	empty	Query	0	TABLE `%mpty`
 8681fba78d03bf8f	4edff8487059a4e8	AnsiDialect,GenericDialect,MySqlDialect	structure	empty	SetExpr::Table	0	TABLE `%mpty`
-869ab1d38cdafbad	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(column2)
-869ab1d38cdafbad	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	end	Function	0	FIRST_VALUE(column2) IGNORE NULLS OVER (PARTITION BY column1 ORDER BY column2 NULLS LAST)
-869ab1d38cdafbad	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(column2) IGNORE NULLS OVER (PARTITION BY column1 ORDER BY column2 NULLS LAST)
 869ab1d38cdafbad	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	reparse	inexact	OrderByExpr	0	column2 NULLS LAST
-869ab1d38cdafbad	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	structure	outside-parent	Expr::Identifier	1	column1
-869ab1d38cdafbad	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	column2 NULLS LAST
 869cc83d318c8866	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x FOR XML AUTO, ELEMENTS
 86ac563f85ea65f7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraint	0	EXCLUDE USING gist (room WITH =, during WITH &&)
 86ac563f85ea65f7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	EXCLUDE USING gist (room WITH =, during WITH &&)
@@ -9122,6 +7784,7 @@
 87172afc89f78e76	4edff8487059a4e8	MsSqlDialect	edges	start	SetExpr::Values	0	VALUES (1)
 87172afc89f78e76	4edff8487059a4e8	MsSqlDialect	edges	start	Values	0	VALUES (1)
 87172afc89f78e76	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	VALUES (1)
+875bbaf30bad99d0	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
 8762ca130096a8b3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL SECOND(3)
 8762ca130096a8b3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL SECOND(3)
 8762ca130096a8b3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL SECOND(3)
@@ -9167,9 +7830,6 @@
 877ad21300ab482c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL SECOND(4)
 877ad21300ab482c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL SECOND(4)
 877ad21300ab482c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL SECOND(4)
-878d5503a1e58774	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"en_US"
-878d5503a1e58774	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"en_US"
-878d5503a1e58774	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"en_US"
 87f72038b5c9260e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	NATURAL RIGHT OUTER JOIN t2
 87f72038b5c9260e	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	NATURAL RIGHT OUTER JOIN t2
 8800af4760a1c0e4	4edff8487059a4e8	SnowflakeDialect	edges	end	ViewColumnDef	0	COL WITH TAG (pii='email') COMMENT 'foobar'
@@ -9197,10 +7857,7 @@
 885faf0266252fb1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	AlterColumnOperation::SetNotNull	0	SET NOT NULL
 885faf0266252fb1	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AlterColumn	0	ALTER COLUMN is_active SET NOT NULL
 885faf0266252fb1	fdaf9332c09858cf	DuckDbDialect	structure	empty	AlterColumnOperation::SetNotNull	0	SET NOT NULL
-889a5fd56ff1ccda	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	('2023-04-22')
-889a5fd56ff1ccda	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	Partition::Expr	0	PARTITION tuple('2023-04-22')
-889a5fd56ff1ccda	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	tuple('2023-04-22')
-889a5fd56ff1ccda	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	tuple('2023-04-22')
+889a5fd56ff1ccda	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Partition::Expr	0	PARTITION tuple('2023-04-22')
 889ff85906f2a627	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar_bigint BIGINT(20)
 889ff85906f2a627	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar_int INT(11)
 889ff85906f2a627	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar_mediumint MEDIUMINT(6)
@@ -9247,14 +7904,7 @@
 89670439c9597810	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM tbl AS t TABLESAMPLE SYSTEM (50)
 89670439c9597810	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Table	0	tbl AS t TABLESAMPLE SYSTEM (50)
 89670439c9597810	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	0	50
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	SUM(revenue)
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(revenue)
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(revenue)
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(revenue)
 896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> WHERE year = 2023 |> PIVOT(SUM(revenue) FOR quarter IN ('Q1', 'Q2', 'Q3', 'Q4'))
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::BinaryOp	0	year = 2023
 896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(revenue)
 896f07bc525d7715	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarter
@@ -9289,32 +7939,19 @@
 89e764e1fc189712	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	info #- ARRAY['a', 'b']
 89e764e1fc189712	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Array	0	ARRAY['a', 'b']
 89e764e1fc189712	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::BinaryOp	0	info #- ARRAY['a', 'b']
-89ef24352418e3d9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x, y)
-89ef24352418e3d9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	LAST_VALUE(x ORDER BY x, y)
 89ef24352418e3d9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x, y
-89ef24352418e3d9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	LAST_VALUE(x ORDER BY x, y)
 89f02742137a0460	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b WITH ROLLUP
 89f02742137a0460	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT * FROM t GROUP BY a, b WITH ROLLUP
 89f02742137a0460	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT * FROM t GROUP BY a, b WITH ROLLUP
 89f02742137a0460	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Select	0	SELECT * FROM t GROUP BY a, b WITH ROLLUP
 89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	both	ExcludeSelectItem::Multiple	0	EXCLUDE (col1)
-89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	Function	0	HASH(* EXCLUDE (col1))
-89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	HASH(* EXCLUDE (col1))
-89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Expr::Function	0	HASH(* EXCLUDE (col1))
 89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArg::Unnamed	0	* EXCLUDE (col1)
 89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArgExpr::WildcardWithOptions	0	* EXCLUDE (col1)
 89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArgumentList	0	* EXCLUDE (col1)
-89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArguments::List	0	(* EXCLUDE (col1))
-89f547120cbc8ef0	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	outside-parent	WildcardAdditionalOptions	0	 EXCLUDE (col1)
 89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	edges	both	ExcludeSelectItem::Multiple	0	EXCLUDE (col1)
-89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	HASH(* EXCLUDE (col1))
-89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	HASH(* EXCLUDE (col1))
-89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	HASH(* EXCLUDE (col1))
 89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	* EXCLUDE (col1)
 89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::WildcardWithOptions	0	* EXCLUDE (col1)
 89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	* EXCLUDE (col1)
-89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(* EXCLUDE (col1))
-89f547120cbc8ef0	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	WildcardAdditionalOptions	0	 EXCLUDE (col1)
 8a0cdab0c75210c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<=
 8a0cdab0c75210c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<=
 8a0cdab0c75210c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<=
@@ -9324,8 +7961,8 @@
 8a1743af428cfce7	fdaf9332c09858cf	DuckDbDialect	structure	empty	SetExpr::Table	0	TABLE schema_name.old_table
 8a509604278210cd	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM t SETTINGS additional_table_filters = {'table_1': 'x != 2'}
 8a509604278210cd	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Expr::Dictionary	0	{'table_1': 'x != 2'}
-8a509604278210cd	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'table_1'
 8a509604278210cd	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	outside-parent	Expr::Value	0	'x != 2'
+8a509604278210cd	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	outside-parent	Ident	0	'table_1'
 8a509604278210cd	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	outside-parent	Ident	0	additional_table_filters
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (^ S1 S2*? ( {- S3 -} S4 )+ | PERMUTE(S1, S2){1,2} $) DEFINE DUMMY AS 1 = 1)
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	TableWithJoins	0	my_table MATCH_RECOGNIZE(PATTERN (^ S1 S2*? ( {- S3 -} S4 )+ | PERMUTE(S1, S2){1,2} $) DEFINE DUMMY AS 1 = 1)
@@ -9341,7 +7978,6 @@
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Permute	0	PERMUTE(S1, S2)
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	( {- S3 -} S4 )+
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	PERMUTE(S1, S2){1,2}
-8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S2*
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S2*?
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	$
 8a6f35afe3ad9a12	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	S1
@@ -9352,6 +7988,11 @@
 8a83723cb5493800	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column30 TEXT
 8a83723cb5493800	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED BY DEFAULT AS IDENTITY
 8a83723cb5493800	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	GENERATED BY DEFAULT AS IDENTITY
+8a9bc5a61e69b5d8	4edff8487059a4e8	SQLiteDialect	edges	both	SelectItem::UnnamedExpr	0	CAST(a AS)
+8a9bc5a61e69b5d8	4edff8487059a4e8	SQLiteDialect	edges	end	SetExpr::Select	0	SELECT CAST(a AS)
+8a9bc5a61e69b5d8	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Cast	0	CAST(a AS)
+8a9bc5a61e69b5d8	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT CAST(a AS)
+8a9bc5a61e69b5d8	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT CAST(a AS)
 8aa824ac20d671d2	4edff8487059a4e8	SnowflakeDialect	edges	both	SetExpr::Query	0	(SELECT 1)
 8aa824ac20d671d2	4edff8487059a4e8	SnowflakeDialect	edges	end	ViewColumnDef	0	"COL_1" COMMENT 'comment 1'
 8aa824ac20d671d2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	(SELECT 1)
@@ -9387,9 +8028,7 @@
 8b3a6015deff2768	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Fetch	0	FETCH FIRST 2 ROWS ONLY
 8b3a6015deff2768	fdaf9332c09858cf	DuckDbDialect	edges	both	Fetch	0	FETCH FIRST 2 ROWS ONLY
 8b5088c0ae883aa7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::SetTblProperties	0	SET TBLPROPERTIES('classification' = 'parquet')
-8b5088c0ae883aa7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'classification'
 8b5088c0ae883aa7	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::SetTblProperties	0	SET TBLPROPERTIES('classification' = 'parquet')
-8b5088c0ae883aa7	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'classification'
 8b55f3ae5feb208e	4edff8487059a4e8	BigQueryDialect	edges	both	Array	0	[1, 2]
 8b55f3ae5feb208e	4edff8487059a4e8	BigQueryDialect	edges	end	SqlOption::KeyValue	0	a = [1, 2]
 8b55f3ae5feb208e	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Array	0	[1, 2]
@@ -9526,16 +8165,6 @@
 8cc75a8507a6040e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Ceil	0	CEIL(d TO SECOND)
 8cc75a8507a6040e	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	CEIL(d TO SECOND)
 8cc75a8507a6040e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Ceil	0	CEIL(d TO SECOND)
-8ccd0c8e4476e8f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-8ccd0c8e4476e8f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-8ccd0c8e4476e8f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-8ccd0c8e4476e8f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	1	p
-8ccd0c8e4476e8f4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	o
-8ccd0c8e4476e8f4	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-8ccd0c8e4476e8f4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-8ccd0c8e4476e8f4	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
-8ccd0c8e4476e8f4	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	1	p
-8ccd0c8e4476e8f4	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	o
 8cf7c6c1d21fa0f6	4edff8487059a4e8	OracleDialect	edges	start	Values	0	VALUES (ps.person_id, ps.first_name, ps.last_name, ps.title)
 8cf7c6c1d21fa0f6	4edff8487059a4e8	OracleDialect	reparse	inexact	Expr::Nested	0	(pt.person_id = ps.person_id)
 8d0348bf0172638c	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	TableWithJoins	0	(SELECT * FROM mytable) SAMPLE (10)
@@ -9585,11 +8214,7 @@
 8e0e7c95b620c7a9	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t1 INNER JOIN t2 USING(c1)
 8e0e7c95b620c7a9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT c1 FROM t1 INNER JOIN t2 USING(c1)
 8e0e7c95b620c7a9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT c1 FROM t1 INNER JOIN t2 USING(c1)
-8e13ad5cd40cd990	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-8e13ad5cd40cd990	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 8e13ad5cd40cd990	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-8e13ad5cd40cd990	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-8e13ad5cd40cd990	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 8e13ad5cd40cd990	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 8e222ce5a66c067c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL HOUR(4))
 8e222ce5a66c067c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL HOUR(4))
@@ -9600,16 +8225,8 @@
 8e243021bb4db879	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SelectItem::Wildcard	0	* EXCLUDE (department_id, employee_id)
 8e243021bb4db879	fdaf9332c09858cf	DuckDbDialect	edges	both	ExcludeSelectItem::Multiple	0	EXCLUDE (department_id, employee_id)
 8e243021bb4db879	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::Wildcard	0	* EXCLUDE (department_id, employee_id)
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	edges	both	FunctionArguments::List	0	('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	CONCAT('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	edges	end	SelectItem::UnnamedExpr	0	'\\_\\%' LIKE CONCAT('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT '\\_\\%' LIKE CONCAT('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	CONCAT('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Like	0	'\\_\\%' LIKE CONCAT('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT '\\_\\%' LIKE CONCAT('\\_', '\\%')
-8e3133f4501a5893	4edff8487059a4e8	MySqlDialect	reparse	inexact	Select	0	SELECT '\\_\\%' LIKE CONCAT('\\_', '\\%')
-8e541bcd543dbdf4	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC NULLS LAST
-8e541bcd543dbdf4	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC NULLS LAST
+8e541bcd543dbdf4	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC NULLS LAST
+8e541bcd543dbdf4	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC NULLS LAST
 8e541bcd543dbdf4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC NULLS LAST
 8e541bcd543dbdf4	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC NULLS LAST
 8e57d9d3f23310cf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT('hour', d)
@@ -9617,7 +8234,7 @@
 8e57d9d3f23310cf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Expr::Extract	0	EXTRACT('hour', d)
 8e57d9d3f23310cf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT EXTRACT('hour', d)
 8e57d9d3f23310cf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT EXTRACT('hour', d)
-8e57d9d3f23310cf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	Ident	0	'hour'
+8e57d9d3f23310cf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	Ident	0	'hour'
 8e731397f59ba9bf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	Join	0	ASOF JOIN quotes_unixtime AS qu MATCH_CONDITION (tu.trade_time >= qu.quote_time)
 8e731397f59ba9bf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM trades_unixtime AS tu ASOF JOIN quotes_unixtime AS qu MATCH_CONDITION (tu.trade_time >= qu.quote_time)
 8e731397f59ba9bf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	TableWithJoins	0	trades_unixtime AS tu ASOF JOIN quotes_unixtime AS qu MATCH_CONDITION (tu.trade_time >= qu.quote_time)
@@ -9658,64 +8275,37 @@
 8f8497917196939e	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	PrimaryKeyConstraint	0	PRIMARY KEY ()
 8f91c976c286af42	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	AlterTableOperation::DisableTrigger	0	DISABLE TRIGGER trigger_name
 8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArgumentList	0	DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT)
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
 8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE '%' WITHOUT COUNT
 8f99e9507118dd72	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	'%'
 8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgumentList	0	DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT)
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
-8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(DISTINCT dateid, ', ' ON OVERFLOW TRUNCATE '%' WITHOUT COUNT) WITHIN GROUP (ORDER BY id, username)
 8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE '%' WITHOUT COUNT
 8f99e9507118dd72	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	0	'%'
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	0	(event_type)
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	both	FunctionArguments::List	1	(event_type)
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	COUNT(*)
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	FIRST(event_type)
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	Function	0	LAST(event_type)
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	$1:country.name::VARCHAR
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	$1:country.name::VARCHAR
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1:country.name
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@stg
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	structure	empty	JsonPath	0	:country.name
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stg
+8fa35081c4edeb05	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stg
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT * FROM event_log MATCH_RECOGNIZE(MEASURES FIRST(event_type) AS start_event, LAST(event_type) AS end_event, COUNT(*) AS error_count ALL ROWS PER MATCH PATTERN (STRT ERROR+ END) DEFINE STRT AS event_type = 'START', ERROR AS event_type = 'ERROR', END AS event_type = 'END')
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	TableWithJoins	0	event_log MATCH_RECOGNIZE(MEASURES FIRST(event_type) AS start_event, LAST(event_type) AS end_event, COUNT(*) AS error_count ALL ROWS PER MATCH PATTERN (STRT ERROR+ END) DEFINE STRT AS event_type = 'START', ERROR AS event_type = 'ERROR', END AS event_type = 'END')
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	COUNT(*)
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	FIRST(event_type)
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::Function	0	LAST(event_type)
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Query	0	SELECT * FROM event_log MATCH_RECOGNIZE(MEASURES FIRST(event_type) AS start_event, LAST(event_type) AS end_event, COUNT(*) AS error_count ALL ROWS PER MATCH PATTERN (STRT ERROR+ END) DEFINE STRT AS event_type = 'START', ERROR AS event_type = 'ERROR', END AS event_type = 'END')
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Select	0	SELECT * FROM event_log MATCH_RECOGNIZE(MEASURES FIRST(event_type) AS start_event, LAST(event_type) AS end_event, COUNT(*) AS error_count ALL ROWS PER MATCH PATTERN (STRT ERROR+ END) DEFINE STRT AS event_type = 'START', ERROR AS event_type = 'ERROR', END AS event_type = 'END')
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	TableFactor::MatchRecognize	0	event_log MATCH_RECOGNIZE(MEASURES FIRST(event_type) AS start_event, LAST(event_type) AS end_event, COUNT(*) AS error_count ALL ROWS PER MATCH PATTERN (STRT ERROR+ END) DEFINE STRT AS event_type = 'START', ERROR AS event_type = 'ERROR', END AS event_type = 'END')
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	FunctionArg::Unnamed	0	*
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	FunctionArgumentList	0	*
-8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	FunctionArguments::List	0	(*)
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Concat	0	STRT ERROR+ END
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	ERROR+
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	END
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	ERROR
 8faab504726ad803	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	STRT
-8fb7558ce4f60b27	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-8fb7558ce4f60b27	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-8fb7558ce4f60b27	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-8fb7558ce4f60b27	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-8fb7558ce4f60b27	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-8fb7558ce4f60b27	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-8fb7558ce4f60b27	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-8fb7558ce4f60b27	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 8fc75d53abf126fc	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO SECOND(0)
 8fdc878ca31baa14	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	col1 STRING
 8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	%table_name
-8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
 8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@namespace
-8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
 8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@namespace.%table_name
 8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	%table_name
-8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 8fdec4df6c6be0db	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@namespace
 8fff2e3fff9fd531	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 8fff2e3fff9fd531	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
@@ -9723,6 +8313,18 @@
 900d5caa48b85db1	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	|/ ||/ 2
 900d5caa48b85db1	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	|/ ||/ 2
 900d5caa48b85db1	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	||/ 2
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArg::Unnamed	0	(2, 3)
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArgExpr::Expr	0	(2, 3)
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgumentList	0	1, (2, 3)
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	1	 . 1
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	1	 . 2
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	edges	start	SelectItem::UnnamedExpr	0	((1, 2), 3) . 1 . 2
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::CompoundFieldAccess	0	((1, 2), 3) . 1 . 2
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	((1, 2), 3)
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(1, 2)
+901abee67a835c79	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(2, 3)
 9025fafa027d9cc1	4edff8487059a4e8	SnowflakeDialect	edges	both	SetExpr::Query	0	(SELECT * FROM src)
 9025fafa027d9cc1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	(SELECT * FROM src)
 90275784116c0452	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(ISODOW FROM d)
@@ -9778,11 +8380,7 @@
 906437cc517b53ca	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT CEIL(1.5, 1)
 906437cc517b53ca	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT CEIL(1.5, 1)
 906437cc517b53ca	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	ValueWithSpan	0	1
-906be903f15e62b1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x)
-906be903f15e62b1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	FIRST_VALUE(x ORDER BY x)
-906be903f15e62b1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	SelectItem::UnnamedExpr	0	FIRST_VALUE(x ORDER BY x)
 906be903f15e62b1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x
-906be903f15e62b1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(x ORDER BY x)
 90984b53ebe1f7b9	4edff8487059a4e8	AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL '1' + '1' DAY
 90984b53ebe1f7b9	4edff8487059a4e8	AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL '1' + '1' DAY
 90984b53ebe1f7b9	4edff8487059a4e8	AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' + '1' DAY
@@ -9818,10 +8416,8 @@
 91094fe8da9aad64	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Table	0	testtable TABLESAMPLE BLOCK (3) SEED (82)
 91094fe8da9aad64	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	Expr::Value	0	3
 91094fe8da9aad64	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ValueWithSpan	0	82
-914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	('localhost', default.simple_table)
-914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	edges	both	TableObject::TableFunction	0	FUNCTION remote('localhost', default.simple_table)
-914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	remote('localhost', default.simple_table)
 914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	edges	start	SetExpr::Values	0	VALUES (100, 'inserted via remote()')
+914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	edges	start	TableObject::TableFunction	0	FUNCTION remote('localhost', default.simple_table)
 914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	edges	start	Values	0	VALUES (100, 'inserted via remote()')
 914206414e1874b1	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	VALUES (100, 'inserted via remote()')
 9173266cf9ab9d4b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
@@ -9832,14 +8428,9 @@
 9176d223d006d50d	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	foo INT
 917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::CharacterSet	0	CHARACTER SET utf8mb4
+917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
 917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	CHARACTER SET utf8mb4
-917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
-917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
-917d0df95875ea17	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ColumnOption::Collation	0	COLLATE "de_DE"
-917d0df95875ea17	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ColumnOptionDef	0	COLLATE "de_DE"
-917d0df95875ea17	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"de_DE"
-917d0df95875ea17	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"de_DE"
-917d0df95875ea17	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"de_DE"
+917d0df95875ea17	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
 917d0df95875ea17	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo INT
 917d0df95875ea17	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::CharacterSet	0	CHARACTER SET utf8mb4
 917d0df95875ea17	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
@@ -9863,6 +8454,10 @@
 91c19f9223d9d7d1	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	AS (a * 2)
 91c19f9223d9d7d1	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 91c19f9223d9d7d1	4edff8487059a4e8	SQLiteDialect	structure	outside-parent	Expr::BinaryOp	0	a * 2
+91e9bd6b8d7966b8	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	o OBJECT(10)
+91e9bd6b8d7966b8	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	ObjectName	0	OBJECT
+91e9bd6b8d7966b8	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	o OBJECT(10)
+91e9bd6b8d7966b8	4edff8487059a4e8	GenericDialect	structure	outside-parent	ObjectName	0	OBJECT
 91fdcfacfa1efa82	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	x TSVECTOR
 9213f71aad2366a8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ConflictTarget::Columns	0	(did, area)
 9213f71aad2366a8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	OnConflict	0	 ON CONFLICT(did, area) DO UPDATE SET dname = EXCLUDED.dname, area = EXCLUDED.area
@@ -9876,25 +8471,7 @@
 921a9e9cc522e86f	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	ENGINE
 921a9e9cc522e86f	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	MergeTree
 921a9e9cc522e86f	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	SqlOption::NamedParenthesizedList	0	ENGINE = MergeTree
-9223ede8675c9cc1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SqlOption::KeyValue	0	'K2' = 0.88
-9223ede8675c9cc1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'K1'
-9223ede8675c9cc1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'K2'
-9223ede8675c9cc1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-9223ede8675c9cc1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-9223ede8675c9cc1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-9223ede8675c9cc1	fdaf9332c09858cf	DuckDbDialect	edges	start	SqlOption::KeyValue	0	'K2' = 0.88
-9223ede8675c9cc1	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'K1'
-9223ede8675c9cc1	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'K2'
-9223ede8675c9cc1	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-9223ede8675c9cc1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-9223ede8675c9cc1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
 923355c36cfd451f	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON top.id = tbl_name_2.id
-924a218ad61307c9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(0)
-924a218ad61307c9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	FROM_UNIXTIME(0)
-924a218ad61307c9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	FROM_UNIXTIME(0)
-924a218ad61307c9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(0)
-924a218ad61307c9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	FROM_UNIXTIME(0)
-924a218ad61307c9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	FROM_UNIXTIME(0)
 924e66e1b7600b4a	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS OUTER
 92620edc319deca7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	LEFT OUTER JOIN t2 USING(c1)
 92620edc319deca7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT c1 FROM t1 LEFT OUTER JOIN t2 USING(c1)
@@ -9913,14 +8490,9 @@
 927b763b2afcdde2	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	PRIMARY KEY
 927b763b2afcdde2	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	PrimaryKeyConstraint	0	PRIMARY KEY ()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT 'now'::TEXT::DATE
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT now()::DATE
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT 'now'::TEXT::DATE
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT now()::DATE
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	('public.customer_customer_id_seq'::REGCLASS)
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	active INT
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	activebool BOOLEAN DEFAULT true NOT NULL
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	address_id SMALLINT NOT NULL
@@ -9930,24 +8502,21 @@
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	first_name CHARACTER VARYING(45) NOT NULL
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	info TEXT[]
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	last_name CHARACTER VARYING(45) NOT NULL
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	last_update TIMESTAMP WITHOUT TIME ZONE DEFAULT now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	release_year public.year
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	store_id SMALLINT NOT NULL
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	nextval('public.customer_customer_id_seq'::REGCLASS)
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	now()
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	1	now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArg::Unnamed	0	'public.customer_customer_id_seq'::REGCLASS
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgExpr::Expr	0	'public.customer_customer_id_seq'::REGCLASS
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgumentList	0	'public.customer_customer_id_seq'::REGCLASS
+9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
+9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOption::Default	0	DEFAULT true
+9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT nextval('public.customer_customer_id_seq'::REGCLASS)
+9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	edges	start	ColumnOptionDef	0	DEFAULT true
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	'now'::TEXT
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	'now'::TEXT::DATE
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	'public.customer_customer_id_seq'::REGCLASS
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	now()::DATE
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	nextval('public.customer_customer_id_seq'::REGCLASS)
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	now()
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	1	now()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	1	NOT NULL
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::NotNull	2	NOT NULL
@@ -9964,9 +8533,25 @@
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	5	NOT NULL
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	6	NOT NULL
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	7	NOT NULL
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
-9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	1	()
 9288814637e16112	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	public.year
+92911d5a0e9a6bed	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+92911d5a0e9a6bed	4edff8487059a4e8	ClickHouseDialect	edges	start	SelectItem::UnnamedExpr	0	(1, 'a') . 1
+92911d5a0e9a6bed	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(1, 'a') . 1
+92911d5a0e9a6bed	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(1, 'a')
+92911d5a0e9a6bed	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	 . 1
+92911d5a0e9a6bed	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	(1, 'a') . 1
+92911d5a0e9a6bed	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(1, 'a') . 1
+92911d5a0e9a6bed	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Tuple	0	(1, 'a')
+92911d5a0e9a6bed	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	 . 1
+92911d5a0e9a6bed	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	(1, 'a') . 1
+92911d5a0e9a6bed	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(1, 'a') . 1
+92911d5a0e9a6bed	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Tuple	0	(1, 'a')
+9298254452690ea5	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	labels Map(VARCHAR, VARCHAR)
+9298254452690ea5	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	tags ARRAY
+9298254452690ea5	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::OBJECT(tags ARRAY, labels Map(VARCHAR, VARCHAR))
+9298254452690ea5	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::OBJECT(tags ARRAY, labels Map(VARCHAR, VARCHAR))
+9298254452690ea5	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	labels Map(VARCHAR, VARCHAR)
+9298254452690ea5	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ColumnDef	0	tags ARRAY
 92a76b6372dd4861	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM lineitem AS l (a, b, c) AT idx
 92a76b6372dd4861	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	TableWithJoins	0	lineitem AS l (a, b, c) AT idx
 92a76b6372dd4861	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	start	TableAlias	0	AS l (a, b, c) AT idx
@@ -9987,41 +8572,24 @@
 92d41e9b893b06a2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT bar FOREIGN KEY (baz) REFERENCES other(ref) NOT VALID
 92d41e9b893b06a2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ForeignKeyConstraint	0	CONSTRAINT bar FOREIGN KEY (baz) REFERENCES other(ref)
 92d41e9b893b06a2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::ForeignKey	0	CONSTRAINT bar FOREIGN KEY (baz) REFERENCES other(ref)
-92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c)
 92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
-92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(c)
-92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(c)
 92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
-92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(c)
 92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), ())
 92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
 92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
 92f52876350e82bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), ())
-92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c)
 92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
-92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(c)
-92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(c)
 92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
-92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(c)
 92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), ())
 92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
 92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT a, b, SUM(c) FROM tab1 GROUP BY a, b GROUPING SETS ((a, b), (a), (b), ())
 92f52876350e82bb	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::GroupingSets	0	GROUPING SETS ((a, b), (a), (b), ())
-930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(DISTINCT a, a, c ORDER BY c USING ~<~, a)
-930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	aggfns(DISTINCT a, a, c ORDER BY c USING ~<~, a)
-930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	aggfns(DISTINCT a, a, c ORDER BY c USING ~<~, a)
 930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY c USING ~<~, a
 930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	edges	start	FunctionArgumentList	0	DISTINCT a, a, c ORDER BY c USING ~<~, a
-930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	aggfns(DISTINCT a, a, c ORDER BY c USING ~<~, a)
 930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	c USING ~<~
 930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	~<~
 930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	~<~
 930e1496aebb0eea	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	~<~
-931488251fb09688	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-931488251fb09688	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-931488251fb09688	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-931488251fb09688	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-931488251fb09688	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 931672a372ac2e42	4edff8487059a4e8	BigQueryDialect	edges	end	SetExpr::Select	0	SELECT STRUCT<DATE>("2011-05-05"), STRUCT<DATETIME>(DATETIME '1999-01-01 01:23:34.45'), STRUCT<FLOAT64>(5.0), STRUCT<INT64>(1)
 931672a372ac2e42	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::TypedString	0	DATETIME '1999-01-01 01:23:34.45'
 931672a372ac2e42	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Query	0	SELECT STRUCT<DATE>("2011-05-05"), STRUCT<DATETIME>(DATETIME '1999-01-01 01:23:34.45'), STRUCT<FLOAT64>(5.0), STRUCT<INT64>(1)
@@ -10084,10 +8652,7 @@
 93b7260dfe7f8667	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t1 SEMI JOIN t2 USING(c1)
 93b7260dfe7f8667	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t1 SEMI JOIN t2 USING(c1)
 93b7260dfe7f8667	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t1 SEMI JOIN t2 USING(c1)
-93c03261a8941011	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	's3://load/files/'
 93c03261a8941011	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	t1
-93c03261a8941011	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	's3://load/files/'
-93c03261a8941011	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	's3://load/files/'
 93d94c3fd864d8cf	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	AlterTableOperation::SetLogged	0	SET LOGGED
 93d94c3fd864d8cf	fdaf9332c09858cf	DuckDbDialect	structure	empty	AlterTableOperation::SetLogged	0	SET LOGGED
 942445fc79f53002	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	NATURAL JOIN (((b NATURAL JOIN c)))
@@ -10206,14 +8771,7 @@
 9540b056ca0e71d8	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Substring	0	SUBSTRING('SQLITE', 3)
 9540b056ca0e71d8	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT SUBSTRING('SQLITE', 3)
 9540b056ca0e71d8	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT SUBSTRING('SQLITE', 3)
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	FunctionArguments::List	0	(5, 6)
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	TableWithJoins	0	UNNEST(make_array(1, 2, 3), make_array(5, 6))
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	Function	0	make_array(1, 2, 3)
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	Function	0	make_array(5, 6)
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM UNNEST(make_array(1, 2, 3), make_array(5, 6))
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
-9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::Function	0	make_array(5, 6)
+9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	start	TableWithJoins	0	UNNEST(make_array(1, 2, 3), make_array(5, 6))
 9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM UNNEST(make_array(1, 2, 3), make_array(5, 6))
 9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM UNNEST(make_array(1, 2, 3), make_array(5, 6))
 9548a2abb062d672	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	TableFactor::UNNEST	0	UNNEST(make_array(1, 2, 3), make_array(5, 6))
@@ -10226,6 +8784,9 @@
 958685f03c48126a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL(0))
 958685f03c48126a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL(0))
 958685f03c48126a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL(0))
+95c178328bd0a5b0	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::ARRAY(NUMBER NOT NULL)
+95c178328bd0a5b0	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::ARRAY(NUMBER NOT NULL)
+95c178328bd0a5b0	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 95c5f6f07e09db7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AlterTableOperation::RenameTable	0	RENAME AS new_tab
 95c5f6f07e09db7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	RenameTableNameKind::As	0	AS new_tab
 95c5f6f07e09db7c	fdaf9332c09858cf	DuckDbDialect	edges	start	AlterTableOperation::RenameTable	0	RENAME AS new_tab
@@ -10251,12 +8812,8 @@
 962f611851951950	fdaf9332c09858cf	DuckDbDialect	edges	both	Offset	0	OFFSET 2 ROWS
 962f611851951950	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY baz
 962f611851951950	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT foo FROM bar ORDER BY baz OFFSET 2 ROWS
-96673d1d38e97206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-96673d1d38e97206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-96673d1d38e97206	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-96673d1d38e97206	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-96673d1d38e97206	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-96673d1d38e97206	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
+9651bbf418253470	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	ColumnDef	0	o OBJECT
+9651bbf418253470	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ObjectName	0	OBJECT
 9668c430835ffae3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL YEAR TO MONTH)
 9668c430835ffae3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL YEAR TO MONTH)
 9668c430835ffae3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL YEAR TO MONTH)
@@ -10308,8 +8865,6 @@
 96f0d3f0b8545b33	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stage/0:18:23/file.parquet
 96f0d3f0b8545b33	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stage/0:18:23/file
 96f0d3f0b8545b33	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	parquet
-96febe32bcf9c96b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-96febe32bcf9c96b	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
 9723fdae9f9de575	4edff8487059a4e8	BigQueryDialect	edges	start	SelectItem::ExprWithAlias	0	STRUCT(1 AS a, 2 AS b) AS xyz
 9723fdae9f9de575	4edff8487059a4e8	BigQueryDialect	structure	empty	Expr::Named	0	1 AS a
 9723fdae9f9de575	4edff8487059a4e8	BigQueryDialect	structure	empty	Expr::Named	0	2 AS b
@@ -10348,29 +8903,13 @@
 97b1d51599b24db6	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	ASC
 97b1d51599b24db6	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	PRIMARY KEY
 97b1d51599b24db6	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	PrimaryKeyConstraint	0	PRIMARY KEY ()
-97c1db5812349b36	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-97c1db5812349b36	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-97c1db5812349b36	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-97c1db5812349b36	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-97c1db5812349b36	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-97c1db5812349b36	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-97c1db5812349b36	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-97c1db5812349b36	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
 97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY name, ()
-97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	count(1)
-97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	count(1)
 97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT name, count(1) FROM t GROUP BY name, ()
-97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	count(1)
 97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT name, count(1) FROM t GROUP BY name, ()
 97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT name, count(1) FROM t GROUP BY name, ()
 97e15364e801781d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Expr::Tuple	0	()
-97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
 97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY name, ()
-97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	count(1)
-97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	count(1)
 97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT name, count(1) FROM t GROUP BY name, ()
-97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	count(1)
 97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT name, count(1) FROM t GROUP BY name, ()
 97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT name, count(1) FROM t GROUP BY name, ()
 97e15364e801781d	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Tuple	0	()
@@ -10479,18 +9018,16 @@
 99a39db41448ab1f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Extract	0	EXTRACT(DATE FROM d)
 99a39db41448ab1f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT EXTRACT(DATE FROM d)
 99a39db41448ab1f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXTRACT(DATE FROM d)
+99c2def4e216ea80	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+99c2def4e216ea80	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
 99e6d2378d2f2155	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	edges	both	GroupByExpr::Expressions	0	GROUP BY a, b WITH TOTALS
 99e6d2378d2f2155	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT * FROM t GROUP BY a, b WITH TOTALS
 99e6d2378d2f2155	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT * FROM t GROUP BY a, b WITH TOTALS
 99e6d2378d2f2155	4edff8487059a4e8	GenericDialect,HiveDialect,MySqlDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Select	0	SELECT * FROM t GROUP BY a, b WITH TOTALS
 99fb1c89bd4934a3	4edff8487059a4e8	PostgreSqlDialect	edges	start	AccessExpr::Dot	0	 . 2
-9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	count(*)
-9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	count(*)
-9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	count(*)
 9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArg::Unnamed	0	*
 9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArgumentList	0	*
-9a004109b5d527ca	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArguments::List	0	(*)
 9a24754ed2feee37	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::FreezePartition	0	FREEZE PARTITION '2024-08-14'
 9a24754ed2feee37	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Partition::Expr	0	PARTITION '2024-08-14'
 9a324f01e0c9d66a	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column28 BIGINT GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 MINVALUE 1 )
@@ -10501,30 +9038,16 @@
 9a324f01e0c9d66a	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	1	1
 9a3933d6dca6b1e1	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	|/ a
 9a3933d6dca6b1e1	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	|/ a
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ExprWithAlias	0	SUM(1)
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(1)
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
 9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(1)
 9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-9a4312ddbaf5f41b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	edges	both	ExprWithAlias	0	SUM(1)
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(1)
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
 9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(1)
 9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
 9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) FOR a.abc IN (1 AS x, 'two' AS y, three AS z))
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-9a4312ddbaf5f41b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 9a454d8cfcc5e4fc	4edff8487059a4e8	SnowflakeDialect	structure	empty	AlterTableOperation::Refresh	0	REFRESH 'year=2025/month=12/'
 9a466342a8e475b0	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM JSON_TABLE('[1,2]', '$[*]' COLUMNS(x INT PATH '$' ERROR ON EMPTY)) AS t
 9a466342a8e475b0	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS t
@@ -10547,16 +9070,12 @@
 9a9ed784e83e925e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	fname DESC
 9a9ed784e83e925e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	lname ASC
 9abebcb22301f819	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON sort.id = tbl_name_2.id
-9ae4eb5592bbfa72	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC
-9ae4eb5592bbfa72	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC
+9ae4eb5592bbfa72	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC
+9ae4eb5592bbfa72	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC
 9ae4eb5592bbfa72	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC
 9ae4eb5592bbfa72	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC
 9b19fd7ecd32d9d8	4edff8487059a4e8	RedshiftSqlDialect	edges	end	ColumnDef	0	c1 INT
-9b2cd73901331092	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-9b2cd73901331092	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 9b2cd73901331092	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gin_trgm_ops
-9b2cd73901331092	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-9b2cd73901331092	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 9b2cd73901331092	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gin_trgm_ops
 9b4b2956c46220cd	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ModifyColumn	0	MODIFY COLUMN description TEXT NOT NULL AFTER total_count
 9b4b2956c46220cd	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
@@ -10573,20 +9092,12 @@
 9b915918179e9dd6	4edff8487059a4e8	MySqlDialect	reparse	inexact	TableFactor::Table	0	t1 USE INDEX (i1) IGNORE INDEX FOR ORDER BY (i2)
 9b915918179e9dd6	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	i1
 9b915918179e9dd6	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	i2
-9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(*)
-9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
-9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArg::Unnamed	0	*
 9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentList	0	*
-9b9a5d128419dab7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	(*)
-9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(*)
-9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
-9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	*
-9b9a5d128419dab7	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(*)
 9bcf86d0139d2efc	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect,GenericDialect	edges	both	SetExpr::Query	0	(SELECT t2.id, t2.name FROM t2)
 9bcf86d0139d2efc	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect,GenericDialect	reparse	inexact	Query	0	(SELECT t2.id, t2.name FROM t2)
 9bd2493573c0cdd6	4edff8487059a4e8	BigQueryDialect	edges	end	ColumnDef	0	x INT64
@@ -10604,18 +9115,6 @@
 9bec844dc4c239e6	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Query	0	VALUES (1, 2), (2, 3)
 9bec844dc4c239e6	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Select	0	SELECT * FROM (VALUES (1, 2), (2, 3)) AS tbl (id, val)
 9bec844dc4c239e6	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	TableFactor::Derived	0	(VALUES (1, 2), (2, 3)) AS tbl (id, val)
-9bfb869244da4822	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-9bfb869244da4822	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.substring ORDER BY T.id)
-9bfb869244da4822	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.substring ORDER BY T.id)
-9bfb869244da4822	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.substring ORDER BY T.id)
-9bfb869244da4822	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.substring
-9bfb869244da4822	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-9bfb869244da4822	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-9bfb869244da4822	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.substring ORDER BY T.id)
-9bfb869244da4822	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.substring ORDER BY T.id)
-9bfb869244da4822	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.substring ORDER BY T.id)
-9bfb869244da4822	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.substring
-9bfb869244da4822	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
 9c0b09609c0736ea	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND(1))
 9c0b09609c0736ea	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE TO SECOND(1))
 9c0b09609c0736ea	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND(1))
@@ -10634,14 +9133,7 @@
 9c3738e3f76d5350	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT INTERVAL 1 SECONDS
 9c3738e3f76d5350	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT INTERVAL 1 SECONDS
 9c44e28b9895df38	4edff8487059a4e8	PostgreSqlDialect,RedshiftSqlDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	t.*
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('a', 1, NULL, 2 NULL ON NULL)
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
 9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	'a', 1, NULL, 2 NULL ON NULL
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
-9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)
 9c4ce3afdff197f0	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
 9c7bf1aaa083e50b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL HOUR(1)
 9c7bf1aaa083e50b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL HOUR(1)
@@ -10679,20 +9171,6 @@
 9c93f9aaa0988484	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL HOUR(6)
 9c93f9aaa0988484	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL HOUR(6)
 9cac55964de8b772	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	FromTable::WithFromKeyword	0	FROM table_name
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LOCALTIME()
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LOCALTIME()
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LOCALTIME()
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LOCALTIME()
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LOCALTIME()
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LOCALTIME()
-9cae2e5006e8d964	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LOCALTIME()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LOCALTIME()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LOCALTIME()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LOCALTIME()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LOCALTIME()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LOCALTIME()
-9cae2e5006e8d964	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 9cba4cdbe9ab5e4b	4edff8487059a4e8	PostgreSqlDialect	edges	both	Array	0	ARRAY['a_c%']
 9cba4cdbe9ab5e4b	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	'abc' !~~* ALL(ARRAY['a_c%'])
 9cba4cdbe9ab5e4b	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT 'abc' !~~* ALL(ARRAY['a_c%'])
@@ -10704,13 +9182,6 @@
 9cd37cdb1070e612	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	~ expr
 9cd37cdb1070e612	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	~ expr
 9cd37cdb1070e612	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	~ expr
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(CONTENT '<abc>x</abc>')
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	XMLPARSE(CONTENT '<abc>x</abc>')
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	XMLPARSE(CONTENT '<abc>x</abc>')
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT XMLPARSE(CONTENT '<abc>x</abc>')
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	XMLPARSE(CONTENT '<abc>x</abc>')
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT XMLPARSE(CONTENT '<abc>x</abc>')
-9ce24e6d00e24a8a	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT XMLPARSE(CONTENT '<abc>x</abc>')
 9ce5b7c13ce8dde3	4edff8487059a4e8	SQLiteDialect	edges	start	FromTable::WithFromKeyword	0	FROM invoices
 9ce5b7c13ce8dde3	4edff8487059a4e8	SQLiteDialect	edges	start	FromTable::WithFromKeyword	0	FROM orders
 9cf28c21f0dc72c5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	'2 years 15 months 100 weeks 99 hours 123456789 milliseconds'::INTERVAL
@@ -10729,7 +9200,6 @@
 9d0ad77e3b1544e0	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	(name, id)
 9d0ad77e3b1544e0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Tuple	0	(name, id)
 9d2355496388fd10	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	AlterSchemaOperation::AddReplica	0	ADD REPLICA 'us' OPTIONS (location = 'us')
-9d2355496388fd10	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	empty	Ident	0	'us'
 9d3fc8c4e4eddd76	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	TIMESTAMP '1999-01-01 01:23:34'
 9d3fc8c4e4eddd76	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::TypedString	0	TIMESTAMP '1999-01-01 01:23:34'
 9d3fc8c4e4eddd76	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	TIMESTAMP '1999-01-01 01:23:34'
@@ -10786,26 +9256,11 @@
 9dfc503e8e3771b6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<<
 9e0c0a6575d4b2b2	4edff8487059a4e8	MySqlDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	baz INT
 9e0c0a6575d4b2b2	4edff8487059a4e8	MySqlDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	name STRING
-9e11cea1aa8a24ad	4edff8487059a4e8	GenericDialect	edges	both	FunctionArguments::List	0	(a := '1', b := '2')
-9e11cea1aa8a24ad	4edff8487059a4e8	GenericDialect	edges	end	Function	0	FUN(a := '1', b := '2')
-9e11cea1aa8a24ad	4edff8487059a4e8	GenericDialect	edges	end	SelectItem::UnnamedExpr	0	FUN(a := '1', b := '2')
-9e11cea1aa8a24ad	4edff8487059a4e8	GenericDialect	reparse	inexact	Expr::Function	0	FUN(a := '1', b := '2')
-9e11cea1aa8a24ad	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a := '1', b := '2')
-9e11cea1aa8a24ad	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	FUN(a := '1', b := '2')
-9e11cea1aa8a24ad	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	FUN(a := '1', b := '2')
-9e11cea1aa8a24ad	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	FUN(a := '1', b := '2')
 9e2926f0412a32f9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL(1))
 9e2926f0412a32f9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL(1))
 9e2926f0412a32f9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL(1))
 9e2926f0412a32f9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL(1))
 9e2926f0412a32f9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL(1))
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(content '<a/>')
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	xmlparse(content '<a/>')
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	xmlparse(content '<a/>')
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT xmlparse(content '<a/>')
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	xmlparse(content '<a/>')
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT xmlparse(content '<a/>')
-9e33af604be801f1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT xmlparse(content '<a/>')
 9e4f29c448fe2ed6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(((SELECT 1)))
 9e4f29c448fe2ed6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	((SELECT 1))
 9e4f29c448fe2ed6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT 1)
@@ -10902,14 +9357,10 @@
 9fb60a1ece7675ee	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE DEFERRABLE NOT ENFORCED
 9fb60a1ece7675ee	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	DEFERRABLE NOT ENFORCED
 9fb60a1ece7675ee	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () DEFERRABLE NOT ENFORCED
-9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	ExprWithAlias	0	COUNT(*)
-9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	COUNT(*)
-9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE COUNT(*)
 9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
 9fb60f01eaac0d54	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*)
 9fba7b501e126e63	4edff8487059a4e8	SnowflakeDialect	structure	empty	AlterTableOperation::Suspend	0	SUSPEND
 9fe8ae441040354b	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	-
@@ -10918,8 +9369,8 @@
 9fe8ae441040354b	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	-
 9fe8ae441040354b	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	s2
 9fe8e84501711221	4edff8487059a4e8	SnowflakeDialect	structure	empty	AlterTableOperation::Refresh	0	REFRESH
-9ff62c52a78b5b8a	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC NULLS FIRST
-9ff62c52a78b5b8a	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC NULLS FIRST
+9ff62c52a78b5b8a	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC NULLS FIRST
+9ff62c52a78b5b8a	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC NULLS FIRST
 9ff62c52a78b5b8a	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL DESC NULLS FIRST
 9ff62c52a78b5b8a	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL DESC NULLS FIRST
 a01882e5b0c70842	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL HOUR(2))
@@ -10930,10 +9381,6 @@
 a035f6467cd1d867	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	&
 a035f6467cd1d867	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	&
 a035f6467cd1d867	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	&
-a03a1574f2f786b2	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(val)
-a03a1574f2f786b2	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	LAG(val) IGNORE NULLS OVER (ORDER BY id)
-a03a1574f2f786b2	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	LAG(val) IGNORE NULLS OVER (ORDER BY id)
-a03a1574f2f786b2	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	OrderByExpr	0	id
 a043e2057bf61a1a	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	TableWithJoins	0	(SELECT * FROM mytable) SAMPLE (10) SEED (42)
 a043e2057bf61a1a	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM (SELECT * FROM mytable) SAMPLE (10) SEED (42)
 a043e2057bf61a1a	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM (SELECT * FROM mytable) SAMPLE (10) SEED (42)
@@ -10970,25 +9417,8 @@
 a0df3d7be1cb71df	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[1:2:4]
 a0df3d7be1cb71df	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[1:2:4]
 a0df3d7be1cb71df	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[1:2:4]
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	(ABORT, 'Price cannot be negative')
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	RAISE(ABORT, 'Price cannot be negative')
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	RAISE(ABORT, 'Price cannot be negative')
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	edges	end	SetExpr::Select	0	SELECT RAISE(ABORT, 'Price cannot be negative')
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	RAISE(ABORT, 'Price cannot be negative')
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT RAISE(ABORT, 'Price cannot be negative')
-a17fc4d128b0cf1c	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT RAISE(ABORT, 'Price cannot be negative')
 a1803d2d509754e5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 a1803d2d509754e5	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
-a180d5632a9d6776	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-a180d5632a9d6776	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-a180d5632a9d6776	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-a180d5632a9d6776	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-a180d5632a9d6776	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-a180d5632a9d6776	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-a180d5632a9d6776	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-a180d5632a9d6776	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-a1810fc10c8efb7a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	('param1', 100, true)
-a1810fc10c8efb7a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	analyze_data('param1', 100, true)
 a1810fc10c8efb7a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL analyze_data('param1', 100, true)
 a1810fc10c8efb7a	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	analyze_data('param1', 100, true)
 a1906c9d1289b524	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT foo FROM cte ORDER BY 1 LIMIT 1)
@@ -11019,8 +9449,6 @@
 a1badf4a5b6ac55e	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 a1badf4a5b6ac55e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
 a1bdb353b64c28c2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO SECOND(6)
-a1cd1bfc3784798c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'username'
-a1cd1bfc3784798c	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'username'
 a1d9bbfbce83168b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InSubquery	0	c0 IN (SELECT column FROM t0)
 a1d9bbfbce83168b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::InSubquery	0	c0 IN (SELECT column FROM t0)
 a1db942b362223f4	4edff8487059a4e8	SnowflakeDialect	edges	both	SetExpr::Query	0	(SELECT 1)
@@ -11046,20 +9474,14 @@
 a204605404845ddc	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY[3])
 a204605404845ddc	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY[3])
 a204605404845ddc	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY[3])
-a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	edges	both	FunctionArguments::List	0	('1,2,3', ',')
-a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	edges	end	Function	0	STRING_TO_ARRAY('1,2,3', ',')
 a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	edges	end	SetExpr::Select	0	SELECT STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	reparse	inexact	Expr::Cast	0	STRING_TO_ARRAY('1,2,3', ',')::INT[3]
-a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	reparse	inexact	Expr::Function	0	STRING_TO_ARRAY('1,2,3', ',')
 a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	reparse	inexact	Query	0	SELECT STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a20d8cc4471230b9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,RedshiftSqlDialect	reparse	inexact	Select	0	SELECT STRING_TO_ARRAY('1,2,3', ',')::INT[3]
-a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('1,2,3', ',')
-a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	STRING_TO_ARRAY('1,2,3', ',')
 a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	STRING_TO_ARRAY('1,2,3', ',')::INT[3]
-a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	STRING_TO_ARRAY('1,2,3', ',')
 a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a20d8cc4471230b9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT STRING_TO_ARRAY('1,2,3', ',')::INT[3]
 a2226e75cc13865c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1, 2, 3)
@@ -11085,53 +9507,17 @@
 a27d67cff9ed6f2f	fdaf9332c09858cf	DuckDbDialect	edges	start	SetExpr::Values	0	VALUES (1)
 a27d67cff9ed6f2f	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUES (1)
 a27d67cff9ed6f2f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	VALUES (1)
-a2825ddd30a1d7ac	4edff8487059a4e8	DatabricksDialect	structure	empty	Ident	0	"mydb"
-a2825ddd30a1d7ac	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectName	0	"mydb"
-a2825ddd30a1d7ac	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"mydb"
-a2825ddd30a1d7ac	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"mydb"
-a2825ddd30a1d7ac	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"mydb"
-a2825ddd30a1d7ac	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"mydb"
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	COUNT(42)
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(1)
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(42)
 a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	COUNT(42) AS y
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	SUM(1) AS x
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(42)
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(1)
 a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	COUNT
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	COUNT
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	COUNT
-a2919df30bf485a7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	COUNT(42)
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(1)
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(42)
 a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	COUNT(42) AS y
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	SUM(1) AS x
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(42)
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(1)
 a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	COUNT
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	COUNT
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	COUNT
-a2919df30bf485a7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 a292567e3726e78d	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY milliseconds
-a2a704c61800461c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3'
-a2a704c61800461c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3.5'
 a2ba1eeaea681121	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	CheckConstraint	0	CHECK (x > 1)
 a2ba1eeaea681121	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	TableConstraint::Check	0	CHECK (x > 1)
 a2ba1eeaea681121	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	end	ColumnDef	0	x INT
@@ -11146,13 +9532,6 @@
 a3154a8e5905951e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	+
 a3154a8e5905951e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	+
 a3154a8e5905951e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	+
-a34e6bee1d57c965	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a = '1', b = '2')
-a34e6bee1d57c965	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	FUN(a = '1', b = '2')
-a34e6bee1d57c965	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	FUN(a = '1', b = '2')
-a34e6bee1d57c965	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	FUN(a = '1', b = '2')
-a35035819a44896f	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'my_wh'
-a35035819a44896f	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'my_wh'
-a35035819a44896f	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'my_wh'
 a35486efa41397bd	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::EnableRowLevelSecurity	0	ENABLE ROW LEVEL SECURITY
 a38a4e493f8bae56	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<>
 a38a4e493f8bae56	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<>
@@ -11181,19 +9560,13 @@
 a42b67206fd53f3c	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Query	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (S2*?) DEFINE DUMMY AS 1 = 1)
 a42b67206fd53f3c	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (S2*?) DEFINE DUMMY AS 1 = 1)
 a42b67206fd53f3c	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	TableFactor::MatchRecognize	0	my_table MATCH_RECOGNIZE(PATTERN (S2*?) DEFINE DUMMY AS 1 = 1)
-a42b67206fd53f3c	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S2*
 a42b67206fd53f3c	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S2*?
 a42b67206fd53f3c	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	S2
-a43d844e85e077ff	4edff8487059a4e8	DatabricksDialect	structure	empty	Ident	0	"DEFAULT"
-a43d844e85e077ff	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectName	0	"DEFAULT"
-a43d844e85e077ff	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"DEFAULT"
-a43d844e85e077ff	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"DEFAULT"
-a43d844e85e077ff	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"DEFAULT"
-a43d844e85e077ff	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"DEFAULT"
 a4567788a7dca902	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	-0
 a4567788a7dca902	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 a4567788a7dca902	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	-0
 a4567788a7dca902	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
+a45963d761086796	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 a45d0388a7e20294	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	-0
 a45d0388a7e20294	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 a45d0388a7e20294	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	-0
@@ -11213,42 +9586,22 @@
 a4660d497bfb4c7d	4edff8487059a4e8	MySqlDialect	edges	start	Join	0	STRAIGHT_JOIN table_b AS b ON a.b_id = b.id
 a4660d497bfb4c7d	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS a
 a4660d497bfb4c7d	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS b
-a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	ColumnDef	0	a TEXT COLLATE 'de_DE'
-a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	ColumnOption::Collation	0	COLLATE 'de_DE'
-a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	ColumnOptionDef	0	COLLATE 'de_DE'
-a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	Ident	0	'de_DE'
-a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	ObjectName	0	'de_DE'
-a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'de_DE'
-a4716a5657859095	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-a4716a5657859095	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-a4716a5657859095	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-a4716a5657859095	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-a4716a5657859095	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-a4716a5657859095	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-a4716a5657859095	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-a4716a5657859095	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
+a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	ColumnOption::Collation	0	COLLATE 'de_DE'
+a46a2addb4f6d556	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	ColumnOptionDef	0	COLLATE 'de_DE'
 a47ef002d37263b4	4edff8487059a4e8	HiveDialect	edges	both	AlterTableOperation::DropPartitions	0	DROP IF EXISTS PARTITION (a = 'b', c = 'd')
 a495502b05a442de	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	NATURAL JOIN t2 AS t3
 a495502b05a442de	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS t3
 a495502b05a442de	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	NATURAL JOIN t2 AS t3
 a495502b05a442de	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS t3
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Dot	0	.list_filter(lambda x : x > 4)
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	both	Array	0	[3, 4, 5, 6]
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	[3, 4, 5, 6].list_filter(lambda x : x > 4)
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	list_filter(lambda x : x > 4)
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT [3, 4, 5, 6].list_filter(lambda x : x > 4)
+a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.list_filter(lambda x : x > 4)
+a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	[3, 4, 5, 6].list_filter(lambda x : x > 4)
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Array	0	[3, 4, 5, 6]
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	[3, 4, 5, 6].list_filter(lambda x : x > 4)
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	list_filter(lambda x : x > 4)
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT [3, 4, 5, 6].list_filter(lambda x : x > 4)
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT [3, 4, 5, 6].list_filter(lambda x : x > 4)
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Lambda	0	lambda x : x > 4
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	lambda x : x > 4
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Expr	0	lambda x : x > 4
 a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	lambda x : x > 4
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(lambda x : x > 4)
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::BinaryOp	0	x > 4
-a49e8e69fc9b8260	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	x
 a4a875cde995043c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE DEFERRABLE INITIALLY DEFERRED NOT ENFORCED
 a4a875cde995043c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE DEFERRABLE INITIALLY DEFERRED NOT ENFORCED
 a4a875cde995043c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	UNIQUE DEFERRABLE INITIALLY DEFERRED NOT ENFORCED
@@ -11269,14 +9622,7 @@
 a4b148d710ee3d28	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	year INT
 a4b65b41e07787d3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::SetLogged	0	SET LOGGED
 a4be9b1074d756d2	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ReferentialAction::Restrict	0	RESTRICT
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	SUM(sales)
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(sales)
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(sales)
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(sales)
 a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(SUM(sales) FOR quarter IN ('Q1', 'Q2')) AS quarterly_sales
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(sales)
 a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarter
 a4e1f5d8305c0cf2	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	quarterly_sales
@@ -11336,9 +9682,6 @@
 a5c0f6ab4bd844e4	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	- @ 2
 a5c0f6ab4bd844e4	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	- @ 2
 a5c0f6ab4bd844e4	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	@ 2
-a5e32e0ee9e723d3	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'my_database'
-a5e32e0ee9e723d3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'my_database'
-a5e32e0ee9e723d3	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'my_database'
 a5e3466091f93b28	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR(5)
 a5e9dd45163038a3	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (PERMUTE(A, B, C)) DEFINE DUMMY AS 1 = 1)
 a5e9dd45163038a3	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	TableWithJoins	0	my_table MATCH_RECOGNIZE(PATTERN (PERMUTE(A, B, C)) DEFINE DUMMY AS 1 = 1)
@@ -11354,29 +9697,8 @@
 a61b55e27ad5a2b4	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM (a AS alias1 NATURAL JOIN b AS c)
 a61b55e27ad5a2b4	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (a AS alias1 NATURAL JOIN b AS c)
 a61b55e27ad5a2b4	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::NestedJoin	0	(a AS alias1 NATURAL JOIN b AS c)
-a62e905833e8dd66	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
-a62e905833e8dd66	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
-a62e905833e8dd66	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(toDateTime(`col2`))
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	1	(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	1	(toDateTime(`col2`))
 a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	`col1` INT64
 a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	`col2` Int32
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	toDate(toDateTime(`col2`))
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	1	toDate(toDateTime(`col2`))
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	1	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArg::Unnamed	0	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArg::Unnamed	1	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgExpr::Expr	0	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgExpr::Expr	1	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgumentList	0	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgumentList	1	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	toDate(toDateTime(`col2`))
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	toDateTime(`col2`)
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	1	toDate(toDateTime(`col2`))
-a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	1	toDateTime(`col2`)
 a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(toDate(toDateTime(`col2`)), `col1`, `col2`)
 a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	structure	empty	CreateTableOptions::Plain	0	ENGINE = MergeTree
 a62fc247ef262ba9	4edff8487059a4e8	ClickHouseDialect	structure	empty	Ident	0	ENGINE
@@ -11440,6 +9762,7 @@
 a7270d410eb1dd6b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,BigQueryDialect,SnowflakeDialect	edges	start	Offset	0	OFFSET $2
 a7270d410eb1dd6b	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT $1 OFFSET $2
 a7270d410eb1dd6b	fdaf9332c09858cf	DuckDbDialect	edges	start	Offset	0	OFFSET $2
+a7298da70db80a83	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 a743d2c1f4633214	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> UNPIVOT(score FOR subject IN (math, science, english, history))
 a743d2c1f4633214	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	english
 a743d2c1f4633214	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	history
@@ -11459,7 +9782,6 @@
 a7708edb292f6ebf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM (a NATURAL JOIN b c)
 a7708edb292f6ebf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (a NATURAL JOIN b c)
 a7708edb292f6ebf	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::NestedJoin	0	(a NATURAL JOIN b c)
-a7715fab85172d7e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect	structure	empty	Ident	0	'UTF8'
 a77c4bf046a21f80	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL(2))
 a77c4bf046a21f80	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL(2))
 a77c4bf046a21f80	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL(2))
@@ -11485,12 +9807,9 @@
 a7e183e5b4f02831	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR(3))
 a7e183e5b4f02831	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR(3))
 a7e183e5b4f02831	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR(3))
-a7e52a4f1553346e	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	COUNT(*)
-a7e52a4f1553346e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 a7e52a4f1553346e	4edff8487059a4e8	SnowflakeDialect	structure	empty	FunctionArg::Unnamed	0	*
 a7e52a4f1553346e	4edff8487059a4e8	SnowflakeDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 a7e52a4f1553346e	4edff8487059a4e8	SnowflakeDialect	structure	empty	FunctionArgumentList	0	*
-a7e52a4f1553346e	4edff8487059a4e8	SnowflakeDialect	structure	empty	FunctionArguments::List	0	(*)
 a7ef8dc25901aaf2	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column23 BIGINT GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 20 START WITH 10 CACHE 2 NO CYCLE )
 a7ef8dc25901aaf2	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column30 TEXT
 a7ef8dc25901aaf2	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 20 START WITH 10 CACHE 2 NO CYCLE )
@@ -11500,28 +9819,14 @@
 a7ef8dc25901aaf2	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	2
 a7ef8dc25901aaf2	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	20
 a7ef8dc25901aaf2	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	1	1
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	both	ExprWithAlias	0	max(open)
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	both	Function	0	max(open)
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(open)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	both	TableAlias	0	AS p (place_id, open_sun, open_mon, open_tue, open_wed, open_thu, open_fri, open_sat)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	(SELECT place_id, weekday, open FROM times AS p) PIVOT(max(open) FOR weekday IN (0, 1, 2, 3, 4, 5, 6)) AS p (place_id, open_sun, open_mon, open_tue, open_wed, open_thu, open_fri, open_sat)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM (SELECT place_id, weekday, open FROM times AS p) PIVOT(max(open) FOR weekday IN (0, 1, 2, 3, 4, 5, 6)) AS p (place_id, open_sun, open_mon, open_tue, open_wed, open_thu, open_fri, open_sat)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS p
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	max(open)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM (SELECT place_id, weekday, open FROM times AS p) PIVOT(max(open) FOR weekday IN (0, 1, 2, 3, 4, 5, 6)) AS p (place_id, open_sun, open_mon, open_tue, open_wed, open_thu, open_fri, open_sat)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM (SELECT place_id, weekday, open FROM times AS p) PIVOT(max(open) FOR weekday IN (0, 1, 2, 3, 4, 5, 6)) AS p (place_id, open_sun, open_mon, open_tue, open_wed, open_thu, open_fri, open_sat)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Derived	0	(SELECT place_id, weekday, open FROM times AS p)
 a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Pivot	0	(SELECT place_id, weekday, open FROM times AS p) PIVOT(max(open) FOR weekday IN (0, 1, 2, 3, 4, 5, 6)) AS p (place_id, open_sun, open_mon, open_tue, open_wed, open_thu, open_fri, open_sat)
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	max
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	max
-a824a1e9dda13bc2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	max
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(DOCUMENT col || '</abc>')
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	XMLPARSE(DOCUMENT col || '</abc>')
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	XMLPARSE(DOCUMENT col || '</abc>')
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT XMLPARSE(DOCUMENT col || '</abc>')
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	XMLPARSE(DOCUMENT col || '</abc>')
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT XMLPARSE(DOCUMENT col || '</abc>')
-a829ddf2c42e1edc	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT XMLPARSE(DOCUMENT col || '</abc>')
 a847356968a27b27	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>
 a847356968a27b27	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>
 a847356968a27b27	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>
@@ -11591,11 +9896,6 @@
 a99c666b96c5a4b0	4edff8487059a4e8	SnowflakeDialect	edges	start	SelectItem::ExprWithAlias	0	CONNECT_BY_ROOT name AS root_name
 a99c666b96c5a4b0	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Prefixed	0	CONNECT_BY_ROOT name
 a99c666b96c5a4b0	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	CONNECT_BY_ROOT
-a9b24f91ccbe66a0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(10)
-a9b24f91ccbe66a0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	textcol(10)
-a9b24f91ccbe66a0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	textcol(10)
-a9b24f91ccbe66a0	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	textcol(10)
-a9b24f91ccbe66a0	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	textcol(10)
 a9bb6795300f8b58	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ExcludeConstraint	0	EXCLUDE USING gist (col WITH OPERATOR(pg_catalog.=))
 a9bb6795300f8b58	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	EXCLUDE USING gist (col WITH OPERATOR(pg_catalog.=))
 a9bb6795300f8b58	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	col INT
@@ -11610,14 +9910,8 @@
 a9defd2957649d18	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	FULLTEXT INDEX (id)
 a9defd2957649d18	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::FulltextOrSpatial	0	FULLTEXT INDEX (id)
 a9defd2957649d18	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
-a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(column2 IGNORE NULLS)
-a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	FIRST_VALUE(column2 IGNORE NULLS) OVER (PARTITION BY column1 ORDER BY column2)
 a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	column2 IGNORE NULLS
-a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	FIRST_VALUE(column2 IGNORE NULLS) OVER (PARTITION BY column1 ORDER BY column2)
-a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(column2 IGNORE NULLS) OVER (PARTITION BY column1 ORDER BY column2)
 a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	structure	empty	FunctionArgumentClause::IgnoreOrRespectNulls	0	IGNORE NULLS
-a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Identifier	0	column1
-a9ff9da1a037b2bd	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	OrderByExpr	0	column2
 aa0469e45e0d39a3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	CheckConstraint	0	CHECK (x > 1) ENFORCED
 aa0469e45e0d39a3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ColumnOption::Check	0	CHECK (x > 1) ENFORCED
 aa0469e45e0d39a3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ColumnOptionDef	0	CHECK (x > 1) ENFORCED
@@ -11630,12 +9924,6 @@
 aac7e384ea005171	4edff8487059a4e8	ClickHouseDialect	edges	both	AlterTableOperation::AddColumn	0	ADD COLUMN c UInt8 AFTER `order`
 aac7e384ea005171	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	c UInt8
 aac7e384ea005171	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	Ident	0	`order`
-aace663cc9a87eaa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-aace663cc9a87eaa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-aace663cc9a87eaa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-aace663cc9a87eaa	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-aace663cc9a87eaa	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-aace663cc9a87eaa	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
 aade153da4ddd7f6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>=
 aade153da4ddd7f6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>=
 aade153da4ddd7f6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>=
@@ -11645,7 +9933,6 @@
 aaee5f21d20ffb19	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
 aafe9b119e292af9	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::UnfreezePartition	0	UNFREEZE PARTITION '2024-08-14' WITH NAME 'hello'
 aafe9b119e292af9	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Partition::Expr	0	PARTITION '2024-08-14'
-aafe9b119e292af9	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'hello'
 ab1806ebcfdd9551	4edff8487059a4e8	SparkSqlDialect	edges	end	ColumnDef	0	arr ARRAY<STRUCT<name STRING, value INT>>
 ab1806ebcfdd9551	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	Ident	0	name
 ab1806ebcfdd9551	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	Ident	0	value
@@ -11728,8 +10015,6 @@
 abe93fcca24d9c39	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	CAST('2024-01-01 01:00:00' AS TIMESTAMP_NTZ(9))
 abe93fcca24d9c39	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT CAST('2024-01-01 01:00:00' AS TIMESTAMP_NTZ(9))
 abe93fcca24d9c39	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT CAST('2024-01-01 01:00:00' AS TIMESTAMP_NTZ(9))
-abef526bcaf90147	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(5, 'test')
-abef526bcaf90147	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	process_data(5, 'test')
 abef526bcaf90147	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL process_data(5, 'test')
 abef526bcaf90147	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	process_data(5, 'test')
 abeffcdc3a1886a6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	CROSS JOIN (SELECT y FROM bar) AS b
@@ -11782,35 +10067,21 @@
 ac1a75b2194e2e25	4edff8487059a4e8	ClickHouseDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 ac1a75b2194e2e25	4edff8487059a4e8	ClickHouseDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 ac431ac4f81c40b0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE TO SECOND(6)
-ac50de801510025b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'table_name'
-ac50de801510025b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'table_name'
-ac50de801510025b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'table_name'
-ac50de801510025b	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'table_name'
-ac50de801510025b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'table_name'
-ac50de801510025b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'table_name'
 ac5c5fa2ccffea74	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a number
 ac5c5fa2ccffea74	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	number
 ac656c019798aa37	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Subquery	0	(SELECT price FROM invoices)
 ac656c019798aa37	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Tuple	0	(-20003, 'ERROR: Could not create table.')
 ac656c019798aa37	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::UnaryOp	0	-20003
-ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(*)
-ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
 ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT COUNT(*) FROM my_table) > 0
-ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(SELECT COUNT(*) FROM my_table)
 ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArg::Unnamed	0	*
 ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentList	0	*
-ac6fd14ea4c05f63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	(*)
-ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(*)
-ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*)
 ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT COUNT(*) FROM my_table) > 0
-ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT COUNT(*) FROM my_table)
 ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	*
-ac6fd14ea4c05f63	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(*)
 ac890d3cc4588bd5	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM JSON_TABLE("[]", "$[*]" COLUMNS(a VARCHAR(20) PATH "$")) AS t
 ac890d3cc4588bd5	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS t
 ac890d3cc4588bd5	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT * FROM JSON_TABLE("[]", "$[*]" COLUMNS(a VARCHAR(20) PATH "$")) AS t
@@ -11874,94 +10145,46 @@
 ad5e36f62f79d207	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Table	0	testtable AS t TABLESAMPLE ROW (10)
 ad5e36f62f79d207	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	Expr::Value	0	10
 ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	both	ExcludeSelectItem::Multiple	0	EXCLUDE (col1)
-ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	Function	0	HASH(* EXCLUDE (col1))
-ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	HASH(* EXCLUDE (col1))
-ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Expr::Function	0	HASH(* EXCLUDE (col1))
 ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArg::Unnamed	0	* EXCLUDE (col1)
 ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArgExpr::WildcardWithOptions	0	* EXCLUDE (col1)
 ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArgumentList	0	* EXCLUDE (col1)
-ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	empty	FunctionArguments::List	0	(* EXCLUDE (col1))
-ad7f673ff5371376	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	structure	outside-parent	WildcardAdditionalOptions	0	 EXCLUDE (col1)
 ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	edges	both	ExcludeSelectItem::Multiple	0	EXCLUDE (col1)
-ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	HASH(* EXCLUDE (col1))
-ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	HASH(* EXCLUDE (col1))
-ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	HASH(* EXCLUDE (col1))
 ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	* EXCLUDE (col1)
 ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::WildcardWithOptions	0	* EXCLUDE (col1)
 ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	* EXCLUDE (col1)
-ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(* EXCLUDE (col1))
-ad7f673ff5371376	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	WildcardAdditionalOptions	0	 EXCLUDE (col1)
 ad89c761eace622d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ForValues::Default	0	DEFAULT
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(name)
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	edges	both	FunctionArguments::List	1	(name)
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	edges	end	Function	0	ARRAY_AGG(name) FILTER (WHERE name IS NOT NULL)
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	edges	end	Function	0	ARRAY_AGG(name) FILTER (WHERE name LIKE 'a%')
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(name) FILTER (WHERE name IS NOT NULL)
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(name) FILTER (WHERE name IS NOT NULL)
-ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(name) FILTER (WHERE name LIKE 'a%')
 ad98e6acf76a461f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,HiveDialect,SQLiteDialect,DatabricksDialect	reparse	inexact	Expr::IsNotNull	0	name IS NOT NULL
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(name)
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(name)
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(name) FILTER (WHERE name IS NOT NULL)
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(name) FILTER (WHERE name LIKE 'a%')
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(name) FILTER (WHERE name IS NOT NULL)
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(name) FILTER (WHERE name IS NOT NULL)
-ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(name) FILTER (WHERE name LIKE 'a%')
 ad98e6acf76a461f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::IsNotNull	0	name IS NOT NULL
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a IGNORE NULLS)
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(b RESPECT NULLS)
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	end	Function	0	FIRST_VALUE(a IGNORE NULLS) OVER ()
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	end	Function	0	FIRST_VALUE(b RESPECT NULLS) OVER ()
 adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	a IGNORE NULLS
 adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	b RESPECT NULLS
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	FIRST_VALUE(a IGNORE NULLS) OVER ()
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	FIRST_VALUE(b RESPECT NULLS) OVER ()
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(a IGNORE NULLS) OVER ()
-adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(b RESPECT NULLS) OVER ()
 adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::IgnoreOrRespectNulls	0	IGNORE NULLS
 adabed61595b8dde	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect,BigQueryDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::IgnoreOrRespectNulls	0	RESPECT NULLS
 adac77609622aca7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR(4)
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	COUNT(42)
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(1)
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(42)
 adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	COUNT(42) AS y
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	SUM(1) AS x
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(42)
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(1)
 adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	COUNT
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	COUNT
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	COUNT
-adc3986c9ddf10c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	COUNT(42)
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(1)
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(42)
 adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	COUNT(42) AS y
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	SUM(1) AS x
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(42)
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(1)
 adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
 adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	t PIVOT(SUM(1) AS x, COUNT(42) AS y FOR a.abc IN (1))
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	COUNT
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	COUNT
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	COUNT
-adc3986c9ddf10c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 add109113c1ea5a7	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ModifyColumn	0	MODIFY COLUMN description TEXT NOT NULL AFTER total_count
 add109113c1ea5a7	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 add109113c1ea5a7	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	total_count
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (S1+? S2?? S3{2,4}?) DEFINE DUMMY AS 1 = 1)
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	edges	end	TableWithJoins	0	my_table MATCH_RECOGNIZE(PATTERN (S1+? S2?? S3{2,4}?) DEFINE DUMMY AS 1 = 1)
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Query	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (S1+? S2?? S3{2,4}?) DEFINE DUMMY AS 1 = 1)
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Select	0	SELECT * FROM my_table MATCH_RECOGNIZE(PATTERN (S1+? S2?? S3{2,4}?) DEFINE DUMMY AS 1 = 1)
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	reparse	inexact	TableFactor::MatchRecognize	0	my_table MATCH_RECOGNIZE(PATTERN (S1+? S2?? S3{2,4}?) DEFINE DUMMY AS 1 = 1)
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Concat	0	S1+? S2?? S3{2,4}?
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S1+?
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S2??
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Repetition	0	S3{2,4}?
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	S1
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	S2
+addd0726da133066	4edff8487059a4e8	GenericDialect,SnowflakeDialect,OracleDialect	structure	empty	MatchRecognizePattern::Symbol	0	S3
 adfa6e0f88136824	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS UNPIVOT
 ae00cf60a6614400	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND(3))
 ae00cf60a6614400	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE TO SECOND(3))
@@ -11970,16 +10193,8 @@
 ae00cf60a6614400	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE TO SECOND(3))
 ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArg::Unnamed	0	INTERVAL 1 HOUR
 ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArgExpr::Expr	0	INTERVAL 1 HOUR
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArg::Unnamed	0	CURRENT_TIMESTAMP()
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArgExpr::Expr	0	CURRENT_TIMESTAMP()
 ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArgumentList	0	CURRENT_TIMESTAMP(), INTERVAL 1 HOUR
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
 ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Interval	0	INTERVAL 1 HOUR
-ae165f6229c5cc8d	4edff8487059a4e8	BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 ae22d9467ce086c1	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	$1:"B"::TEXT
 ae22d9467ce086c1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	$1:"B"::TEXT
 ae22d9467ce086c1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	$1:"B"
@@ -11995,30 +10210,21 @@
 ae2573a5cbf23deb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL YEAR(4))
 ae2573a5cbf23deb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL YEAR(4))
 ae2573a5cbf23deb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL YEAR(4))
-ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
+ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
 ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	CAST(column AS XML).value('.', 'NVARCHAR(MAX)') AS T
 ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Cast	0	CAST(column AS XML)
 ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	CAST(column AS XML).value('.', 'NVARCHAR(MAX)')
-ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
 ae32347623f18fc8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	ObjectName	0	XML
-ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
+ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
 ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	CAST(column AS XML).value('.', 'NVARCHAR(MAX)') AS T
 ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	CAST(column AS XML)
 ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	CAST(column AS XML).value('.', 'NVARCHAR(MAX)')
-ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
 ae32347623f18fc8	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	ObjectName	0	XML
-ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(t.ProductName, s.ProductName)
-ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	Function	0	ISNULL(t.ProductName, s.ProductName)
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	SelectInto	0	INTO dsi.temp_products
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	TableAlias	0	AS s
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	TableAlias	0	AS t
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	Values	0	VALUES (s.ProductID, s.ProductName)
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::BinaryOp	0	t.ProductName = s.ProductName OR (ISNULL(t.ProductName, s.ProductName) IS NULL)
-ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	ISNULL(t.ProductName, s.ProductName)
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::IsNull	0	ISNULL(t.ProductName, s.ProductName) IS NULL
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::Nested	0	(ISNULL(t.ProductName, s.ProductName) IS NULL)
 ae5cd336747a70fb	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::Nested	0	(t.ProductName = s.ProductName OR (ISNULL(t.ProductName, s.ProductName) IS NULL))
@@ -12051,58 +10257,15 @@
 ae739bcbda9045b0	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	a
 ae739bcbda9045b0	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	abc
 ae739bcbda9045b0	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	b
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	('type_id' : 1, 'name' : 'a')
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT('type_id' : 1, 'name' : 'a')
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	FunctionArg::ExprNamed	0	'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a')
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	FunctionArgExpr::Expr	0	JSON_OBJECT('type_id' : 1, 'name' : 'a')
 ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	FunctionArgumentList	0	'name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('type_id' : 1, 'name' : 'a')
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
-ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)
 ae83757346507f25	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Dot	1	.value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	('abc', 1)
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	1	('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LEFT('abc', 1)
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	1	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	LEFT('abc', 1).value('.', 'NVARCHAR(MAX)').value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LEFT('abc', 1)
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	1	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Dot	1	.value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('abc', 1)
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LEFT('abc', 1)
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	1	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	LEFT('abc', 1).value('.', 'NVARCHAR(MAX)').value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LEFT('abc', 1)
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	value('.', 'NVARCHAR(MAX)')
-ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	1	value('.', 'NVARCHAR(MAX)')
-ae9c52903c54a59e	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(val)
-ae9c52903c54a59e	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	LEAD(val) IGNORE NULLS OVER (PARTITION BY grp ORDER BY id)
-ae9c52903c54a59e	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	LEAD(val) IGNORE NULLS OVER (PARTITION BY grp ORDER BY id)
-ae9c52903c54a59e	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	Expr::Identifier	0	grp
-ae9c52903c54a59e	4edff8487059a4e8	SparkSqlDialect	structure	outside-parent	OrderByExpr	0	id
-aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(INFORMATION => DEFAULT)
-aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(OFFSET => -60)
-aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(OFFSET => -60)
-aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	CHANGES(INFORMATION => DEFAULT)
+ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
+ae9278c5533708d4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	1	.value('.', 'NVARCHAR(MAX)')
+ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.value('.', 'NVARCHAR(MAX)')
+ae9278c5533708d4	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	1	.value('.', 'NVARCHAR(MAX)')
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(OFFSET => -60)
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	t CHANGES(INFORMATION => DEFAULT) AT(OFFSET => -60)
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	edges	start	FunctionArgExpr::Expr	0	-60
-aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(OFFSET => -60)
-aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::UnaryOp	0	-60
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(OFFSET => -60)
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(OFFSET => -60)
@@ -12111,7 +10274,6 @@
 aeadabaf6370b581	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
 aec69ac369c4bb04	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::FreezePartition	0	FREEZE PARTITION '2024-08-14' WITH NAME 'hello'
 aec69ac369c4bb04	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Partition::Expr	0	PARTITION '2024-08-14'
-aec69ac369c4bb04	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'hello'
 aeddf69089f868be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(JULIAN FROM d)
 aeddf69089f868be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(JULIAN FROM d)
 aeddf69089f868be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Extract	0	EXTRACT(JULIAN FROM d)
@@ -12122,43 +10284,21 @@
 aeddf69089f868be	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Extract	0	EXTRACT(JULIAN FROM d)
 aeddf69089f868be	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT EXTRACT(JULIAN FROM d)
 aeddf69089f868be	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXTRACT(JULIAN FROM d)
-af5b489af452847d	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-af5b489af452847d	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 af5b489af452847d	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-af5b489af452847d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-af5b489af452847d	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 af5b489af452847d	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('2026-02-18 11:23:19.660000000')
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(INFORMATION => DEFAULT)
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	CHANGES(INFORMATION => DEFAULT)
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	t CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
-af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a FROM t CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	t CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
 af5e62fb9c783bb1	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
-af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(o_totalprice)
-af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	COUNT(*)
-af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	SUM(o_totalprice)
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	ExprWithAlias	0	EXTRACT(YEAR FROM o_orderdate) AS year
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Extract	0	EXTRACT(YEAR FROM o_orderdate)
-af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	COUNT(*)
-af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(o_totalprice)
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE SUM(o_totalprice) AS price, COUNT(*) AS cnt GROUP BY EXTRACT(YEAR FROM o_orderdate) AS year
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*) AS cnt
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	EXTRACT(YEAR FROM o_orderdate) AS year
 af72477b8913be09	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(o_totalprice) AS price
@@ -12237,14 +10377,8 @@
 b0c828e5ba0c1c58	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL HOUR(0))
 b0c828e5ba0c1c58	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL HOUR(0))
 b0c828e5ba0c1c58	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL HOUR(0))
-b0e43f188b10f582	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	('a', 1, 'b', 2)
-b0e43f188b10f582	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	Function	0	named_struct('a', 1, 'b', 2)
 b0e43f188b10f582	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	start	AccessExpr::Dot	0	.a
-b0e43f188b10f582	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	named_struct('a', 1, 'b', 2)
-b0e43f188b10f582	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('a', 1, 'b', 2)
-b0e43f188b10f582	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	named_struct('a', 1, 'b', 2)
 b0e43f188b10f582	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.a
-b0e43f188b10f582	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	named_struct('a', 1, 'b', 2)
 b0f6123d1df9fb43	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL HOUR TO MINUTE(0)
 b0f6123d1df9fb43	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL HOUR TO MINUTE(0)
 b0f6123d1df9fb43	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL HOUR TO MINUTE(0)
@@ -12288,19 +10422,7 @@
 b10a763d1e0b4e39	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL HOUR TO MINUTE(6)
 b10a763d1e0b4e39	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL HOUR TO MINUTE(6)
 b10a763d1e0b4e39	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL HOUR TO MINUTE(6)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(1, 2)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_ARRAY(1, 2)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	FunctionArg::ExprNamed	0	'type' : JSON_ARRAY(1, 2)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	FunctionArgExpr::Expr	0	JSON_ARRAY(1, 2)
 b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	FunctionArgumentList	0	'name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY(1, 2)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
-b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)
 b1257a48d39b10f3	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	ABSENT ON NULL
 b13d0c3e17a67edb	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	TableWithJoins	0	(SELECT report_from FROM mytable) SAMPLE (10000 ROWS)
 b13d0c3e17a67edb	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM (SELECT report_from FROM mytable) SAMPLE (10000 ROWS)
@@ -12494,19 +10616,10 @@
 b288b6a86032adfc	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t1 RIGHT OUTER JOIN t2 USING(c1)
 b288b6a86032adfc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t1 RIGHT OUTER JOIN t2 USING(c1)
 b288b6a86032adfc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t1 RIGHT OUTER JOIN t2 USING(c1)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	foo('bar' AS x)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	foo('bar' AS x)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT foo('bar' AS x)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo('bar' AS x)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT foo('bar' AS x)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT foo('bar' AS x)
 b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	'bar' AS x
 b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArg::Unnamed	0	'bar' AS x
 b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	'bar' AS x
 b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	'bar' AS x
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	('bar' AS x)
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Value	0	'bar'
-b2a6fd991c20d989	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	x
 b31e5efc64cc178f	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@my_stage
 b31e5efc64cc178f	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@my_stage
 b31e5efc64cc178f	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@my_stage
@@ -12599,36 +10712,16 @@
 b43223bcc3f70b19	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	&&
 b43223bcc3f70b19	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	&&
 b43223bcc3f70b19	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	&&
-b44c0fc619e8700e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FromTable::WithFromKeyword	0	FROM "table"
-b44c0fc619e8700e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	FromTable::WithFromKeyword	0	FROM "table"
-b44c0fc619e8700e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"table"
-b44c0fc619e8700e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"table"
-b44c0fc619e8700e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"table"
-b44c0fc619e8700e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	TableFactor::Table	0	"table"
-b44c0fc619e8700e	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	TableWithJoins	0	"table"
+b44c0fc619e8700e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FromTable::WithFromKeyword	0	FROM "table"
 b44c0fc619e8700e	fdaf9332c09858cf	DuckDbDialect	edges	start	FromTable::WithFromKeyword	0	FROM "table"
 b47bbbe6c26845ea	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::AddColumn	0	ADD foo TEXT
 b47bbbe6c26845ea	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	foo TEXT
 b47bbbe6c26845ea	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AddColumn	0	ADD foo TEXT
 b47bbbe6c26845ea	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo TEXT
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE N'...' WITH COUNT
-b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	N'...'
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
+b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT
+b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE N'...' WITH COUNT
+b49a5c64afdac05c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Value	0	N'...'
 b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
-b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(dateid ON OVERFLOW TRUNCATE N'...' WITH COUNT)
 b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentClause::OnOverflow	0	ON OVERFLOW TRUNCATE N'...' WITH COUNT
 b49a5c64afdac05c	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	0	N'...'
 b49cc2da526faec1	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
@@ -12640,9 +10733,7 @@
 b4a2159e54d2b331	fdaf9332c09858cf	DuckDbDialect	edges	both	Fetch	0	FETCH FIRST 10 ROWS ONLY
 b4a22b00428f884b	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> INTERSECT DISTINCT BY NAME (SELECT * FROM admins)
 b4a22b00428f884b	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Query	0	SELECT * FROM admins
-b4b2708b1016f5a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	my_function()
 b4b2708b1016f5a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL my_function()
-b4b2708b1016f5a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
 b4b2708b1016f5a1	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	my_function()
 b4b56a1d6f0fd0f3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM customers WHERE segment IN (SELECT segm FROM bar)
 b4b56a1d6f0fd0f3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InSubquery	0	segment IN (SELECT segm FROM bar)
@@ -12659,10 +10750,7 @@
 b50a87a56f3550e5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	@@
 b50a87a56f3550e5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	@@
 b50a87a56f3550e5	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	@@
-b5261495d1abb54a	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(2, 'a', 'b', 'c', 'd')
-b5261495d1abb54a	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	end	Function	0	stack(2, 'a', 'b', 'c', 'd')
 b5261495d1abb54a	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	end	SelectItem::ExprWithAliases	0	stack(2, 'a', 'b', 'c', 'd') AS (col1, col2)
-b5261495d1abb54a	4edff8487059a4e8	GenericDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	stack(2, 'a', 'b', 'c', 'd')
 b5278abc07ac513b	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	TableAlias	0	AS t
 b5278abc07ac513b	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	TableWithJoins	0	(SELECT 1) AS t
 b5278abc07ac513b	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Derived	0	(SELECT 1) AS t
@@ -12681,29 +10769,12 @@
 b57c2315b0162de8	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOption::Policy	0	PROJECTION POLICY p
 b57c2315b0162de8	4edff8487059a4e8	SnowflakeDialect	structure	empty	ColumnOptionDef	0	PROJECTION POLICY p
 b57c2315b0162de8	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	p
-b57c4cbd06961e6b	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'CATALOG'
-b57c4cbd06961e6b	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'my_schema'
-b57c4cbd06961e6b	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'CATALOG'.'my_schema'
-b57c4cbd06961e6b	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-b57c4cbd06961e6b	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'my_schema'
-b57c4cbd06961e6b	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'CATALOG'
-b57c4cbd06961e6b	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'my_schema'
-b57c4cbd06961e6b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'CATALOG'.'my_schema'
-b57c4cbd06961e6b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-b57c4cbd06961e6b	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'my_schema'
 b58d0ec14c3950b9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	edges	both	JsonPath	0	:foo[0].bar
 b58d0ec14c3950b9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	a:foo[0].bar
 b58d0ec14c3950b9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	edges	end	SetExpr::Select	0	SELECT a:foo[0].bar
 b58d0ec14c3950b9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Expr::JsonAccess	0	a:foo[0].bar
 b58d0ec14c3950b9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT a:foo[0].bar
 b58d0ec14c3950b9	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Select	0	SELECT a:foo[0].bar
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	('name' : 'value', 'type' : NULL ABSENT ON NULL)
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	Function	0	JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)
-b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)
 b59028f320967b04	4edff8487059a4e8	MsSqlDialect,PostgreSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	ABSENT ON NULL
 b594a32adc05d5f0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	LEFT JOIN t2 USING(c1)
 b594a32adc05d5f0	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT c1 FROM t1 LEFT JOIN t2 USING(c1)
@@ -12715,25 +10786,10 @@
 b594a32adc05d5f0	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t1 LEFT JOIN t2 USING(c1)
 b594a32adc05d5f0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT c1 FROM t1 LEFT JOIN t2 USING(c1)
 b594a32adc05d5f0	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT c1 FROM t1 LEFT JOIN t2 USING(c1)
-b5a6976998fa01c6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-b5a6976998fa01c6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.cast ORDER BY T.id)
-b5a6976998fa01c6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.cast ORDER BY T.id)
-b5a6976998fa01c6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.cast ORDER BY T.id)
-b5a6976998fa01c6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.cast
-b5a6976998fa01c6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-b5a6976998fa01c6	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-b5a6976998fa01c6	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.cast ORDER BY T.id)
-b5a6976998fa01c6	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.cast ORDER BY T.id)
-b5a6976998fa01c6	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.cast ORDER BY T.id)
-b5a6976998fa01c6	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.cast
-b5a6976998fa01c6	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
 b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	%table_name/path
-b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
 b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@namespace
-b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
 b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@namespace.%table_name/path
 b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	%table_name/path
-b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 b5a9fe8f4bcc9a6d	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@namespace
 b5aace98f77f8d71	4edff8487059a4e8	BigQueryDialect	edges	end	SetExpr::Select	0	SELECT STRUCT<x INT64>(5), STRUCT<y STRING>("foo")
 b5aace98f77f8d71	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Query	0	SELECT STRUCT<x INT64>(5), STRUCT<y STRING>("foo")
@@ -12749,33 +10805,20 @@
 b5b749ec98cc9b81	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	RenameSelectItem::Multiple	0	RENAME (department_id AS new_dep, employee_id AS new_emp)
 b5b749ec98cc9b81	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SelectItem::QualifiedWildcard	0	name.* RENAME (department_id AS new_dep, employee_id AS new_emp)
 b5b749ec98cc9b81	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	name.*
-b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	preprocess()
-b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	validate()
 b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL preprocess() AS clean |> SELECT col1, col2 |> CALL validate()
-b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
-b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	1	()
 b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	preprocess()
 b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	validate()
 b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	clean
 b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	col1
 b5fb240835ccf7b9	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	col2
-b5ffa8699cb78bd9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a)
-b5ffa8699cb78bd9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	f(a)
 b5ffa8699cb78bd9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	."an id"
-b5ffa8699cb78bd9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	f(a)
-b5ffa8699cb78bd9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a)
-b5ffa8699cb78bd9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	f(a)
 b5ffa8699cb78bd9	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	."an id"
-b5ffa8699cb78bd9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	f(a)
 b60689106ab33aba	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Join	0	LEFT JOIN orders USING(user_id, order_date)
 b60689106ab33aba	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> LEFT JOIN orders USING(user_id, order_date)
 b60689106ab33aba	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	LEFT JOIN orders USING(user_id, order_date)
-b63d5c5c1dcc3e8b	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('alias1')
-b63d5c5c1dcc3e8b	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	identifier('alias1')
 b63d5c5c1dcc3e8b	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::QualifiedWildcard	0	identifier('alias1').*
 b63d5c5c1dcc3e8b	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItemQualifiedWildcardKind::Expr	0	identifier('alias1').*
 b63d5c5c1dcc3e8b	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS alias1
-b63d5c5c1dcc3e8b	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	identifier('alias1')
 b64feb0e9a9bc094	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	FLOOR(1.5)
 b64feb0e9a9bc094	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT FLOOR(1.5)
 b64feb0e9a9bc094	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Floor	0	FLOOR(1.5)
@@ -12818,29 +10861,11 @@
 b66f3598898a325c	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::UnaryOp	0	-20002
 b66f3598898a325c	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::UnaryOp	0	-20003
 b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	CheckConstraint	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(REF_CODE)
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(ltrim(REF_CODE))
 b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableConstraint::Check	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
 b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	id INT
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	rtrim(ltrim(REF_CODE))
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArg::Unnamed	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgExpr::Expr	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	rtrim(ltrim(REF_CODE))
 b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	both	CheckConstraint	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(REF_CODE)
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(ltrim(REF_CODE))
 b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::Check	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
 b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	id INT
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	rtrim(ltrim(REF_CODE))
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ltrim(REF_CODE)
-b67c67d0abc5cef1	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	rtrim(ltrim(REF_CODE))
 b6a38060ab437fbf	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND(2))
 b6a38060ab437fbf	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL MINUTE TO SECOND(2))
 b6a38060ab437fbf	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL MINUTE TO SECOND(2))
@@ -12849,24 +10874,9 @@
 b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOption::Default	0	DEFAULT (foo())::INT::TEXT
 b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	edges	both	ColumnOptionDef	0	DEFAULT (foo())::INT::TEXT
 b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	c TEXT DEFAULT (foo())::INT::TEXT
-b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	foo()
 b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	(foo())::INT
 b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	(foo())::INT::TEXT
-b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo()
 b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	0	(foo())
-b6ae92b8e5577c4f	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
-b6b51e5ac64870e1	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	HiveDialect	structure	empty	ObjectName	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	HiveDialect	structure	empty	ObjectNamePart::Identifier	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	MsSqlDialect	structure	empty	Ident	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectName	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectNamePart::Identifier	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectName	0	'DATABASE'
-b6b51e5ac64870e1	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'DATABASE'
-b6b51e5ac64870e1	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'DATABASE'
-b6b51e5ac64870e1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'DATABASE'
-b6b51e5ac64870e1	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'DATABASE'
 b6bab218eff586fd	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	|/ a
 b6bab218eff586fd	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	|/ a
 b6caab30ab468b3b	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS dim1 FACTS fact1)
@@ -13017,11 +11027,9 @@
 b7537b43d06a1aa4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT '1 second'::INTERVAL(6)
 b7537b43d06a1aa4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL(6)
 b7548da76e71ed99	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS FETCH
-b79b9d7697197117	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-b79b9d7697197117	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
+b7690240769552ff	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! !o
+b7690240769552ff	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!o
 b79b9d7697197117	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-b79b9d7697197117	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-b79b9d7697197117	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 b79b9d7697197117	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
 b7ab93bb1cb024d5	4edff8487059a4e8	PostgreSqlDialect	edges	both	Array	0	ARRAY['a_c%']
 b7ab93bb1cb024d5	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	'abc' !~~ ALL(ARRAY['a_c%'])
@@ -13037,19 +11045,11 @@
 b7af28a5d198ae92	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL YEAR(3))
 b7cb1b52d8efbd04	4edff8487059a4e8	PostgreSqlDialect	edges	both	CheckConstraint	0	CHECK (VALUE > 0)
 b7cb1b52d8efbd04	4edff8487059a4e8	PostgreSqlDialect	edges	both	TableConstraint::Check	0	CHECK (VALUE > 0)
-b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(order)
-b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(order)
-b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(order)
 b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL
-b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(order)
 b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL
 b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL
 b7d03046948113c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	GroupByExpr::All	0	GROUP BY ALL
-b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(order)
-b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(order)
-b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(order)
 b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL
-b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(order)
 b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL
 b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT id, fname, lname, SUM(order) FROM customer GROUP BY ALL
 b7d03046948113c7	fdaf9332c09858cf	DuckDbDialect	structure	empty	GroupByExpr::All	0	GROUP BY ALL
@@ -13063,7 +11063,6 @@
 b7ee2bf75aecce0c	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOption::Generated	0	GENERATED ALWAYS AS (a * 2)
 b7ee2bf75aecce0c	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	GENERATED ALWAYS AS (a * 2)
 b7ee2bf75aecce0c	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	outside-parent	Expr::BinaryOp	0	a * 2
-b7fbe0b92e543ba3	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'cluster'
 b802492d372d4dbc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL '1' YEAR
 b802492d372d4dbc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL '1' YEAR
 b802492d372d4dbc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' YEAR
@@ -13128,17 +11127,14 @@
 b8a17e3edd788e84	fdaf9332c09858cf	DuckDbDialect	edges	both	CheckConstraint	0	CONSTRAINT c CHECK (a > 0) NO INHERIT
 b8a17e3edd788e84	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::Check	0	CONSTRAINT c CHECK (a > 0) NO INHERIT
 b8a17e3edd788e84	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	a INT
+b8b187cb07c7cbcc	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY (a, toDate(ts))
 b8bae7e2f315446d	4edff8487059a4e8	SnowflakeDialect	edges	both	AlterTableOperation::DropConstraint	0	DROP CONSTRAINT c1 CASCADE
 b8cfa5c8b0c46177	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL MONTH(1))
 b8cfa5c8b0c46177	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL MONTH(1))
 b8cfa5c8b0c46177	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL MONTH(1))
 b8cfa5c8b0c46177	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL MONTH(1))
 b8cfa5c8b0c46177	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL MONTH(1))
-b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(arr, x -> x * 2)
-b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	transform(arr, x -> x * 2)
 b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	edges	end	FunctionArgumentList	0	arr, x -> x * 2
-b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	transform(arr, x -> x * 2)
-b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	transform(arr, x -> x * 2)
 b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	structure	empty	Expr::Lambda	0	x -> x * 2
 b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArg::Unnamed	0	x -> x * 2
 b8fa1b37ae79bb30	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgExpr::Expr	0	x -> x * 2
@@ -13190,6 +11186,9 @@
 b94c66ec7c318561	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::TypedString	0	xml '<foo/>'
 b94c66ec7c318561	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	outside-parent	ObjectName	0	xml
 b94eb79ccae5ef2e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR TO MONTH(3)
+b95b275c2646765c	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	s STRUCT<a STRING COLLATE UTF8_LCASE>
+b95b275c2646765c	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	a
+b95b275c2646765c	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	ObjectName	0	UTF8_LCASE
 b96163b98cb4c04a	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN a b INT FIRST
 b96ad9e5beee5817	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL HOUR(1))
 b96ad9e5beee5817	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL HOUR(1))
@@ -13254,6 +11253,7 @@
 b9f26f502be96ae0	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE NOT DEFERRABLE ENFORCED
 b9f26f502be96ae0	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	NOT DEFERRABLE ENFORCED
 b9f26f502be96ae0	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () NOT DEFERRABLE ENFORCED
+ba04eaf3066c02af	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 ba14e78738bf06a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	id INT
 ba14e78738bf06a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	name VARCHAR(100)
 ba14e78738bf06a5	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	id INT
@@ -13320,9 +11320,9 @@
 bb693c474816df0f	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS CLUSTER
 bb6bc0c97c869a9c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	NATURAL LEFT JOIN t2
 bb6bc0c97c869a9c	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	NATURAL LEFT JOIN t2
-bbda9243a1b900b0	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'%'
-bbda9243a1b900b0	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'jeffrey'
 bc1147864834e247	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ReferentialAction::Cascade	0	CASCADE
+bc3db05523e139b6	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	!a + b
+bc3db05523e139b6	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!a + b
 bc3e2126e6c7613d	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	a Array(Int16)
 bc3e2126e6c7613d	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	b LowCardinality(STRING)
 bc3e2126e6c7613d	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	i Nested(a Array(Int16), b LowCardinality(STRING))
@@ -13337,26 +11337,7 @@
 bc3e2126e6c7613d	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	ColumnDef	0	b LowCardinality(STRING)
 bc3e2126e6c7613d	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	Ident	1	a
 bc3e2126e6c7613d	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	Ident	1	b
-bc4abc9eec3ff1e7	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-bc4abc9eec3ff1e7	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-bc4abc9eec3ff1e7	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-bc4abc9eec3ff1e7	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-bc4abc9eec3ff1e7	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 bc4fa08e80d5d3e4	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::NoForceRowLevelSecurity	0	NO FORCE ROW LEVEL SECURITY
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(sellerid)
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(sellerid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
-bc5f119e856aea86	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT LISTAGG(sellerid) WITHIN GROUP (ORDER BY dateid)
 bca8b70cddbcc195	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	bar MEDIUMTEXT
 bcc45cad24f2d487	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 bcc45cad24f2d487	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
@@ -13387,12 +11368,7 @@
 bd5327a33af398c2	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@~
 bd5327a33af398c2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@~
 bd5327a33af398c2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@~
-bd721e6d2ab57713	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-bd721e6d2ab57713	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
-bd90ea8668877079	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(a)
 bd90ea8668877079	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	a INT
-bd90ea8668877079	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	RANGE(a)
-bd90ea8668877079	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	RANGE(a)
 bdaad40a9c6adf44	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<>
 bdaad40a9c6adf44	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<>
 bdaad40a9c6adf44	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<>
@@ -13454,16 +11430,10 @@
 be23405877d5c519	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::IsNotUnknown	0	field IS NOT UNKNOWN
 be23405877d5c519	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT f FROM foo WHERE field IS NOT UNKNOWN
 be23405877d5c519	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT f FROM foo WHERE field IS NOT UNKNOWN
-be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(ROWCOUNT => 10)
-be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	1	(ROWCOUNT => 10)
-be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	GENERATOR(ROWCOUNT => 10)
-be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	1	GENERATOR(ROWCOUNT => 10)
 be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS a
 be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS b
 be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	TABLE(GENERATOR(ROWCOUNT => 10)) AS a
 be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	TABLE(GENERATOR(ROWCOUNT => 10)) AS b
-be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	GENERATOR(ROWCOUNT => 10)
-be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	1	GENERATOR(ROWCOUNT => 10)
 be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::TableFunction	0	TABLE(GENERATOR(ROWCOUNT => 10)) AS a
 be25fe5bfb520671	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::TableFunction	0	TABLE(GENERATOR(ROWCOUNT => 10)) AS b
 be32343588f9ac11	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT(11)
@@ -13475,36 +11445,12 @@
 be32343588f9ac11	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	ENGINE
 be32343588f9ac11	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	InnoDB
 be32343588f9ac11	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	SqlOption::NamedParenthesizedList	0	ENGINE = InnoDB
-be95edfe326d2a35	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	ClickHouseDialect	edges	end	SelectItem::UnnamedExpr	0	"myfun"()
 be95edfe326d2a35	4edff8487059a4e8	ClickHouseDialect	edges	start	TableAlias	0	AS "alias"
-be95edfe326d2a35	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	ClickHouseDialect	structure	empty	FunctionArguments::List	0	()
-be95edfe326d2a35	4edff8487059a4e8	HiveDialect	edges	end	Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	HiveDialect	edges	end	SelectItem::UnnamedExpr	0	"myfun"()
 be95edfe326d2a35	4edff8487059a4e8	HiveDialect	edges	start	TableAlias	0	AS "alias"
-be95edfe326d2a35	4edff8487059a4e8	HiveDialect	reparse	inexact	Expr::Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	HiveDialect	structure	empty	FunctionArguments::List	0	()
-be95edfe326d2a35	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	"myfun"()
 be95edfe326d2a35	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	TableAlias	0	AS "alias"
-be95edfe326d2a35	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	MsSqlDialect,GenericDialect	structure	empty	FunctionArguments::List	0	()
-be95edfe326d2a35	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	"myfun"()
 be95edfe326d2a35	4edff8487059a4e8	PostgreSqlDialect	edges	start	TableAlias	0	AS "alias"
-be95edfe326d2a35	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	PostgreSqlDialect	structure	empty	FunctionArguments::List	0	()
-be95edfe326d2a35	4edff8487059a4e8	RedshiftSqlDialect	edges	end	Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	"myfun"()
 be95edfe326d2a35	4edff8487059a4e8	RedshiftSqlDialect	edges	start	TableAlias	0	AS "alias"
-be95edfe326d2a35	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Expr::Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	RedshiftSqlDialect	structure	empty	FunctionArguments::List	0	()
-be95edfe326d2a35	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	"myfun"()
 be95edfe326d2a35	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS "alias"
-be95edfe326d2a35	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	"myfun"()
-be95edfe326d2a35	4edff8487059a4e8	SnowflakeDialect	structure	empty	FunctionArguments::List	0	()
 be997e2632c61d7e	4edff8487059a4e8	MySqlDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	a.*
 be997e2632c61d7e	4edff8487059a4e8	MySqlDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	b.*
 be997e2632c61d7e	4edff8487059a4e8	MySqlDialect	edges	start	Join	0	STRAIGHT_JOIN table_b AS b ON a.b_id = b.id
@@ -13546,11 +11492,7 @@
 becd4f2807ac5ab0	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterSchemaOperation::OwnerTo	0	OWNER TO CURRENT_ROLE
 bedee82fb3e929f9	4edff8487059a4e8	SnowflakeDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
 bee14216d0a7a1e6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE(5)
-bf032c0f83da3140	4edff8487059a4e8	RedshiftSqlDialect	edges	both	FunctionArguments::List	0	(1)
-bf032c0f83da3140	4edff8487059a4e8	RedshiftSqlDialect	edges	end	Function	0	FIRST_VALUE(1) IGNORE NULLS OVER ()
-bf032c0f83da3140	4edff8487059a4e8	RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	FIRST_VALUE(1) IGNORE NULLS OVER ()
 bf032c0f83da3140	4edff8487059a4e8	RedshiftSqlDialect	edges	start	TableWithJoins	0	(SELECT 1) t
-bf032c0f83da3140	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(1) IGNORE NULLS OVER ()
 bf032c0f83da3140	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	TableFactor::Derived	0	(SELECT 1) t
 bf122a4f287c2ca1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT c1 FROM tbl WHERE c1 = ANY(SELECT c2 FROM tbl)
 bf122a4f287c2ca1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::AnyOp	0	c1 = ANY(SELECT c2 FROM tbl)
@@ -13579,11 +11521,6 @@
 bf3f998910bacc97	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Cast	0	TRY_CAST(id AS BIGINT)
 bf3f998910bacc97	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	TRY_CAST(id AS BIGINT)
 bf3f998910bacc97	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	TRY_CAST(id AS BIGINT)
-bf4f248c94038b45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(col_2, 1, 0)
-bf4f248c94038b45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	Function	0	LAG(col_2, 1, 0) OVER (ORDER BY col_1)
-bf4f248c94038b45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	LAG(col_2, 1, 0) OVER (ORDER BY col_1)
-bf4f248c94038b45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	LAG(col_2, 1, 0) OVER (ORDER BY col_1)
-bf4f248c94038b45	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	col_1
 bf715cbbd3b11fdb	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT STRUCT<INTERVAL>(INTERVAL '1' MONTH), STRUCT<JSON>(JSON '{"class" : {"students" : [{"name" : "Jane"}]}}')
 bf715cbbd3b11fdb	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' MONTH
 bf715cbbd3b11fdb	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::TypedString	0	JSON '{"class" : {"students" : [{"name" : "Jane"}]}}'
@@ -13610,20 +11547,6 @@
 bfd6511a83e3bf3c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Exclude	0	CONSTRAINT no_overlap EXCLUDE USING gist (room WITH =)
 bfd6511a83e3bf3c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	room INT
 bfd6511a83e3bf3c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ExcludeConstraintElement	0	room WITH =
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	CURRENT_TIME()
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	CURRENT_TIME()
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT CURRENT_TIME()
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	CURRENT_TIME()
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT CURRENT_TIME()
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT CURRENT_TIME()
-c02567f4266f4be7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	CURRENT_TIME()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	CURRENT_TIME()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT CURRENT_TIME()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	CURRENT_TIME()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT CURRENT_TIME()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT CURRENT_TIME()
-c02567f4266f4be7	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 c044a68fe1074279	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	RIGHT SEMI JOIN t2 USING(c1)
 c044a68fe1074279	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t1 RIGHT SEMI JOIN t2 USING(c1)
 c044a68fe1074279	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t1 RIGHT SEMI JOIN t2 USING(c1)
@@ -13648,8 +11571,14 @@
 c088ef5f75a5918d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Floor	0	FLOOR(d TO MINUTE)
 c088ef5f75a5918d	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	FLOOR(d TO MINUTE)
 c088ef5f75a5918d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Floor	0	FLOOR(d TO MINUTE)
-c0e0fd44639609f5	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC NULLS FIRST
-c0e0fd44639609f5	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC NULLS FIRST
+c0dad986390a598e	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	both	SelectItem::UnnamedExpr	0	!(b > 3)
+c0dad986390a598e	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	end	SetExpr::Select	0	SELECT !(b > 3)
+c0dad986390a598e	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::Nested	0	(b > 3)
+c0dad986390a598e	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!(b > 3)
+c0dad986390a598e	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT !(b > 3)
+c0dad986390a598e	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Select	0	SELECT !(b > 3)
+c0e0fd44639609f5	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC NULLS FIRST
+c0e0fd44639609f5	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC NULLS FIRST
 c0e0fd44639609f5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC NULLS FIRST
 c0e0fd44639609f5	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC NULLS FIRST
 c10b67d52d750329	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	JOIN tbl2 AS t2 USING(t2.col1)
@@ -13718,31 +11647,20 @@
 c1c9004280d342be	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::TypedString	0	DATETIME '1999-01-01 01:23:34.45'
 c1c9004280d342be	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	DATETIME '1999-01-01 01:23:34.45'
 c1c9004280d342be	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::TypedString	0	DATETIME '1999-01-01 01:23:34.45'
-c1cc0c6db266fd61	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	('a')
-c1cc0c6db266fd61	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	my_procedure('a')
-c1cc0c6db266fd61	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('a')
-c1cc0c6db266fd61	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	my_procedure('a')
-c1dd6314804dcb87	4edff8487059a4e8	DatabricksDialect	structure	empty	Ident	0	"my_database"
-c1dd6314804dcb87	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectName	0	"my_database"
-c1dd6314804dcb87	4edff8487059a4e8	DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"my_database"
 c1f0099cfe018024	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO SECOND(6)
 c1f76794dc64ffe8	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Lock	0	LOCK = DEFAULT
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AccessExpr::Subscript	0	[1]
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u)[1], 2)
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(SELECT a FROM u)[1]
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::InList	0	x IN ((SELECT a FROM u)[1], 2)
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u)[1], 2)
+c1ffd1c903186d34	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u)[1], 2)
 c2172b1b6c80b975	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	TRY_CAST(id AS DECIMAL)
 c2172b1b6c80b975	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Cast	0	TRY_CAST(id AS DECIMAL)
 c2172b1b6c80b975	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	TRY_CAST(id AS DECIMAL)
 c2172b1b6c80b975	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	TRY_CAST(id AS DECIMAL)
-c294f44d6e5fe167	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-c294f44d6e5fe167	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.right ORDER BY T.id)
-c294f44d6e5fe167	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.right ORDER BY T.id)
-c294f44d6e5fe167	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.right ORDER BY T.id)
-c294f44d6e5fe167	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.right
-c294f44d6e5fe167	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-c294f44d6e5fe167	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-c294f44d6e5fe167	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.right ORDER BY T.id)
-c294f44d6e5fe167	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.right ORDER BY T.id)
-c294f44d6e5fe167	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.right ORDER BY T.id)
-c294f44d6e5fe167	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.right
-c294f44d6e5fe167	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
+c24cb6d6aef7ce38	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 c2aa7ea2612f7a68	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@namespace
 c2aa7ea2612f7a68	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	stage_name
 c2aa7ea2612f7a68	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@namespace.stage_name
@@ -13751,18 +11669,11 @@
 c2cae89cd080f52d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR TO MONTH(2)
 c2e64a9eb06ceeba	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY(5)
 c2fc76c135e7bc7e	4edff8487059a4e8	BigQueryDialect	edges	both	ExceptSelectItem	0	EXCEPT (foo)
-c2fc76c135e7bc7e	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	myfunc()
 c2fc76c135e7bc7e	4edff8487059a4e8	BigQueryDialect	edges	end	SelectItem::QualifiedWildcard	0	myfunc().* EXCEPT (foo)
 c2fc76c135e7bc7e	4edff8487059a4e8	BigQueryDialect	edges	end	SelectItemQualifiedWildcardKind::Expr	0	myfunc().*
-c2fc76c135e7bc7e	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	myfunc()
-c2fc76c135e7bc7e	4edff8487059a4e8	BigQueryDialect	structure	empty	FunctionArguments::List	0	()
-c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(created_at)
-c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	LimitClause::LimitOffset	0	 LIMIT 1 BY asset, toStartOfDay(created_at)
 c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	OrderBy	0	ORDER BY created_at DESC
-c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	toStartOfDay(created_at)
-c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	toStartOfDay(created_at)
+c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1 BY asset, toStartOfDay(created_at)
 c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	OrderByExpr	0	created_at DESC
-c301a200c1517a74	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM default.last_asset_runs_mv ORDER BY created_at DESC LIMIT 1 BY asset, toStartOfDay(created_at)
 c313192cc6c40251	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	start	SelectItem::ExprWithAlias	0	CAST('Hello' AS BYTES FORMAT 'ASCII') AS string_to_bytes
 c313192cc6c40251	4edff8487059a4e8	BigQueryDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('Hello' AS BYTES FORMAT 'ASCII')
 c313192cc6c40251	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	ValueWithSpan	0	'ASCII'
@@ -13771,12 +11682,9 @@
 c31fc4b852e0512f	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOption::OnConflict	0	ON CONFLICT ROLLBACK
 c31fc4b852e0512f	4edff8487059a4e8	SQLiteDialect,GenericDialect	structure	empty	ColumnOptionDef	0	ON CONFLICT ROLLBACK
 c3280203208c2132	4edff8487059a4e8	BigQueryDialect	edges	both	AccessExpr::Subscript	0	[0]
-c3280203208c2132	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	myfunc()
 c3280203208c2132	4edff8487059a4e8	BigQueryDialect	edges	end	SelectItem::QualifiedWildcard	0	myfunc()[0].*
 c3280203208c2132	4edff8487059a4e8	BigQueryDialect	edges	end	SelectItemQualifiedWildcardKind::Expr	0	myfunc()[0].*
 c3280203208c2132	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::CompoundFieldAccess	0	myfunc()[0]
-c3280203208c2132	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	myfunc()
-c3280203208c2132	4edff8487059a4e8	BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 c32b73feabcb1194	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	both	TableWithJoins	0	(a alias1 NATURAL JOIN b c)
 c32b73feabcb1194	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM (a alias1 NATURAL JOIN b c)
 c32b73feabcb1194	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	Join	0	NATURAL JOIN b c
@@ -13813,29 +11721,15 @@
 c419b7ea77e7bb34	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM student WHERE id = '1' FOR SHARE
 c419b7ea77e7bb34	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM student WHERE id = '1' FOR SHARE
 c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AccessExpr::Subscript	0	[array_length(arr) - 1:array_length(arr)]
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(arr)
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	1	(arr)
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	array_length(arr)
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	1	array_length(arr)
 c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	arr[array_length(arr) - 1:array_length(arr)]
 c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT arr[array_length(arr) - 1:array_length(arr)]
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Subscript::Slice	0	array_length(arr) - 1:array_length(arr)
 c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[array_length(arr) - 1:array_length(arr)]
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	array_length(arr)
-c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	1	array_length(arr)
 c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT arr[array_length(arr) - 1:array_length(arr)]
 c420352360c8fcfe	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT arr[array_length(arr) - 1:array_length(arr)]
 c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Subscript	0	[array_length(arr) - 1:array_length(arr)]
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(arr)
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(arr)
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	array_length(arr)
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	1	array_length(arr)
 c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	arr[array_length(arr) - 1:array_length(arr)]
 c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT arr[array_length(arr) - 1:array_length(arr)]
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	edges	end	Subscript::Slice	0	array_length(arr) - 1:array_length(arr)
 c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	arr[array_length(arr) - 1:array_length(arr)]
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	array_length(arr)
-c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	1	array_length(arr)
 c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT arr[array_length(arr) - 1:array_length(arr)]
 c420352360c8fcfe	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT arr[array_length(arr) - 1:array_length(arr)]
 c42d859b5bca06ee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(DATETIME FROM d)
@@ -13850,21 +11744,15 @@
 c42d859b5bca06ee	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXTRACT(DATETIME FROM d)
 c449b0ece41e5767	4edff8487059a4e8	RedshiftSqlDialect	structure	empty	AlterTableOperation::AlterSortKey	0	ALTER SORTKEY(created_at)
 c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	AccessExpr::Subscript	0	[1]
-c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	Function	0	make_array(1, 2, 3)
 c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	SelectItem::UnnamedExpr	0	make_array(1, 2, 3)[1]
 c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	edges	end	SetExpr::Select	0	SELECT make_array(1, 2, 3)[1]
 c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Expr::CompoundFieldAccess	0	make_array(1, 2, 3)[1]
-c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
 c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Query	0	SELECT make_array(1, 2, 3)[1]
 c44f563bbc207dd5	4edff8487059a4e8	GenericDialect,BigQueryDialect	reparse	inexact	Select	0	SELECT make_array(1, 2, 3)[1]
 c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	edges	both	AccessExpr::Subscript	0	[1]
-c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	make_array(1, 2, 3)
 c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	make_array(1, 2, 3)[1]
 c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT make_array(1, 2, 3)[1]
 c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::CompoundFieldAccess	0	make_array(1, 2, 3)[1]
-c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
 c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT make_array(1, 2, 3)[1]
 c44f563bbc207dd5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT make_array(1, 2, 3)[1]
 c4bf413c49b77bfe	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	AlterTableOperation::DisableRule	0	DISABLE RULE rule_name
@@ -13901,16 +11789,13 @@
 c540fee4ba189f89	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 c540fee4ba189f89	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 c540fee4ba189f89	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
-c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	edges	end	SetExpr::Select	0	SELECT 1 FROM t1 TIMESTAMP AS OF CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	edges	end	TableWithJoins	0	t1 TIMESTAMP AS OF CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::BinaryOp	0	CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
-c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Interval	0	INTERVAL 12 HOURS
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT 1 FROM t1 TIMESTAMP AS OF CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Select	0	SELECT 1 FROM t1 TIMESTAMP AS OF CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	TableFactor::Table	0	t1 TIMESTAMP AS OF CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
-c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	()
 c55bcbbf555f174d	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::BinaryOp	0	CURRENT_TIMESTAMP() - INTERVAL 12 HOURS
 c56162de9a5d48ef	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE
 c56162de9a5d48ef	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE
@@ -13920,26 +11805,12 @@
 c56162de9a5d48ef	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOption::Unique	0	UNIQUE
 c56162de9a5d48ef	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE
 c56162de9a5d48ef	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE ()
-c584515a61121047	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-c584515a61121047	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	(x)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	both	FunctionArguments::List	0	(y)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	both	FunctionArguments::List	1	(x)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	Function	0	FIRST_VALUE(x) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	Function	0	FIRST_VALUE(x) OVER (w ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	Function	0	SUM(y) OVER (win PARTITION BY x)
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	NamedWindowDefinition	0	w AS (PARTITION BY x)
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	NamedWindowDefinition	0	win AS (w ORDER BY y)
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	edges	end	SetExpr::Select	0	SELECT FIRST_VALUE(x) OVER (w ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS first, FIRST_VALUE(x) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS last, SUM(y) OVER (win PARTITION BY x) AS last FROM EMPLOYEE WINDOW w AS (PARTITION BY x), win AS (w ORDER BY y)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(x) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(x) OVER (w ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Expr::Function	0	SUM(y) OVER (win PARTITION BY x)
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Query	0	SELECT FIRST_VALUE(x) OVER (w ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS first, FIRST_VALUE(x) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS last, SUM(y) OVER (win PARTITION BY x) AS last FROM EMPLOYEE WINDOW w AS (PARTITION BY x), win AS (w ORDER BY y)
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	reparse	inexact	Select	0	SELECT FIRST_VALUE(x) OVER (w ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS first, FIRST_VALUE(x) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS last, SUM(y) OVER (win PARTITION BY x) AS last FROM EMPLOYEE WINDOW w AS (PARTITION BY x), win AS (w ORDER BY y)
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Expr::Identifier	2	x
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Expr::Identifier	3	x
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Ident	0	w
-c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Ident	0	win
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	Ident	2	w
 c5a5f80fff931102	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect,BigQueryDialect	structure	outside-parent	OrderByExpr	0	y
 c5b4cbb67f5d81ba	4edff8487059a4e8	MySqlDialect	edges	both	SelectItem::UnnamedExpr	0	CONVERT('abc', CHAR(60))
@@ -13947,20 +11818,12 @@
 c5b4cbb67f5d81ba	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Convert	0	CONVERT('abc', CHAR(60))
 c5b4cbb67f5d81ba	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT CONVERT('abc', CHAR(60))
 c5b4cbb67f5d81ba	4edff8487059a4e8	MySqlDialect	reparse	inexact	Select	0	SELECT CONVERT('abc', CHAR(60))
-c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1)
-c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	count(1)
-c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	count(1)
 c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT count(1) FROM t GROUP BY ()
-c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	count(1)
 c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT count(1) FROM t GROUP BY ()
 c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT count(1) FROM t GROUP BY ()
 c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Expr::Tuple	0	()
 c5c4203a66e05d4f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,SnowflakeDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	GroupByExpr::Expressions	0	GROUP BY ()
-c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1)
-c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	count(1)
-c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	count(1)
 c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT count(1) FROM t GROUP BY ()
-c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	count(1)
 c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT count(1) FROM t GROUP BY ()
 c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT count(1) FROM t GROUP BY ()
 c5c4203a66e05d4f	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Tuple	0	()
@@ -13969,25 +11832,7 @@
 c5c6e84a9ffc975d	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ColumnOption::Unique	0	UNIQUE KEY
 c5c6e84a9ffc975d	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ColumnOptionDef	0	UNIQUE KEY
 c5c6e84a9ffc975d	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	UniqueConstraint	0	UNIQUE KEY ()
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('name' : 'value', 'type' : 1)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	(1, NULL, 2 NULL ON NULL)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY(1, NULL, 2 NULL ON NULL)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArg::Unnamed	0	JSON_ARRAY(1, NULL, 2 NULL ON NULL)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArg::Unnamed	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgExpr::Expr	0	JSON_ARRAY(1, NULL, 2 NULL ON NULL)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgExpr::Expr	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	'a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL)
 c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	1, NULL, 2 NULL ON NULL
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY(1, NULL, 2 NULL ON NULL)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('name' : 'value', 'type' : 1)
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
-c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))
 c5e1f8867f34cbbf	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
 c5ef11a0f119f2ce	4edff8487059a4e8	PostgreSqlDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 5
 c5ef11a0f119f2ce	4edff8487059a4e8	PostgreSqlDialect	edges	start	OrderBy	0	ORDER BY id
@@ -14005,15 +11850,6 @@
 c665d302f802c70e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(model FACTS fact.*)
 c665d302f802c70e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM SEMANTIC_VIEW(model FACTS fact.*)
 c665d302f802c70e	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(model FACTS fact.*)
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(OFFSET => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'))
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	BEFORE(OFFSET => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'))
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	OFFSET => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	OFFSET => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	BEFORE(OFFSET => TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss'))
-c6748dbb2a48ad88	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	TO_TIMESTAMP_TZ('04/05/2013 01:02:03', 'mm/dd/yyyy hh24:mi:ss')
 c6aa7316d4d11365	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE(4)
 c6b5e3693d7ea588	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT * FROM testtable AS t TABLESAMPLE ROW (10 ROWS)
 c6b5e3693d7ea588	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	TableWithJoins	0	testtable AS t TABLESAMPLE ROW (10 ROWS)
@@ -14125,32 +11961,6 @@
 c861d4ad2c5459f3	fdaf9332c09858cf	DuckDbDialect	edges	end	MergeClause	0	WHEN MATCHED AND source.active = 1 THEN UPDATE SET *
 c86a49c8709b6336	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	TableAlias	0	AS t
 c891eff1861d6863	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	AlterTableOperation::EnableRule	0	ENABLE RULE rule_name
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	both	FunctionArguments::List	0	(bar)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	both	FunctionArguments::List	0	(baz)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	both	FunctionArguments::List	0	(foo)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	both	FunctionArguments::List	0	(qux)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	both	FunctionArguments::List	1	(bar)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	COUNT(*) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1 DAY' PRECEDING AND INTERVAL '1 DAY' FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	avg(bar) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	max(baz) OVER (ORDER BY a ROWS UNBOUNDED PRECEDING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	row_number() OVER (ORDER BY dt DESC)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	sum(bar) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND INTERVAL '1 MONTH' FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	sum(foo) OVER (PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	Function	0	sum(qux) OVER (ORDER BY a GROUPS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1 DAY' PRECEDING AND INTERVAL '1 DAY' FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	avg(bar) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	max(baz) OVER (ORDER BY a ROWS UNBOUNDED PRECEDING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	row_number() OVER (ORDER BY dt DESC)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	sum(bar) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND INTERVAL '1 MONTH' FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	sum(foo) OVER (PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	edges	end	SelectItem::UnnamedExpr	0	sum(qux) OVER (ORDER BY a GROUPS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	COUNT(*) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1 DAY' PRECEDING AND INTERVAL '1 DAY' FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	avg(bar) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	max(baz) OVER (ORDER BY a ROWS UNBOUNDED PRECEDING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	row_number() OVER (ORDER BY dt DESC)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	sum(bar) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND INTERVAL '1 MONTH' FOLLOWING)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	sum(foo) OVER (PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Function	0	sum(qux) OVER (ORDER BY a GROUPS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
 c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1 DAY'
 c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1 MONTH'
 c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' DAY
@@ -14159,52 +11969,6 @@
 c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	empty	FunctionArg::Unnamed	0	*
 c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	empty	FunctionArgumentList	0	*
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	empty	FunctionArguments::List	0	()
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	empty	FunctionArguments::List	0	(*)
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Identifier	0	a
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Identifier	0	b
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Interval	0	INTERVAL '1 DAY'
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Interval	0	INTERVAL '1 MONTH'
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Interval	0	INTERVAL '1' DAY
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Interval	1	INTERVAL '1 DAY'
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Value	0	1
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Value	1	1
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Value	2	1
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	Expr::Value	3	1
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	0	a
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	0	c
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	0	d
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	0	dt DESC
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	1	a
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	2	a
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	3	a
-c89563de1bd811c3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,SQLiteDialect,OracleDialect	structure	outside-parent	OrderByExpr	4	a
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(bar)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(baz)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(foo)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(qux)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(bar)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(*) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1 DAY' PRECEDING AND INTERVAL '1 DAY' FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	avg(bar) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	max(baz) OVER (ORDER BY a ROWS UNBOUNDED PRECEDING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	row_number() OVER (ORDER BY dt DESC)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sum(bar) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND INTERVAL '1 MONTH' FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sum(foo) OVER (PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sum(qux) OVER (ORDER BY a GROUPS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1 DAY' PRECEDING AND INTERVAL '1 DAY' FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	avg(bar) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	max(baz) OVER (ORDER BY a ROWS UNBOUNDED PRECEDING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	row_number() OVER (ORDER BY dt DESC)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sum(bar) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND INTERVAL '1 MONTH' FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sum(foo) OVER (PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sum(qux) OVER (ORDER BY a GROUPS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(*) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1 DAY' PRECEDING AND INTERVAL '1 DAY' FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	avg(bar) OVER (ORDER BY a RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	max(baz) OVER (ORDER BY a ROWS UNBOUNDED PRECEDING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	row_number() OVER (ORDER BY dt DESC)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sum(bar) OVER (ORDER BY a RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND INTERVAL '1 MONTH' FOLLOWING)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sum(foo) OVER (PARTITION BY a, b ORDER BY c, d ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sum(qux) OVER (ORDER BY a GROUPS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
 c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1 DAY'
 c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1 MONTH'
 c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' DAY
@@ -14213,26 +11977,6 @@
 c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	*
 c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgumentList	0	*
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	(*)
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	a
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	b
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Interval	0	INTERVAL '1 DAY'
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Interval	0	INTERVAL '1 MONTH'
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Interval	0	INTERVAL '1' DAY
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Interval	1	INTERVAL '1 DAY'
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	0	1
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	1	1
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	2	1
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Value	3	1
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	a
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	c
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	d
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	dt DESC
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	1	a
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	2	a
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	3	a
-c89563de1bd811c3	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	4	a
 c8b76cbc296ee4e8	4edff8487059a4e8	DatabricksDialect	edges	both	JsonPath	0	:store.basket[*]
 c8b76cbc296ee4e8	4edff8487059a4e8	DatabricksDialect	edges	both	JsonPath	0	:store.basket[*][*]
 c8b76cbc296ee4e8	4edff8487059a4e8	DatabricksDialect	edges	both	JsonPath	0	:store.basket[*][0]
@@ -14246,6 +11990,7 @@
 c8b76cbc296ee4e8	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::JsonAccess	0	raw:store.basket[0][2].b
 c8c69df08cc00154	4edff8487059a4e8	HiveDialect	edges	both	AlterTableOperation::AddPartitions	0	ADD IF NOT EXISTS PARTITION (a = 'asdf', b = 2)
 c8c69df08cc00154	4edff8487059a4e8	HiveDialect	edges	both	Partition::Partitions	0	PARTITION (a = 'asdf', b = 2)
+c8fc55b78d427688	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
 c928c7d44052c14a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 c928c7d44052c14a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 c928c7d44052c14a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
@@ -14264,8 +12009,8 @@
 c99d4244e0d6db5c	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS dim1) AS sv
 c99d4244e0d6db5c	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(model DIMENSIONS dim1) AS sv
 c9a7c0e14868f7d9	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS ANALYZE
-c9ca0069ff244595	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL NULLS FIRST
-c9ca0069ff244595	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL NULLS FIRST
+c9ca0069ff244595	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL NULLS FIRST
+c9ca0069ff244595	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL NULLS FIRST
 c9ca0069ff244595	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL NULLS FIRST
 c9ca0069ff244595	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL NULLS FIRST
 c9dbf28451aa6ed8	4edff8487059a4e8	DatabricksDialect	edges	start	SetExpr::Values	0	VALUES ("one", 1), ('two', 2)
@@ -14307,6 +12052,8 @@
 caa6bc3ea99f6ee6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL YEAR TO MONTH(0))
 caa6bc3ea99f6ee6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL YEAR TO MONTH(0))
 caaf6b9eb4964509	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY(4)
+caba2cb1c0d5e843	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::ExprWithAlias	0	n AS ''
+caba2cb1c0d5e843	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	''
 cada6f669338a51d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL '1' DAY
 cada6f669338a51d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL '1' DAY
 cada6f669338a51d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' DAY
@@ -14349,35 +12096,17 @@
 caea73e0b4fed79d	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	SetExpr::Values	0	VALUES ('John', 'john@example.com')
 caea73e0b4fed79d	4edff8487059a4e8	MsSqlDialect,GenericDialect	edges	start	Values	0	VALUES ('John', 'john@example.com')
 caea73e0b4fed79d	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Query	0	VALUES ('John', 'john@example.com')
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('2026-01-01 00:00:00')
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(INFORMATION => APPEND_ONLY)
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	CHANGES(INFORMATION => APPEND_ONLY)
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	TO_TIMESTAMP_TZ('2026-01-01 00:00:00')
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00')
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	TO_TIMESTAMP_TZ('2026-01-01 00:00:00')
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00')
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT a FROM t CHANGES(INFORMATION => APPEND_ONLY) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	t CHANGES(INFORMATION => APPEND_ONLY) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	CHANGES(INFORMATION => APPEND_ONLY)
-cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	TO_TIMESTAMP_TZ('2026-01-01 00:00:00')
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a FROM t CHANGES(INFORMATION => APPEND_ONLY) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a FROM t CHANGES(INFORMATION => APPEND_ONLY) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	t CHANGES(INFORMATION => APPEND_ONLY) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-01-01 00:00:00'))
 cb04e905b17af87f	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	Expr::Function	0	CHANGES(INFORMATION => APPEND_ONLY)
-cb1012f056c8dbb5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(FOO_IMPORT.NAME)
-cb1012f056c8dbb5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	UPPER(FOO_IMPORT.NAME)
 cb1012f056c8dbb5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (FOO_IMPORT.ID, UPPER(FOO_IMPORT.NAME))
-cb1012f056c8dbb5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	UPPER(FOO_IMPORT.NAME)
 cb1012f056c8dbb5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Nested	0	(FOO.ID = FOO_IMPORT.ID)
 cb1012f056c8dbb5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	NOT FOO_IMPORT.NAME LIKE '%.DO_NOT_INSERT'
-cb1012f056c8dbb5	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(FOO_IMPORT.NAME)
-cb1012f056c8dbb5	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	UPPER(FOO_IMPORT.NAME)
 cb1012f056c8dbb5	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUES (FOO_IMPORT.ID, UPPER(FOO_IMPORT.NAME))
-cb1012f056c8dbb5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	UPPER(FOO_IMPORT.NAME)
 cb1012f056c8dbb5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Nested	0	(FOO.ID = FOO_IMPORT.ID)
 cb1012f056c8dbb5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	NOT FOO_IMPORT.NAME LIKE '%.DO_NOT_INSERT'
 cb26fee64b328c32	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM @stage/0:18:23/23.parquet
@@ -14389,8 +12118,7 @@
 cb26fee64b328c32	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableFactor::Table	0	@stage/0:18:23/23.parquet
 cb26fee64b328c32	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableWithJoins	0	@stage/0:18:23/23.parquet
 cb2f505d34ec11f5	4edff8487059a4e8	DatabricksDialect,GenericDialect	edges	end	TableAlias	0	cte (col1, col2)
-cb3abba2c92919f1	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	empty	AlterSchemaOperation::DropReplica	0	DROP REPLICA 'us'
-cb3abba2c92919f1	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	empty	Ident	0	'us'
+cb3abba2c92919f1	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	start	AlterSchemaOperation::DropReplica	0	DROP REPLICA 'us'
 cb67abb33c4134b7	4edff8487059a4e8	GenericDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,OracleDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY 3
 cb7b6d9cd56f2384	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR TO MONTH(1)
 cb7ca2dad8a463d3	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS dim1 METRICS met1)
@@ -14400,22 +12128,6 @@
 cb7ca2dad8a463d3	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(model DIMENSIONS dim1 METRICS met1)
 cb8c84eb80060a4b	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS PARTITION
 cb8f23c2dc5837ea	4edff8487059a4e8	SnowflakeDialect	structure	empty	AlterTableOperation::Resume	0	RESUME
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(d)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(f)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(i)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(l)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	avg(d)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	avg(f)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	avg(i)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	avg(l)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	avg(d)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	avg(f)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	avg(i)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	avg(l)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	avg(d)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	avg(f)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	avg(i)
-cb944b59355b0664	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	avg(l)
 cbba740ae0c7de20	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect	edges	start	SetExpr::Select	0	FROM capitals SELECT *
 cbba740ae0c7de20	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Query	0	FROM capitals SELECT *
 cbba740ae0c7de20	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Select	0	FROM capitals SELECT *
@@ -14442,29 +12154,8 @@
 cc0395dc402429f5	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stage
 cc0395dc402429f5	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableFactor::Table	0	@stage
 cc0395dc402429f5	4edff8487059a4e8	SnowflakeDialect	structure	empty	TableWithJoins	0	@stage
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('2026-02-18 11:23:19.660000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('2026-02-18 11:38:30.211000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(INFORMATION => DEFAULT)
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	CHANGES(INFORMATION => DEFAULT)
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgumentList	0	TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000')
 cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT a FROM "PCH_ODS_FIDELIO"."SRC_VW_SYS_ACC_MASTER" CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')) END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
 cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	"PCH_ODS_FIDELIO"."SRC_VW_SYS_ACC_MASTER" CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')) END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	CHANGES(INFORMATION => DEFAULT)
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')
-cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000')
 cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a FROM "PCH_ODS_FIDELIO"."SRC_VW_SYS_ACC_MASTER" CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')) END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
 cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a FROM "PCH_ODS_FIDELIO"."SRC_VW_SYS_ACC_MASTER" CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')) END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
 cc088b76e64f4045	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Table	0	"PCH_ODS_FIDELIO"."SRC_VW_SYS_ACC_MASTER" CHANGES(INFORMATION => DEFAULT) AT(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:23:19.660000000')) END(TIMESTAMP => TO_TIMESTAMP_TZ('2026-02-18 11:38:30.211000000'))
@@ -14485,14 +12176,7 @@
 cc50f1605b870354	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Expr::Value	0	2
 cc50f1605b870354	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Ident	0	key
 cc50f1605b870354	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Ident	0	value
-cc5bbcfe535a227f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(column2)
-cc5bbcfe535a227f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	Function	0	FIRST_VALUE(column2) OVER (ORDER BY column2 NULLS LAST)
-cc5bbcfe535a227f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(column2) OVER (ORDER BY column2 NULLS LAST)
 cc5bbcfe535a227f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	OrderByExpr	0	column2 NULLS LAST
-cc5bbcfe535a227f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	column2 NULLS LAST
-cc5d95cb8635451f	6ca6960954f2fca5	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
-cc5d95cb8635451f	6ca6960954f2fca5	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
-cc5d95cb8635451f	6ca6960954f2fca5	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 cc6a502e277b504d	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Like	0	'a_c' LIKE 'a#_c' ESCAPE '#'
 cc6a502e277b504d	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT 'a_c' LIKE 'a#_c' ESCAPE '#'
 cc6a502e277b504d	4edff8487059a4e8	MySqlDialect	reparse	inexact	Select	0	SELECT 'a_c' LIKE 'a#_c' ESCAPE '#'
@@ -14550,14 +12234,9 @@
 cd3995157515dbc5	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::JsonAccess	0	a[0].foo.bar
 cd3995157515dbc5	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT a[0].foo.bar
 cd3995157515dbc5	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT a[0].foo.bar
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD INDEX idx_index (textcol(10))
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(10)
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	INDEX idx_index (textcol(10))
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	INDEX idx_index (textcol(10))
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	textcol(10)
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	textcol(10)
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	textcol(10)
-cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	textcol(10)
+cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::AddConstraint	0	ADD INDEX idx_index (textcol(10))
+cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	IndexConstraint	0	INDEX idx_index (textcol(10))
+cd59b82424c0fa0d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	TableConstraint::Index	0	INDEX idx_index (textcol(10))
 cd7e1d331d1706a6	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD KEY idx_name USING BTREE (name, age DESC)
 cd7e1d331d1706a6	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	KEY idx_name USING BTREE (name, age DESC)
 cd7e1d331d1706a6	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	KEY idx_name USING BTREE (name, age DESC)
@@ -14570,14 +12249,12 @@
 cddb0d27da2d6b07	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 cdfc7be4d2b8adb8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	AlterSchemaOperation::Rename	0	RENAME TO bar
 ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	{fn my_func(1, 2)}
-ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1, 2)
 ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	{fn my_func(1, 2)}
 ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT {fn my_func(1, 2)}
 ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	{fn my_func(1, 2)}
 ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT {fn my_func(1, 2)}
 ce2aee66c951c9ce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT {fn my_func(1, 2)}
 ce2aee66c951c9ce	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	{fn my_func(1, 2)}
-ce2aee66c951c9ce	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1, 2)
 ce2aee66c951c9ce	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	{fn my_func(1, 2)}
 ce2aee66c951c9ce	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT {fn my_func(1, 2)}
 ce2aee66c951c9ce	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	{fn my_func(1, 2)}
@@ -14609,54 +12286,26 @@
 ce78d4a2739e18b0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	SPATIAL INDEX (id)
 ce78d4a2739e18b0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::FulltextOrSpatial	0	SPATIAL INDEX (id)
 ce78d4a2739e18b0	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	AVG(class)
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(age)
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(age)
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(class)
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	('John', 30) AS c1
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	('Mike', 40) AS c2
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	AVG(class) AS c
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ExprWithAlias	0	SUM(age) AS a
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	PivotValueSource::List	0	('John', 30) AS c1, ('Mike', 40) AS c2
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	AVG(class)
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(age)
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Tuple	0	('John', 30)
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Tuple	0	('Mike', 40)
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	AVG
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	AVG
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	AVG
-ce9f7db3d1b00804	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	AVG(class)
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(age)
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(age)
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(class)
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	('John', 30) AS c1
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	('Mike', 40) AS c2
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	AVG(class) AS c
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	start	ExprWithAlias	0	SUM(age) AS a
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	edges	start	PivotValueSource::List	0	('John', 30) AS c1, ('Mike', 40) AS c2
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	AVG(class)
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(age)
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Tuple	0	('John', 30)
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Tuple	0	('Mike', 40)
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
 ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	person PIVOT(SUM(age) AS a, AVG(class) AS c FOR (name, age) IN (('John', 30) AS c1, ('Mike', 40) AS c2))
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	AVG
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	AVG
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	AVG
-ce9f7db3d1b00804	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 cea2381d227894dc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(TIMEZONE_ABBR FROM d)
 cea2381d227894dc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(TIMEZONE_ABBR FROM d)
 cea2381d227894dc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Extract	0	EXTRACT(TIMEZONE_ABBR FROM d)
@@ -14684,8 +12333,6 @@
 ceb6b72c53fe54f6	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Expr::TypedString	0	TIME '15:30:00'
 ceb6b72c53fe54f6	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Expr::TypedString	0	TIMESTAMP '2008-12-25 15:30:00 America/Los_Angeles'
 ceb6b72c53fe54f6	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Expr::Value	0	'foo'
-cebae8b2919e5c20	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-cebae8b2919e5c20	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
 cec5d80a473a994b	4edff8487059a4e8	MySqlDialect	edges	end	SelectItem::UnnamedExpr	0	'ab' MEMBER OF('[23, "abc", 17, "ab", 10]')
 cec5d80a473a994b	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT 'ab' MEMBER OF('[23, "abc", 17, "ab", 10]')
 cec5d80a473a994b	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::MemberOf	0	'ab' MEMBER OF('[23, "abc", 17, "ab", 10]')
@@ -14696,28 +12343,16 @@
 cede3094cf9db310	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::OuterJoin	0	t2.c2 (+)
 cede3094cf9db310	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE t1.c1 = t2.c2 (+)
 cede3094cf9db310	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT t1.c1, t2.c2 FROM t1, t2 WHERE t1.c1 = t2.c2 (+)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	ColumnOption::Alias	0	ALIAS toString(c)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	ColumnOption::Ephemeral	0	EPHEMERAL now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	ColumnOption::Materialized	0	MATERIALIZED now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	ColumnOptionDef	0	ALIAS toString(c)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	ColumnOptionDef	0	EPHEMERAL now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	ColumnOptionDef	0	MATERIALIZED now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	FunctionArguments::List	0	(c)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	a DATETIME MATERIALIZED now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	b DATETIME EPHEMERAL now()
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	c DATETIME EPHEMERAL
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	ColumnDef	0	d STRING ALIAS toString(c)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	0	toString(c)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	end	Function	1	now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	now()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	0	toString(c)
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	reparse	inexact	Expr::Function	1	now()
+cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ColumnOption::Alias	0	ALIAS toString(c)
+cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ColumnOption::Ephemeral	0	EPHEMERAL now()
+cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ColumnOption::Materialized	0	MATERIALIZED now()
+cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ColumnOptionDef	0	ALIAS toString(c)
+cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ColumnOptionDef	0	EPHEMERAL now()
+cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ColumnOptionDef	0	MATERIALIZED now()
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	ColumnOption::Ephemeral	0	EPHEMERAL
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	ColumnOptionDef	0	EPHEMERAL
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	CreateTableOptions::Plain	0	ENGINE = MergeTree
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	FunctionArguments::List	0	()
-cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	FunctionArguments::List	1	()
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	ENGINE
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	MergeTree
 cf326f228cf1c6f0	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	SqlOption::NamedParenthesizedList	0	ENGINE = MergeTree
@@ -14772,14 +12407,6 @@
 cfea13bedb349d05	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS proj_names
 cfea13bedb349d05	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	LATERAL FLATTEN(INPUT => emp.project_names) AS proj_names
 cfea13bedb349d05	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Function	0	LATERAL FLATTEN(INPUT => emp.project_names) AS proj_names
-cff9d83fff6952c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-cff9d83fff6952c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-cff9d83fff6952c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-cff9d83fff6952c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-cff9d83fff6952c8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-cff9d83fff6952c8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-cff9d83fff6952c8	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-cff9d83fff6952c8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 d00bf7c15493987f	4edff8487059a4e8	PostgreSqlDialect	edges	both	Array	0	ARRAY[1, 2, 3]
 d00bf7c15493987f	4edff8487059a4e8	PostgreSqlDialect	edges	both	SelectItem::UnnamedExpr	0	CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY)
 d00bf7c15493987f	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY)
@@ -14787,14 +12414,9 @@
 d00bf7c15493987f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Cast	0	CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY)
 d00bf7c15493987f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY)
 d00bf7c15493987f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT CAST(ARRAY[1, 2, 3] AS INTEGER ARRAY)
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(10)
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	INDEX idx_index (textcol(10))
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	INDEX idx_index (textcol(10))
 d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	textcol TEXT
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	Function	0	textcol(10)
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	textcol(10)
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	textcol(10)
-d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	textcol(10)
+d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	IndexConstraint	0	INDEX idx_index (textcol(10))
+d013f6a96765d15e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	TableConstraint::Index	0	INDEX idx_index (textcol(10))
 d01401284a0e449e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE INITIALLY IMMEDIATE NOT ENFORCED
 d01401284a0e449e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE INITIALLY IMMEDIATE NOT ENFORCED
 d01401284a0e449e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	UNIQUE INITIALLY IMMEDIATE NOT ENFORCED
@@ -14807,6 +12429,18 @@
 d01401284a0e449e	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () INITIALLY IMMEDIATE NOT ENFORCED
 d037f6c24731a25f	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> INTERSECT DISTINCT (SELECT * FROM admins)
 d037f6c24731a25f	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Query	0	SELECT * FROM admins
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArg::Unnamed	0	(2, 3)
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArgExpr::Expr	0	(2, 3)
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgumentList	0	1, (2, 3)
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 1
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	1	 . 1
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	1	 . 2
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	edges	start	SelectItem::UnnamedExpr	0	((1, 2), 3) . 1 . 2
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::CompoundFieldAccess	0	((1, 2), 3) . 1 . 2
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	((1, 2), 3)
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(1, 2)
+d046f30a591c259d	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(2, 3)
 d06cf0af2a3c0f64	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	bar INT INVISIBLE
 d06cf0af2a3c0f64	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	foo INT
 d06cf0af2a3c0f64	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Invisible	0	INVISIBLE
@@ -14815,28 +12449,11 @@
 d06cf0af2a3c0f64	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo INT
 d06cf0af2a3c0f64	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOption::Invisible	0	INVISIBLE
 d06cf0af2a3c0f64	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	INVISIBLE
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	1	(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	2	(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	bit_and(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	bit_or(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	bit_xor(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	bit_and(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	bit_or(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	bit_xor(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	bit_and(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	bit_or(i)
-d07c723fdadb5f4e	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	bit_xor(i)
 d0857fd949ba6ce5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 d0857fd949ba6ce5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 d0857fd949ba6ce5	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 d0857fd949ba6ce5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
 d0934b607ac27349	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON view.id = tbl_name_2.id
-d0a0358582f6dcc6	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-d0a0358582f6dcc6	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-d0a0358582f6dcc6	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-d0a0358582f6dcc6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-d0a0358582f6dcc6	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 d0c890d3a653154b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	CEIL(1.5)
 d0c890d3a653154b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT CEIL(1.5)
 d0c890d3a653154b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Ceil	0	CEIL(1.5)
@@ -14850,21 +12467,13 @@
 d0c9417707e6f699	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	TableConstraint::Unique	0	UNIQUE (x)
 d0c9417707e6f699	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	both	UniqueConstraint	0	UNIQUE (x)
 d0c9417707e6f699	4edff8487059a4e8	GenericDialect,MySqlDialect	edges	end	ColumnDef	0	x INT
-d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(+x)
-d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(+x)
-d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(+x)
 d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArg::Unnamed	0	+x
 d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgExpr::Expr	0	+x
 d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentList	0	+x
-d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(+x)
 d0d36406e05241b8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+x
-d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(+x)
-d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(+x)
-d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(+x)
 d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArg::Unnamed	0	+x
 d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgExpr::Expr	0	+x
 d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentList	0	+x
-d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(+x)
 d0d36406e05241b8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+x
 d0f585aa69d2541d	4edff8487059a4e8	ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT * FROM tbl SAMPLE 1 / 10 OFFSET 1 / 2
 d0f585aa69d2541d	4edff8487059a4e8	ClickHouseDialect	edges	end	TableWithJoins	0	tbl SAMPLE 1 / 10 OFFSET 1 / 2
@@ -14882,8 +12491,6 @@
 d183d4c3f7b094cd	4edff8487059a4e8	MySqlDialect	edges	start	SetExpr::Values	0	VALUES (), ()
 d183d4c3f7b094cd	4edff8487059a4e8	MySqlDialect	edges	start	Values	0	VALUES (), ()
 d183d4c3f7b094cd	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	VALUES (), ()
-d1b3ef32fad23dda	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Ident	0	'filename'
-d1b3ef32fad23dda	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'filename'
 d1c2f22d828e1732	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	INNER JOIN (t1 INNER JOIN t2 ON true) ON true
 d1c2f22d828e1732	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	INNER JOIN t2 ON true
 d1c2f22d828e1732	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	TableFactor::NestedJoin	0	(t1 INNER JOIN t2 ON true)
@@ -14895,12 +12502,8 @@
 d1cc034657a81028	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(on_hand.item).price
 d1cc034657a81028	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	0	(on_hand.item)
 d1cc034657a81028	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	1	(on_hand.item)
-d2260419765191eb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(column2)
-d2260419765191eb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	Function	0	FIRST_VALUE(column2) OVER (PARTITION BY column1 ORDER BY column2 NULLS LAST)
-d2260419765191eb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	FIRST_VALUE(column2) OVER (PARTITION BY column1 ORDER BY column2 NULLS LAST)
+d1f791338c26dbad	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY region
 d2260419765191eb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	OrderByExpr	0	column2 NULLS LAST
-d2260419765191eb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	Expr::Identifier	1	column1
-d2260419765191eb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	column2 NULLS LAST
 d231bc7da5d290ac	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 d231bc7da5d290ac	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 d26fed3eadc8e065	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL YEAR TO MONTH(1))
@@ -14945,16 +12548,8 @@
 d341a31d2a78c601	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED BY DEFAULT AS IDENTITY
 d341a31d2a78c601	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOptionDef	0	GENERATED BY DEFAULT AS IDENTITY
 d34f940f5024e3c4	4edff8487059a4e8	HiveDialect	edges	start	TableAlias	0	AS t
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	('{"a":1, "b":[77,88]}')
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(input => parse_json('{"a":1, "b":[77,88]}'), outer => true)
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	FLATTEN(input => parse_json('{"a":1, "b":[77,88]}'), outer => true)
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	parse_json('{"a":1, "b":[77,88]}')
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArg::Named	0	input => parse_json('{"a":1, "b":[77,88]}')
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	end	FunctionArgExpr::Expr	0	parse_json('{"a":1, "b":[77,88]}')
 d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	start	TableAlias	0	AS f
 d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	TABLE(FLATTEN(input => parse_json('{"a":1, "b":[77,88]}'), outer => true)) AS f
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	FLATTEN(input => parse_json('{"a":1, "b":[77,88]}'), outer => true)
-d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	parse_json('{"a":1, "b":[77,88]}')
 d353c5d21b457dd7	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::TableFunction	0	TABLE(FLATTEN(input => parse_json('{"a":1, "b":[77,88]}'), outer => true)) AS f
 d35b8ce0b430c2d3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE NOT DEFERRABLE INITIALLY IMMEDIATE NOT ENFORCED
 d35b8ce0b430c2d3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE NOT DEFERRABLE INITIALLY IMMEDIATE NOT ENFORCED
@@ -14966,18 +12561,6 @@
 d35b8ce0b430c2d3	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE NOT DEFERRABLE INITIALLY IMMEDIATE NOT ENFORCED
 d35b8ce0b430c2d3	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	NOT DEFERRABLE INITIALLY IMMEDIATE NOT ENFORCED
 d35b8ce0b430c2d3	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () NOT DEFERRABLE INITIALLY IMMEDIATE NOT ENFORCED
-d38ab7a0f1d5a8e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x)
-d38ab7a0f1d5a8e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.case ORDER BY T.id)
-d38ab7a0f1d5a8e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.case ORDER BY T.id)
-d38ab7a0f1d5a8e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.case ORDER BY T.id)
-d38ab7a0f1d5a8e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.case
-d38ab7a0f1d5a8e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	T.id
-d38ab7a0f1d5a8e9	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x)
-d38ab7a0f1d5a8e9	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x) OVER (PARTITION BY T.case ORDER BY T.id)
-d38ab7a0f1d5a8e9	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x) OVER (PARTITION BY T.case ORDER BY T.id)
-d38ab7a0f1d5a8e9	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x) OVER (PARTITION BY T.case ORDER BY T.id)
-d38ab7a0f1d5a8e9	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::CompoundIdentifier	0	T.case
-d38ab7a0f1d5a8e9	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	T.id
 d3959df8158de32b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE INITIALLY IMMEDIATE ENFORCED
 d3959df8158de32b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE INITIALLY IMMEDIATE ENFORCED
 d3959df8158de32b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	UNIQUE INITIALLY IMMEDIATE ENFORCED
@@ -14998,7 +12581,6 @@
 d3df2cfbe2b83d4f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Exists	0	EXISTS (SELECT 1)
 d3df2cfbe2b83d4f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT EXISTS (SELECT 1)
 d3df2cfbe2b83d4f	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXISTS (SELECT 1)
-d3e83a03bb66953a	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'sqlite_file.db'
 d452df9d08b87a4a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO SECOND(0)
 d4542e9cda7f09e3	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR TO MONTH(0)
 d45e2205375a188f	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	a!
@@ -15045,6 +12627,10 @@
 d4e3f242f15fbb7d	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ModifyColumn	0	MODIFY COLUMN description TEXT NOT NULL
 d4e3f242f15fbb7d	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 d4ef2d3092d64d46	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	AlterTableOperation::DropProjection	0	DROP PROJECTION IF EXISTS my_name
+d4f00bacb2eacc63	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	! -a + b
+d4f00bacb2eacc63	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::BinaryOp	0	-a + b
+d4f00bacb2eacc63	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	! -a + b
+d4f00bacb2eacc63	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	-a
 d4f2fe9237e6cc22	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN description desc TEXT NOT NULL
 d4f2fe9237e6cc22	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 d54f7190fa499950	4edff8487059a4e8	PostgreSqlDialect	edges	both	Array	0	ARRAY['b', 'c']
@@ -15056,34 +12642,16 @@
 d555f17f015ec1ab	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> LIMIT 10 OFFSET 5
 d555f17f015ec1ab	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Value	0	10
 d555f17f015ec1ab	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Expr::Value	0	5
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	SUM(sales)
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(sales)
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	ExprWithAlias	0	COUNT(*) AS num_transactions
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	ExprWithAlias	0	SUM(sales) AS total_sales
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	SUM(sales)
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(SUM(sales) AS total_sales, COUNT(*) AS num_transactions FOR month IN ('Jan', 'Feb', 'Mar'))
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Expr::Function	0	COUNT(*)
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Function	0	COUNT(*)
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	COUNT
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	SUM
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	COUNT
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	SUM
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	COUNT
-d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*) AS num_transactions
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	SUM(sales) AS total_sales
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	month
 d56f8ddf39df56fc	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	PivotValueSource::List	0	'Jan', 'Feb', 'Mar'
 d59fcda523696b62	4edff8487059a4e8	MsSqlDialect	edges	both	SelectItem::ExprWithAlias	0	(a * b) AS some_alias
 d59fcda523696b62	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Nested	0	(a * b)
-d5f521d4aad1329a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'password'
-d5f521d4aad1329a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'user'
-d5f521d4aad1329a	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'password'
-d5f521d4aad1329a	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'user'
 d6087dfe5653bc98	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	c INT DEFAULT (1 + 2) + 3 NOT NULL
 d6087dfe5653bc98	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Default	0	DEFAULT (1 + 2) + 3
 d6087dfe5653bc98	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	DEFAULT (1 + 2) + 3
@@ -15110,22 +12678,14 @@
 d676868c477c9c1b	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	NOT NULL
 d676868c477c9c1b	4edff8487059a4e8	SQLiteDialect	structure	empty	ColumnOptionDef	0	PRIMARY KEY
 d676868c477c9c1b	4edff8487059a4e8	SQLiteDialect	structure	empty	PrimaryKeyConstraint	0	PRIMARY KEY ()
-d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(Employee.*)
-d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	COUNT(Employee.*)
 d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArg::Unnamed	0	Employee.*
 d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgExpr::QualifiedWildcard	0	Employee.*
 d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	Employee.*
-d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(Employee.*)
 d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN Employee ON Order.employee = Employee.id
-d697b1a5e937af16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	COUNT(Employee.*)
-d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(Employee.*)
-d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	COUNT(Employee.*)
 d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	Employee.*
 d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::QualifiedWildcard	0	Employee.*
 d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	Employee.*
-d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(Employee.*)
 d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN Employee ON Order.employee = Employee.id
-d697b1a5e937af16	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	COUNT(Employee.*)
 d69cdabd796f630d	4edff8487059a4e8	SnowflakeDialect	edges	both	TableWithJoins	0	SEMANTIC_VIEW(model DIMENSIONS dim1, dim2)
 d69cdabd796f630d	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1, dim2)
 d69cdabd796f630d	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(model DIMENSIONS dim1, dim2)
@@ -15144,36 +12704,23 @@
 d707edc95b2d992d	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	reparse	inexact	Expr::JsonAccess	0	a:select
 d707edc95b2d992d	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	structure	empty	JsonPath	0	:from
 d707edc95b2d992d	4edff8487059a4e8	GenericDialect,SnowflakeDialect,DatabricksDialect	structure	empty	JsonPath	0	:select
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	ExprWithAlias	0	SUM(a.amount)
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Function	0	SUM(a.amount)
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a.amount)
 d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableAlias	0	AS p (c, d)
 d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
 d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
 d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY EMPID
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(a.amount)
 d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
 d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::Pivot	0	monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	SUM
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	SUM
-d72305da5e948bce	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	both	ExprWithAlias	0	SUM(a.amount)
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	both	Function	0	SUM(a.amount)
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a.amount)
 d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	both	TableAlias	0	AS p (c, d)
 d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
 d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
 d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY EMPID
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(a.amount)
 d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
 d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Pivot	0	monthly_sales PIVOT(SUM(a.amount) FOR a.MONTH IN ('JAN', 'FEB', 'MAR', 'APR')) AS p (c, d)
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	SUM
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	SUM
-d72305da5e948bce	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 d72eeee6e637c3ee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	LimitClause::LimitOffset	0	 OFFSET 1
 d72eeee6e637c3ee	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Offset	0	OFFSET 1
 d72eeee6e637c3ee	fdaf9332c09858cf	DuckDbDialect	edges	start	LimitClause::LimitOffset	0	 OFFSET 1
 d72eeee6e637c3ee	fdaf9332c09858cf	DuckDbDialect	edges	start	Offset	0	OFFSET 1
+d732867514142421	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY (a)
 d754415ae154c44b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1, 2, 3)
 d754415ae154c44b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (1, 2, 3)
 d754415ae154c44b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	VALUES (1, 2, 3)
@@ -15195,18 +12742,10 @@
 d7ab9ae581c243c8	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	new_users
 d7b68f66aa0ab825	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	LEFT OUTER JOIN t2 ON c1 = c2
 d7b68f66aa0ab825	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	LEFT OUTER JOIN t2 ON c1 = c2
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(val)
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	COUNT(*) FILTER (WHERE i > 0)
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	SUM(val) FILTER (WHERE val IS NOT NULL)
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	COUNT(*) FILTER (WHERE i > 0)
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(val) FILTER (WHERE val IS NOT NULL)
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	COUNT(*) FILTER (WHERE i > 0)
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	SUM(val) FILTER (WHERE val IS NOT NULL)
 d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::IsNotNull	0	val IS NOT NULL
 d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArg::Unnamed	0	*
 d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgumentList	0	*
-d7e2b67f6b8568a4	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArguments::List	0	(*)
 d7f0452425ccd225	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM JSON_TABLE('[ {"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS(a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) AS jt
 d7f0452425ccd225	4edff8487059a4e8	MySqlDialect	edges	start	TableAlias	0	AS jt
 d7f0452425ccd225	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT * FROM JSON_TABLE('[ {"a": 1, "b": [11,111]}, {"a": 2, "b": [22,222]}, {"a":3}]', '$[*]' COLUMNS(a INT PATH '$.a', NESTED PATH '$.b[*]' COLUMNS (b INT PATH '$'))) AS jt
@@ -15263,11 +12802,7 @@
 d80a9a91dc467364	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT '1 second'::INTERVAL HOUR TO SECOND(3)
 d80b8e08da01b3c2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY album_id, milliseconds
 d80b8e08da01b3c2	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY album_id, milliseconds
-d8138806a87157d9	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-d8138806a87157d9	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 d8138806a87157d9	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-d8138806a87157d9	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-d8138806a87157d9	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 d8138806a87157d9	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
 d8361a1d3bcc0f07	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	INTERVAL 1 DAY
 d8361a1d3bcc0f07	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT INTERVAL 1 DAY
@@ -15299,21 +12834,9 @@
 d8d48207e2825186	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 d8d48207e2825186	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 d8d48207e2825186	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(i)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(s)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	count(*)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	count(i)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	count(s)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	count(*)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	count(i)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	count(s)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	count(*)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	count(i)
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	count(s)
 d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArg::Unnamed	0	*
 d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgumentList	0	*
-d8e37ed5bf33ac17	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArguments::List	0	(*)
 d8effc74e9456da4	4edff8487059a4e8	BigQueryDialect	edges	both	Array	0	["gs://b/m.json"]
 d8effc74e9456da4	4edff8487059a4e8	BigQueryDialect	edges	both	CreateTableOptions::Options	0	OPTIONS(format = "ICEBERG", uris = ["gs://b/m.json"])
 d8effc74e9456da4	4edff8487059a4e8	BigQueryDialect	edges	end	SqlOption::KeyValue	0	uris = ["gs://b/m.json"]
@@ -15352,19 +12875,12 @@
 da3ac9f55df4927e	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE INITIALLY DEFERRED NOT ENFORCED
 da3ac9f55df4927e	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	INITIALLY DEFERRED NOT ENFORCED
 da3ac9f55df4927e	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () INITIALLY DEFERRED NOT ENFORCED
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	edges	both	ExprWithAlias	0	SUM(total_sales)
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	edges	both	Function	0	SUM(total_sales)
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(total_sales)
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM sales_data PIVOT(SUM(total_sales) FOR fis_quarter IN (ANY)) WHERE fis_year IN (2023)
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	sales_data PIVOT(SUM(total_sales) FOR fis_quarter IN (ANY))
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	edges	start	OrderBy	0	ORDER BY region
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	SUM(total_sales)
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::InList	0	fis_year IN (2023)
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM sales_data PIVOT(SUM(total_sales) FOR fis_quarter IN (ANY)) WHERE fis_year IN (2023)
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Pivot	0	sales_data PIVOT(SUM(total_sales) FOR fis_quarter IN (ANY))
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	SUM
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	SUM
-da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 da45217577f0bad1	4edff8487059a4e8	SnowflakeDialect	structure	empty	PivotValueSource::Any	0	ANY
 da56bc333bcd2fe4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM customers WHERE segment IN UNNEST(expr)
 da56bc333bcd2fe4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InUnnest	0	segment IN UNNEST(expr)
@@ -15376,37 +12892,16 @@
 da56bc333bcd2fe4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM customers WHERE segment IN UNNEST(expr)
 da65839d2bddb7ff	4edff8487059a4e8	RedshiftSqlDialect	edges	end	ColumnDef	0	c1 INT
 da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArgExpr::Expr	0	(SELECT @@SPID)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	both	FunctionArguments::List	0	(@id_key)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	LOWER(@id_key)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	USER_NAME()
 da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArg::ExprNamed	0	'sid' : (SELECT @@SPID)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArg::ExprNamed	0	'user_name' : USER_NAME()
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgExpr::Expr	0	USER_NAME()
 da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	FunctionArgumentList	0	'user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	LOWER(@id_key)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	USER_NAME()
 da665edab636f391	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Subquery	0	(SELECT @@SPID)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)
 da665edab636f391	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	ABSENT ON NULL
-da665edab636f391	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArguments::List	0	()
 da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArgumentClause::OrderBy	0	ORDER BY x ASC, y DESC
-da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x ASC, y DESC)
-da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x ASC, y DESC)
 da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	FunctionArgumentList	0	x ORDER BY x ASC, y DESC
-da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x ASC, y DESC)
 da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	OrderByExpr	0	x ASC
 da6d9504af7d60c8	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	OrderByExpr	0	y DESC
 da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArgumentClause::OrderBy	0	ORDER BY x ASC, y DESC
-da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x ASC, y DESC)
-da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x ASC, y DESC)
 da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	x ORDER BY x ASC, y DESC
-da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x ASC, y DESC)
 da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	x ASC
 da6d9504af7d60c8	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	y DESC
 da70de947eff2a91	4edff8487059a4e8	MySqlDialect	edges	both	ForeignKeyConstraint	0	CONSTRAINT fk_customer FOREIGN KEY idx_customer (customer_id) REFERENCES customers(id)
@@ -15414,11 +12909,6 @@
 da70de947eff2a91	4edff8487059a4e8	MySqlDialect	edges	both	TableConstraint::ForeignKey	0	CONSTRAINT fk_customer FOREIGN KEY idx_customer (customer_id) REFERENCES customers(id)
 da70de947eff2a91	4edff8487059a4e8	MySqlDialect	edges	both	TableConstraint::Index	0	INDEX idx_customer (customer_id)
 da70de947eff2a91	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	customer_id INT
-da71fdb0cd7ff668	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'CATALOG'
-da71fdb0cd7ff668	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'my_schema'
-da71fdb0cd7ff668	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'CATALOG'.'my_schema'
-da71fdb0cd7ff668	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'CATALOG'
-da71fdb0cd7ff668	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'my_schema'
 da833695bdf7f124	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	!
 da833695bdf7f124	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	!
 da833695bdf7f124	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	!
@@ -15453,31 +12943,21 @@
 dabfd6def7ac311b	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	start	Join	0	RIGHT JOIN orders ON users.id = orders.user_id
 dabfd6def7ac311b	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> RIGHT JOIN orders ON users.id = orders.user_id
 dabfd6def7ac311b	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Join	0	RIGHT JOIN orders ON users.id = orders.user_id
+dac18669acb07ef3	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::ExprWithAlias	0	n AS ''
+dac18669acb07ef3	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	''
 dac66fde59c7867f	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::DropColumn	0	DROP COLUMN password_digest
 dac66fde59c7867f	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::RenameColumn	0	RENAME COLUMN name TO username
 dac66fde59c7867f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Algorithm	0	ALGORITHM = COPY
 dad6be44df8da76f	4edff8487059a4e8	SnowflakeDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT $$$$
-dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a)
-dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	1	(a)
-dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	f(a)
-dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	1	f(a)
 dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL
 dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.b
 dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	1	.b
-dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	f(a)
-dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	1	f(a)
 dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::IsNotNull	0	f(a).b IS NOT NULL
 dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL
 dae9993d1c142f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL
-dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a)
-dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(a)
-dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	f(a)
-dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	1	f(a)
 dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL
 dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.b
 dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	1	.b
-dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	f(a)
-dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	1	f(a)
 dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::IsNotNull	0	f(a).b IS NOT NULL
 dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL
 dae9993d1c142f7c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL
@@ -15496,14 +12976,6 @@
 daf392ba240c5cd4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Cast	0	123::USMALLINT
 daf392ba240c5cd4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT 123::USMALLINT
 daf392ba240c5cd4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT 123::USMALLINT
-db176441f00d79c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-db176441f00d79c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-db176441f00d79c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-db176441f00d79c7	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-db176441f00d79c7	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-db176441f00d79c7	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-db176441f00d79c7	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-db176441f00d79c7	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 db1f84ca67d5be09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 db1f84ca67d5be09	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 db1f84ca67d5be09	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
@@ -15518,38 +12990,23 @@
 db22778a33043030	fdaf9332c09858cf	DuckDbDialect	edges	start	FromTable::WithFromKeyword	0	FROM schema1.table1, schema2.table2
 db22778a33043030	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN schema2.table2 ON schema2.table2.pk = schema1.table1.col1
 db236401b9d21e18	4edff8487059a4e8	RedshiftSqlDialect	edges	start	TableAlias	0	AS 🚀
-db269e10004ac266	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	('1')
-db269e10004ac266	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	FUN('1')
 db269e10004ac266	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableAlias	0	AS a
 db269e10004ac266	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	TableWithJoins	0	TABLE(FUN('1')) AS a
-db269e10004ac266	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	FUN('1')
 db269e10004ac266	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	TableFactor::TableFunction	0	TABLE(FUN('1')) AS a
-db269e10004ac266	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('1')
-db269e10004ac266	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	FUN('1')
 db269e10004ac266	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS a
 db269e10004ac266	fdaf9332c09858cf	DuckDbDialect	edges	start	TableWithJoins	0	TABLE(FUN('1')) AS a
-db269e10004ac266	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	FUN('1')
 db269e10004ac266	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::TableFunction	0	TABLE(FUN('1')) AS a
+db3829667be0a044	4edff8487059a4e8	HiveDialect,DatabricksDialect	edges	start	SelectItem::UnnamedExpr	0	!NOT a
+db3829667be0a044	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	!NOT a
+db3829667be0a044	4edff8487059a4e8	HiveDialect,DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	NOT a
 db49bba371df00df	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	both	AlterTableOperation::AddProjection	0	ADD PROJECTION my_name (SELECT a, b GROUP BY a ORDER BY b)
 db49bba371df00df	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY a
 db49bba371df00df	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	OrderBy	0	ORDER BY b
 db49bba371df00df	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	ProjectionSelect	0	SELECT a, b GROUP BY a ORDER BY b
-db651672dd3529f6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(a WHERE b > 0 AND c < 10)
-db651672dd3529f6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ARRAY_AGG(a WHERE b > 0 AND c < 10)
-db651672dd3529f6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(a WHERE b > 0 AND c < 10)
 db651672dd3529f6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentClause::Where	0	WHERE b > 0 AND c < 10
-db651672dd3529f6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(a WHERE b > 0 AND c < 10)
-db651672dd3529f6	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(a WHERE b > 0 AND c < 10)
-db651672dd3529f6	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(a WHERE b > 0 AND c < 10)
-db651672dd3529f6	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY_AGG(a WHERE b > 0 AND c < 10)
 db651672dd3529f6	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Where	0	WHERE b > 0 AND c < 10
-db651672dd3529f6	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(a WHERE b > 0 AND c < 10)
-db6641e3d892e86d	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(i)
-db6641e3d892e86d	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	SUM(i) FILTER (WHERE flag = true)
-db6641e3d892e86d	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(i) FILTER (WHERE flag = true)
 db6641e3d892e86d	4edff8487059a4e8	SparkSqlDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY grp
 db6641e3d892e86d	4edff8487059a4e8	SparkSqlDialect	edges	start	OrderBy	0	ORDER BY grp
-db6641e3d892e86d	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	SUM(i) FILTER (WHERE flag = true)
 db69970c2135f3ac	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AlterColumnOperation::SetDefault	0	SET DEFAULT 0
 db69970c2135f3ac	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AlterTableOperation::AlterColumn	0	ALTER COLUMN is_active SET DEFAULT 0
 db69970c2135f3ac	fdaf9332c09858cf	DuckDbDialect	edges	start	AlterColumnOperation::SetDefault	0	SET DEFAULT 0
@@ -15581,29 +13038,19 @@
 dbdca04f580c7175	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Table	0	mytable TABLESAMPLE (10) SEED (1)
 dbdca04f580c7175	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	Expr::Value	0	10
 dbdca04f580c7175	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ValueWithSpan	0	1
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	edges	both	ExprWithAlias	0	SUM(amount)
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	edges	both	Function	0	SUM(amount)
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::List	0	(amount)
 dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT * FROM quarterly_sales PIVOT(SUM(amount) FOR quarter IN ('2023_Q1', '2023_Q2', '2023_Q3', '2023_Q4', '2024_Q1') DEFAULT ON NULL (0))
 dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	edges	end	TableWithJoins	0	quarterly_sales PIVOT(SUM(amount) FOR quarter IN ('2023_Q1', '2023_Q2', '2023_Q3', '2023_Q4', '2024_Q1') DEFAULT ON NULL (0))
 dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	edges	start	OrderBy	0	ORDER BY empid
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	SUM(amount)
 dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM quarterly_sales PIVOT(SUM(amount) FOR quarter IN ('2023_Q1', '2023_Q2', '2023_Q3', '2023_Q4', '2024_Q1') DEFAULT ON NULL (0))
 dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::Pivot	0	quarterly_sales PIVOT(SUM(amount) FOR quarter IN ('2023_Q1', '2023_Q2', '2023_Q3', '2023_Q4', '2024_Q1') DEFAULT ON NULL (0))
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	SUM
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	SUM
-dbdf6e2c7ff3c8f2	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	SUM
 dbf296d232711638	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	=
 dbf296d232711638	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	=
 dbf296d232711638	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	=
 dbf9e833d8951b22	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (source_table.id, source_table.description)
 dbf9e833d8951b22	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUES (source_table.id, source_table.description)
 dc036e138a92cea0	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Algorithm	0	ALGORITHM = DEFAULT
-dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(2, 'a', 'b', 'c', 'd')
-dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	end	Function	0	stack(2, 'a', 'b', 'c', 'd')
 dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	end	SelectItem::ExprWithAliases	0	stack(2, 'a', 'b', 'c', 'd') AS (col1, col2)
 dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	edges	end	SetExpr::Select	0	SELECT stack(2, 'a', 'b', 'c', 'd') AS (col1, col2)
-dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	stack(2, 'a', 'b', 'c', 'd')
 dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT stack(2, 'a', 'b', 'c', 'd') AS (col1, col2)
 dc0bebcf5fdfd93e	4edff8487059a4e8	GenericDialect,DatabricksDialect	reparse	inexact	Select	0	SELECT stack(2, 'a', 'b', 'c', 'd') AS (col1, col2)
 dc1e634ea6715216	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SelectItem::Wildcard	0	* ILIKE '%id%'
@@ -15613,35 +13060,19 @@
 dc395a1af2c14436	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT * FROM SEMANTIC_VIEW(model METRICS orders.col, orders.col2)
 dc395a1af2c14436	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT * FROM SEMANTIC_VIEW(model METRICS orders.col, orders.col2)
 dc395a1af2c14436	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	TableFactor::SemanticView	0	SEMANTIC_VIEW(model METRICS orders.col, orders.col2)
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c12)
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	1	(c12)
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	MAX(c12) OVER window2
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	MIN(c12) OVER window1
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	window1 AS (ORDER BY C12)
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	window2 AS (PARTITION BY C11)
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT MIN(c12) OVER window1 AS min1, MAX(c12) OVER window2 AS max1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY C3
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	MAX(c12) OVER window2
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	MIN(c12) OVER window1
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT MIN(c12) OVER window1 AS min1, MAX(c12) OVER window2 AS max1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	0	C11
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	window1
-dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	window2
 dc526f1a36303897	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	C12
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c12)
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	1	(c12)
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	MAX(c12) OVER window2
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	MIN(c12) OVER window1
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	window1 AS (ORDER BY C12)
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	window2 AS (PARTITION BY C11)
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT MIN(c12) OVER window1 AS min1, MAX(c12) OVER window2 AS max1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY C3
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	MAX(c12) OVER window2
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	MIN(c12) OVER window1
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT MIN(c12) OVER window1 AS min1, MAX(c12) OVER window2 AS max1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11)
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	C11
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	window1
-dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	window2
 dc526f1a36303897	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	C12
 dc59f04c2f5f0d75	4edff8487059a4e8	ClickHouseDialect	edges	both	OrderBy	0	ORDER BY fname WITH FILL INTERPOLATE (col1 AS col1 + 1, col2 AS col3, col4 AS col4 + 4)
 dc59f04c2f5f0d75	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	OrderByExpr	0	fname WITH FILL
@@ -15738,11 +13169,7 @@
 ddf74e4f051d6038	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::QualifiedWildcard	0	f.* EXCLUDE (account_canonical_id)
 ddf74e4f051d6038	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	f.*
 ddf74e4f051d6038	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS f
-de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(arr, (x, i) -> i > 0)
-de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	filter(arr, (x, i) -> i > 0)
 de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	edges	end	FunctionArgumentList	0	arr, (x, i) -> i > 0
-de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	filter(arr, (x, i) -> i > 0)
-de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	filter(arr, (x, i) -> i > 0)
 de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	structure	empty	Expr::Lambda	0	(x, i) -> i > 0
 de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArg::Unnamed	0	(x, i) -> i > 0
 de0c14a766ba1e73	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgExpr::Expr	0	(x, i) -> i > 0
@@ -15788,35 +13215,27 @@
 df700579027756ab	fdaf9332c09858cf	DuckDbDialect	edges	start	SetExpr::Values	0	VALUE (1, 2, 3)
 df700579027756ab	fdaf9332c09858cf	DuckDbDialect	edges	start	Values	0	VALUE (1, 2, 3)
 df700579027756ab	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	VALUE (1, 2, 3)
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOption::Default	0	DEFAULT nextval(public.customer_customer_id_seq)
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOption::Default	0	DEFAULT now()
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOption::Default	0	DEFAULT now()::TEXT
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOptionDef	0	DEFAULT nextval(public.customer_customer_id_seq)
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOptionDef	0	DEFAULT now()
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	ColumnOptionDef	0	DEFAULT now()::TEXT
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	CreateTableOptions::With	0	WITH (fillfactor = 20, user_catalog_table = true, autovacuum_vacuum_threshold = 100)
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(public.customer_customer_id_seq)
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	active INT NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	activebool BOOLEAN DEFAULT true NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	address_id SMALLINT NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	create_date DATE DEFAULT now()::TEXT NOT NULL
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	customer_id INTEGER DEFAULT nextval(public.customer_customer_id_seq)
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	email CHARACTER VARYING(50)
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	first_name CHARACTER VARYING(45) NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	last_name CHARACTER VARYING(45) COLLATE "es_ES" NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	last_update TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	store_id SMALLINT NOT NULL
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	nextval(public.customer_customer_id_seq)
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	now()
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	1	now()
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOption::Collation	0	COLLATE "es_ES"
+dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOption::Default	0	DEFAULT nextval(public.customer_customer_id_seq)
+dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOption::Default	0	DEFAULT now()
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOption::Default	0	DEFAULT true
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOptionDef	0	COLLATE "es_ES"
+dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOptionDef	0	DEFAULT nextval(public.customer_customer_id_seq)
+dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOptionDef	0	DEFAULT now()
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	ColumnOptionDef	0	DEFAULT true
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	now()::TEXT
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	nextval(public.customer_customer_id_seq)
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	now()
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	1	now()
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOption::NotNull	1	NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOption::NotNull	2	NOT NULL
@@ -15833,8 +13252,6 @@
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOptionDef	5	NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOptionDef	6	NOT NULL
 dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ColumnOptionDef	7	NOT NULL
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	FunctionArguments::List	0	()
-dfa0dc6f6934e240	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	FunctionArguments::List	1	()
 dfb40c008404045a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT segm FROM bar)
 dfb40c008404045a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT segm FROM bar2)
 dfb40c008404045a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::SetOperation	0	(SELECT segm FROM bar) UNION (SELECT segm FROM bar2)
@@ -15861,8 +13278,22 @@
 dff7df19b85e2726	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 dff7df19b85e2726	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 dff7df19b85e2726	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	ColumnDef	0	address OBJECT(city VARCHAR NOT NULL)
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	ColumnDef	0	city VARCHAR NOT NULL
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	ColumnDef	0	zip NUMBER
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	payload::OBJECT(address OBJECT(city VARCHAR NOT NULL), zip NUMBER)
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Expr::Cast	0	payload::OBJECT(address OBJECT(city VARCHAR NOT NULL), zip NUMBER)
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	empty	ColumnOptionDef	0	NOT NULL
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ColumnDef	0	address OBJECT(city VARCHAR NOT NULL)
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ColumnDef	0	city VARCHAR NOT NULL
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ColumnDef	0	zip NUMBER
+e00fa24778ded057	4edff8487059a4e8	SnowflakeDialect,GenericDialect	structure	outside-parent	ObjectName	0	NUMBER
 e018534b869928b3	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a number
 e018534b869928b3	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	number
+e022ce3c80d77c52	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	payload::MAP(VARCHAR, NUMBER NOT NULL)
+e022ce3c80d77c52	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Cast	0	payload::MAP(VARCHAR, NUMBER NOT NULL)
+e022ce3c80d77c52	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	NUMBER
 e02346215371b999	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
 e02346215371b999	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 e02346215371b999	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	+0 AS col_alias
@@ -16055,6 +13486,7 @@
 e23a1cd18e0ee804	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar INT
 e23a1cd18e0ee804	4edff8487059a4e8	MySqlDialect	structure	empty	CreateTableOptions::Plain	0	COMMENT 'baz'
 e23a1cd18e0ee804	4edff8487059a4e8	MySqlDialect	structure	empty	SqlOption::Comment	0	COMMENT 'baz'
+e23c2e34a56a31ca	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	AlterTableOperation::ModifyOrderBy	0	MODIFY ORDER BY ()
 e24c94fe89d846d1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	a INT UNIQUE DEFERRABLE INITIALLY IMMEDIATE ENFORCED
 e24c94fe89d846d1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOption::Unique	0	UNIQUE DEFERRABLE INITIALLY IMMEDIATE ENFORCED
 e24c94fe89d846d1	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ColumnOptionDef	0	UNIQUE DEFERRABLE INITIALLY IMMEDIATE ENFORCED
@@ -16069,33 +13501,14 @@
 e25e5e5ac51d5e8b	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	finish_flag
 e25e5e5ac51d5e8b	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	score
 e25e5e5ac51d5e8b	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	survive_flag
-e27860c08f6d5974	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(0)
-e27860c08f6d5974	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H')
-e27860c08f6d5974	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	DATE_FORMAT(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H')
-e27860c08f6d5974	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	FROM_UNIXTIME(0)
-e27860c08f6d5974	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	DATE_FORMAT(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H')
-e27860c08f6d5974	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	FROM_UNIXTIME(0)
 e27860c08f6d5974	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	edges	end	SelectItem::ExprWithAlias	0	DATE_FORMAT(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H') AS "hour"
 e27860c08f6d5974	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"hour"
-e27860c08f6d5974	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(0)
-e27860c08f6d5974	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H')
-e27860c08f6d5974	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	DATE_FORMAT(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H')
-e27860c08f6d5974	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	FROM_UNIXTIME(0)
-e27860c08f6d5974	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	DATE_FORMAT(FROM_UNIXTIME(0) AT TIME ZONE 'UTC-06:00', '%Y-%m-%dT%H')
-e27860c08f6d5974	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	FROM_UNIXTIME(0)
 e29cbce88b3da080	4edff8487059a4e8	BigQueryDialect	edges	both	SelectItem::QualifiedWildcard	0	STRUCT<STRING>((SELECT foo FROM T WHERE true)).*
 e29cbce88b3da080	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Subquery	0	(SELECT foo FROM T WHERE true)
 e29cbce88b3da080	4edff8487059a4e8	BigQueryDialect	structure	empty	Expr::Struct	0	STRUCT<STRING>((SELECT foo FROM T WHERE true))
 e29cbce88b3da080	4edff8487059a4e8	BigQueryDialect	structure	empty	SelectItemQualifiedWildcardKind::Expr	0	STRUCT<STRING>((SELECT foo FROM T WHERE true)).*
 e29cbce88b3da080	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Expr::Subquery	0	(SELECT foo FROM T WHERE true)
-e2a069df579ca170	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	my_procedure()
-e2a069df579ca170	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-e2a069df579ca170	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	my_procedure()
-e2a069df579ca170	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
-e2e0a8e08b1faabd	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	('ERR: %s', 'Bad')
-e2e0a8e08b1faabd	4edff8487059a4e8	BigQueryDialect	edges	both	RaiseStatementValue::UsingMessage	0	USING MESSAGE = FORMAT('ERR: %s', 'Bad')
-e2e0a8e08b1faabd	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	FORMAT('ERR: %s', 'Bad')
-e2e0a8e08b1faabd	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	FORMAT('ERR: %s', 'Bad')
+e2e0a8e08b1faabd	4edff8487059a4e8	BigQueryDialect	edges	start	RaiseStatementValue::UsingMessage	0	USING MESSAGE = FORMAT('ERR: %s', 'Bad')
 e2e4232da709b6e8	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	TableAlias	0	AS e
 e34569ae96a1939c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY TO SECOND(5))
 e34569ae96a1939c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY TO SECOND(5))
@@ -16120,18 +13533,6 @@
 e357f77418185022	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Tuple	0	(1, 2)
 e357f77418185022	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT (1, 2), (1), ('foo', 3, baz)
 e357f77418185022	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT (1, 2), (1), ('foo', 3, baz)
-e35da71c383aec2f	4edff8487059a4e8	MsSqlDialect	structure	empty	Ident	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectName	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectNamePart::Identifier	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectName	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	'DEFAULT'
-e35da71c383aec2f	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'DEFAULT'
-e35da71c383aec2f	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'DEFAULT'
-e35da71c383aec2f	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'DEFAULT'
-e35da71c383aec2f	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'DEFAULT'
 e39dd4bddcdbfffe	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	edges	both	TableWithJoins	0	(SELECT 1 FROM tbl2)
 e39dd4bddcdbfffe	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	edges	end	SetExpr::Select	0	SELECT 22 FROM tbl1, (SELECT 1 FROM tbl2)
 e39dd4bddcdbfffe	4edff8487059a4e8	GenericDialect,SnowflakeDialect,BigQueryDialect	reparse	inexact	Expr::Subquery	0	(SELECT 22 FROM tbl1, (SELECT 1 FROM tbl2))
@@ -16149,14 +13550,6 @@
 e3a8b848ab9ed0eb	fdaf9332c09858cf	DuckDbDialect	structure	empty	ColumnOptionDef	0	UNIQUE INITIALLY DEFERRED ENFORCED
 e3a8b848ab9ed0eb	fdaf9332c09858cf	DuckDbDialect	structure	empty	ConstraintCharacteristics	0	INITIALLY DEFERRED ENFORCED
 e3a8b848ab9ed0eb	fdaf9332c09858cf	DuckDbDialect	structure	empty	UniqueConstraint	0	UNIQUE () INITIALLY DEFERRED ENFORCED
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	bar(a AS x)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	foo(bar(a AS x) AS y)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	foo(bar(a AS x) AS y)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT foo(bar(a AS x) AS y)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	bar(a AS x)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo(bar(a AS x) AS y)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT foo(bar(a AS x) AS y)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT foo(bar(a AS x) AS y)
 e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	a AS x
 e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	bar(a AS x) AS y
 e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArg::Unnamed	0	a AS x
@@ -16165,18 +13558,9 @@
 e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	bar(a AS x) AS y
 e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	a AS x
 e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgumentList	0	bar(a AS x) AS y
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(a AS x)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArguments::List	0	(bar(a AS x) AS y)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Function	0	bar(a AS x)
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Expr::Identifier	0	a
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	x
-e3c730f3413323aa	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	outside-parent	Ident	0	y
-e3ca823949994ef3	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(sections_tbl.*)
-e3ca823949994ef3	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	ARRAY_AGG(sections_tbl.*)
 e3ca823949994ef3	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArg::Unnamed	0	sections_tbl.*
 e3ca823949994ef3	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgExpr::QualifiedWildcard	0	sections_tbl.*
 e3ca823949994ef3	4edff8487059a4e8	PostgreSqlDialect	edges	end	FunctionArgumentList	0	sections_tbl.*
-e3ca823949994ef3	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(sections_tbl.*)
 e3d38c8227a869b3	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 e3d38c8227a869b3	4edff8487059a4e8	SnowflakeDialect,GenericDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
 e3d38c8227a869b3	fdaf9332c09858cf	DuckDbDialect	edges	start	Join	0	JOIN tbl2 ON tbl1.id = tbl2.entity_id
@@ -16187,35 +13571,9 @@
 e3e70e69e5e5be6e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	Select	0	SELECT * FROM (a alias1 NATURAL JOIN b c)
 e3e70e69e5e5be6e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::NestedJoin	0	(a alias1 NATURAL JOIN b c)
 e3e70e69e5e5be6e	4edff8487059a4e8	SnowflakeDialect,GenericDialect	reparse	inexact	TableFactor::Table	0	b c
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(make_array(1, 2, 3))
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	make_array(1, 2, 3)
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArg::Unnamed	0	make_array(1, 2, 3)
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgExpr::Expr	0	make_array(1, 2, 3)
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	make_array(1, 2, 3)
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	make_array(1, 2, 3)
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	make_array(1, 2, 3)
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	make_array(1, 2, 3)
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	make_array(1, 2, 3)
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT UNNEST(make_array(1, 2, 3))
-e3f44c29bccb0960	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT UNNEST(make_array(1, 2, 3))
-e40837a587d40550	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	both	OrderBy	0	ORDER BY ALL ASC NULLS FIRST
-e40837a587d40550	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	ALL ASC NULLS FIRST
-e40837a587d40550	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT id, ALL FROM customer ORDER BY ALL ASC NULLS FIRST
+e40837a587d40550	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	both	OrderBy	0	ORDER BY ALL ASC NULLS FIRST
+e40837a587d40550	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	OrderByExpr	0	ALL ASC NULLS FIRST
+e40837a587d40550	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT id, ALL FROM customer ORDER BY ALL ASC NULLS FIRST
 e409e91136489896	4edff8487059a4e8	GenericDialect,MySqlDialect,SQLiteDialect,ClickHouseDialect	edges	start	LimitClause::OffsetCommaLimit	0	 LIMIT 2, 1
 e41cae93b9ad7f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1, 2, 3)
 e41cae93b9ad7f7c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (1, 2, 3)
@@ -16257,18 +13615,6 @@
 e47f506708b20779	4edff8487059a4e8	BigQueryDialect	reparse	inexact	ObjectName	0	baz-qux
 e47f506708b20779	4edff8487059a4e8	BigQueryDialect	reparse	inexact	ObjectName	0	foo-bar
 e496259d11a1cc60	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL DAY TO SECOND(2)
-e497bc7d366243e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SqlOption::KeyValue	0	'K2' = 0.88
-e497bc7d366243e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'K1'
-e497bc7d366243e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'K2'
-e497bc7d366243e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-e497bc7d366243e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-e497bc7d366243e9	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-e497bc7d366243e9	fdaf9332c09858cf	DuckDbDialect	edges	start	SqlOption::KeyValue	0	'K2' = 0.88
-e497bc7d366243e9	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'K1'
-e497bc7d366243e9	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'K2'
-e497bc7d366243e9	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-e497bc7d366243e9	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-e497bc7d366243e9	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
 e4ad323223561e87	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	x TSQUERY
 e4c88e6713beea94	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	NATURAL JOIN (((SELECT 1)))
 e4c88e6713beea94	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	((SELECT 1))
@@ -16291,14 +13637,11 @@
 e4c88e6713beea94	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t NATURAL JOIN (((SELECT 1)))
 e4c88e6713beea94	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Derived	0	(((SELECT 1)))
 e4cde49ce396a9b9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL YEAR TO MONTH(6)
-e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	both	FunctionArguments::List	0	('AAA', 'BBB')
-e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	Function	0	array('AAA', 'BBB')
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	SetExpr::Select	0	SELECT index, val FROM (SELECT array('AAA', 'BBB') AS val) AS b, b.val AS val AT index
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	TableWithJoins	0	b.val AS val AT index
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	start	TableAlias	0	AS b
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	start	TableAlias	0	AS val AT index
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	start	TableWithJoins	0	(SELECT array('AAA', 'BBB') AS val) AS b
-e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Expr::Function	0	array('AAA', 'BBB')
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Query	0	SELECT index, val FROM (SELECT array('AAA', 'BBB') AS val) AS b, b.val AS val AT index
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Select	0	SELECT index, val FROM (SELECT array('AAA', 'BBB') AS val) AS b, b.val AS val AT index
 e4d6822bf0dfbe40	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	TableFactor::Derived	0	(SELECT array('AAA', 'BBB') AS val) AS b
@@ -16307,26 +13650,15 @@
 e4f8c2fefc2227e7	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	AlterTableOperation::AddColumn	0	ADD c INT AFTER b
 e4f8c2fefc2227e7	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	c INT
 e4f8c2fefc2227e7	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	outside-parent	Ident	0	b
-e4fbd22cc6b3729d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(x WHERE y > 0)
-e4fbd22cc6b3729d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	SUM(x WHERE y > 0)
-e4fbd22cc6b3729d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x WHERE y > 0)
 e4fbd22cc6b3729d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FunctionArgumentClause::Where	0	WHERE y > 0
-e4fbd22cc6b3729d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	SUM(x WHERE y > 0)
-e4fbd22cc6b3729d	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x WHERE y > 0)
-e4fbd22cc6b3729d	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	SUM(x WHERE y > 0)
-e4fbd22cc6b3729d	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	SUM(x WHERE y > 0)
 e4fbd22cc6b3729d	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::Where	0	WHERE y > 0
-e4fbd22cc6b3729d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	SUM(x WHERE y > 0)
 e533ef24221f7c4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 e533ef24221f7c4e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	+0
 e533ef24221f7c4e	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	+0
 e533ef24221f7c4e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+0
 e54e563b05f1353d	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	NOT salary = ''
 e54e563b05f1353d	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	NOT salary = ''
-e5af643191b12147	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'server_type'
-e5af643191b12147	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'server_version'
 e5bf7e113fb5db36	4edff8487059a4e8	HiveDialect	edges	both	AlterTableOperation::RenamePartitions	0	PARTITION (a = 2) RENAME TO PARTITION (a = 1)
-e5bf7e113fb5db36	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	's3://...'
 e5d4f2d38a8e4723	4edff8487059a4e8	DatabricksDialect	edges	start	SetExpr::Values	0	VALUES ("one", 1), ('two', 2)
 e5d4f2d38a8e4723	4edff8487059a4e8	DatabricksDialect	edges	start	Values	0	VALUES ("one", 1), ('two', 2)
 e5d4f2d38a8e4723	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM (VALUES ("one", 1), ('two', 2))
@@ -16358,17 +13690,10 @@
 e64dc1d852db8117	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Trim	0	TRIM(item_price_id, '"', "a")
 e65f92369716834b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::OwnerTo	0	OWNER TO postgres
 e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	edges	start	SelectItem::QualifiedWildcard	0	't'.*
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT 't'.*, t.'x' FROM 't'
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT 't'.*, t.'x' FROM 't'
 e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	't'
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	1	't'
 e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	ObjectName	0	't'
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	ObjectName	1	't'
 e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	ObjectNamePart::Identifier	0	't'
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	ObjectNamePart::Identifier	1	't'
 e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	SelectItemQualifiedWildcardKind::ObjectName	0	't'.*
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	TableFactor::Table	0	't'
-e6681ad21a008c2b	4edff8487059a4e8	SQLiteDialect	structure	empty	TableWithJoins	0	't'
 e677e2980cfcf4ed	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	FullTextOrSpatialConstraint	0	SPATIAL potato (id)
 e677e2980cfcf4ed	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::FulltextOrSpatial	0	SPATIAL potato (id)
 e677e2980cfcf4ed	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
@@ -16380,13 +13705,6 @@
 e6851f0d1287326e	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	Expr::Value	0	0.1
 e68bc9e23fbdb723	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	bar SET('a', 'b')
 e68bc9e23fbdb723	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	baz ENUM('a', 'b')
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::Subquery	0	(SELECT 1 UNION SELECT 2)
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	ARRAY(SELECT 1 UNION SELECT 2)
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	ARRAY(SELECT 1 UNION SELECT 2)
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT ARRAY(SELECT 1 UNION SELECT 2)
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	ARRAY(SELECT 1 UNION SELECT 2)
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT ARRAY(SELECT 1 UNION SELECT 2)
-e68f28ff06a99471	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT ARRAY(SELECT 1 UNION SELECT 2)
 e6ab5b5e56b64052	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	FromTable::WithFromKeyword	0	FROM foo
 e6ab5b5e56b64052	fdaf9332c09858cf	DuckDbDialect	edges	start	FromTable::WithFromKeyword	0	FROM foo
 e6adbedb0d7085e2	4edff8487059a4e8	DatabricksDialect	edges	start	SetExpr::Values	0	VALUES ("one", 1), ('two', 2)
@@ -16399,28 +13717,10 @@
 e6cd0f6906b6aab6	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	||
 e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
 e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	CheckConstraint	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(REF_CODE)
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(ltrim(REF_CODE))
 e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	TableConstraint::Check	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	rtrim(ltrim(REF_CODE))
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArg::Unnamed	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgExpr::Expr	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	rtrim(ltrim(REF_CODE))
 e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
 e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	both	CheckConstraint	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(REF_CODE)
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(ltrim(REF_CODE))
 e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::Check	0	CONSTRAINT ck CHECK (rtrim(ltrim(REF_CODE)) <> '')
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	rtrim(ltrim(REF_CODE))
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ltrim(REF_CODE)
-e6d261ada50bcbf6	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	rtrim(ltrim(REF_CODE))
 e6f31bbb3965ba00	28e8091b31745699	MsSqlDialect	edges	both	AlterTableOperation::AddColumn	0	ADD col INT
 e6f31bbb3965ba00	28e8091b31745699	MsSqlDialect	edges	end	ColumnDef	0	col INT
 e6f3a171dcef80aa	4edff8487059a4e8	BigQueryDialect,GenericDialect	edges	both	AlterSchemaOperation::SetOptionsParens	0	SET OPTIONS (location = 'us')
@@ -16435,25 +13735,14 @@
 e6fe3bf491cc42d8	4edff8487059a4e8	PostgreSqlDialect	structure	empty	Ident	0	=
 e6fe3bf491cc42d8	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectName	0	=
 e6fe3bf491cc42d8	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ObjectNamePart::Identifier	0	=
-e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(arg1)
-e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(arg2, arg3)
-e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	tvf1(arg1)
-e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	tvf2(arg2, arg3)
 e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL tvf1(arg1) |> CALL tvf2(arg2, arg3)
 e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	tvf1(arg1)
 e7182c81d26d96f4	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	tvf2(arg2, arg3)
-e742e6f9f584425b	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-e742e6f9f584425b	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 e742e6f9f584425b	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-e742e6f9f584425b	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-e742e6f9f584425b	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 e742e6f9f584425b	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
 e75d7af5620d6da3	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON view.id = tbl_name_2.id
 e75d7af5620d6da3	4edff8487059a4e8	PostgreSqlDialect	edges	start	TableAlias	0	AS view
-e76d5994f158333f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	FunctionArguments::List	0	(a)
 e76d5994f158333f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	a INT
-e76d5994f158333f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	Function	0	RANGE(a)
-e76d5994f158333f	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Function	0	RANGE(a)
 e773824605c42129	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 e773824605c42129	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 e773824605c42129	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
@@ -16631,16 +13920,10 @@
 e89e18098b2f7555	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Cast	0	CAST(i AS BIGINT)
 e89e18098b2f7555	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Cast	0	CAST(i AS DOUBLE)
 e89e18098b2f7555	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Cast	0	CAST(i AS STRING)
-e8a6a52837c78ef2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label3.5'
-e8a6a52837c78ef2	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	'label4'
-e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	edges	both	ColumnOption::OnUpdate	0	ON UPDATE CURRENT_TIMESTAMP()
-e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	edges	both	ColumnOptionDef	0	ON UPDATE CURRENT_TIMESTAMP()
-e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	edges	end	ColumnDef	0	`modification_time` DATETIME ON UPDATE CURRENT_TIMESTAMP()
-e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
-e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
-e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	structure	empty	FunctionArguments::List	0	()
-e8ec15b0be86c055	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL NULLS LAST
-e8ec15b0be86c055	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL NULLS LAST
+e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	edges	start	ColumnOption::OnUpdate	0	ON UPDATE CURRENT_TIMESTAMP()
+e8e6faaad703628e	4edff8487059a4e8	MySqlDialect	edges	start	ColumnOptionDef	0	ON UPDATE CURRENT_TIMESTAMP()
+e8ec15b0be86c055	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL NULLS LAST
+e8ec15b0be86c055	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL NULLS LAST
 e8ec15b0be86c055	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer WHERE id < 5 ORDER BY ALL NULLS LAST
 e8ec15b0be86c055	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL NULLS LAST
 e911ad9d2609ba56	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT y FROM XMLTABLE('/X' PASSING '<X></X>' COLUMNS y TEXT NOT NULL)
@@ -16680,11 +13963,7 @@
 e9282b0c1a6a402c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	foo[0][0]
 e9282b0c1a6a402c	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::CompoundFieldAccess	0	foo[0][0]
 e93ccfd1ec8ccf9c	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Tuple	0	(42, 'ERROR')
-e93e77802458cfb3	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-e93e77802458cfb3	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 e93e77802458cfb3	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-e93e77802458cfb3	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-e93e77802458cfb3	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 e93e77802458cfb3	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
 e94427c284875115	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL DAY)
 e94427c284875115	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL DAY)
@@ -16766,13 +14045,10 @@
 ea1ff01d75021fb7	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Cast	0	CAST('NaN' AS FLOAT)
 ea1ff01d75021fb7	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Query	0	SELECT CAST('NaN' AS FLOAT), CAST('Infinity' AS DOUBLE)
 ea1ff01d75021fb7	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Select	0	SELECT CAST('NaN' AS FLOAT), CAST('Infinity' AS DOUBLE)
-ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	COUNT(*)
-ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	COUNT(*)
 ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> AGGREGATE COUNT(*) AS total_users
 ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	*
 ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArgumentList	0	*
-ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	FunctionArguments::List	0	(*)
 ea4b02ecdda7ae81	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	COUNT(*) AS total_users
 ea72f1b24ca40e2b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	EXTRACT(DECADE FROM d)
 ea72f1b24ca40e2b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT EXTRACT(DECADE FROM d)
@@ -16843,10 +14119,6 @@
 eb49a4d28457f068	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AddColumn	0	ADD IF NOT EXISTS foo TEXT
 eb49a4d28457f068	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo TEXT
 eb5418956337e01e	4edff8487059a4e8	SnowflakeDialect,BigQueryDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	foo.bar.*
-eb60fcaf16686b52	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	(x)
-eb60fcaf16686b52	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	max(x) FILTER (WHERE y) OVER ()
-eb60fcaf16686b52	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	max(x) FILTER (WHERE y) OVER ()
-eb60fcaf16686b52	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	max(x) FILTER (WHERE y) OVER ()
 eb93fb451625a584	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	AlterTableOperation::SetOptionsParens	0	SET (autovacuum_vacuum_scale_factor = 0.01, autovacuum_vacuum_threshold = 500)
 eb93fb451625a584	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::SetOptionsParens	0	SET (autovacuum_vacuum_scale_factor = 0.01, autovacuum_vacuum_threshold = 500)
 eba04750abf6d794	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL YEAR)
@@ -16854,46 +14126,16 @@
 eba04750abf6d794	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST('1 second' AS INTERVAL YEAR)
 eba04750abf6d794	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL YEAR)
 eba04750abf6d794	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL YEAR)
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(DOCUMENT '<abc>x</abc>')
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	XMLPARSE(DOCUMENT '<abc>x</abc>')
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	XMLPARSE(DOCUMENT '<abc>x</abc>')
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT XMLPARSE(DOCUMENT '<abc>x</abc>')
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	XMLPARSE(DOCUMENT '<abc>x</abc>')
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT XMLPARSE(DOCUMENT '<abc>x</abc>')
-ebc1b21f47040ef0	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT XMLPARSE(DOCUMENT '<abc>x</abc>')
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(c12)
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	MIN(c12) OVER window1
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ROW_NUMBER() OVER my_window
 ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	window1 AS (ORDER BY C12)
 ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	NamedWindowDefinition	0	window2 AS (PARTITION BY C11)
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11) QUALIFY ROW_NUMBER() OVER my_window
 ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY C3
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	MIN(c12) OVER window1
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER my_window
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11) QUALIFY ROW_NUMBER() OVER my_window
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
 ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	0	C11
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	my_window
-ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Ident	0	window1
 ebcdf84934c89f38	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	C12
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(c12)
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	MIN(c12) OVER window1
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ROW_NUMBER() OVER my_window
 ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	window1 AS (ORDER BY C12)
 ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	end	NamedWindowDefinition	0	window2 AS (PARTITION BY C11)
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11) QUALIFY ROW_NUMBER() OVER my_window
 ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY C3
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	MIN(c12) OVER window1
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER my_window
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT MIN(c12) OVER window1 AS min1 FROM aggregate_test_100 WINDOW window1 AS (ORDER BY C12), window2 AS (PARTITION BY C11) QUALIFY ROW_NUMBER() OVER my_window
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	0	C11
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	my_window
-ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	window1
 ebcdf84934c89f38	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	C12
-ebd89c38c0065be9	6ca6960954f2fca5	SnowflakeDialect	structure	empty	Ident	0	'gcs://mybucket/./../a.csv'
-ebd89c38c0065be9	6ca6960954f2fca5	SnowflakeDialect	structure	empty	ObjectName	0	'gcs://mybucket/./../a.csv'
-ebd89c38c0065be9	6ca6960954f2fca5	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	'gcs://mybucket/./../a.csv'
 ebdf2f87dbfad31e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD CONSTRAINT b UNIQUE NULLS DISTINCT (c)
 ebdf2f87dbfad31e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	TableConstraint::Unique	0	CONSTRAINT b UNIQUE NULLS DISTINCT (c)
 ebdf2f87dbfad31e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	UniqueConstraint	0	CONSTRAINT b UNIQUE NULLS DISTINCT (c)
@@ -16909,19 +14151,11 @@
 ebf7507637f3e78f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Expr::MatchAgainst	0	MATCH (c1) AGAINST ('string')
 ebf7507637f3e78f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	outside-parent	ObjectName	0	c1
 ebf7507637f3e78f	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	outside-parent	ValueWithSpan	0	'string'
-ebf9f3ae9de49ab5	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-ebf9f3ae9de49ab5	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 ebf9f3ae9de49ab5	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) totally_not_valid
-ebf9f3ae9de49ab5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-ebf9f3ae9de49ab5	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 ebf9f3ae9de49ab5	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	totally_not_valid
-ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	count(*)
-ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	count(*)
-ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	count(*)
 ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArg::Unnamed	0	*
 ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArgumentList	0	*
-ec0c963dbdf024d5	4edff8487059a4e8	SQLiteDialect	structure	empty	FunctionArguments::List	0	(*)
 ec0cb412af794abf	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	- ~ 1
 ec0cb412af794abf	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	- ~ 1
 ec0cb412af794abf	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	~ 1
@@ -16937,47 +14171,9 @@
 ec5e5506650dd68e	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	IndexColumn	0	age DESC
 ec5e5506650dd68e	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	age DESC
 ec71503d0ad2b442	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	0	(NEW.balance > 10000)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(4, 5)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	make_array(4, 5)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArg::Unnamed	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArg::Unnamed	0	make_array(4, 5)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgExpr::Expr	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgExpr::Expr	0	make_array(4, 5)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	FunctionArgumentList	0	make_array(1, 2, 3), make_array(4, 5)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	make_array(4, 5)
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(1, 2, 3)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(4, 5)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	make_array(4, 5)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	make_array(4, 5)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	make_array(4, 5)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	make_array(1, 2, 3), make_array(4, 5)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	make_array(1, 2, 3)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	make_array(4, 5)
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ec9bd1f15832ff8e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT UNNEST(make_array(1, 2, 3), make_array(4, 5))
-ecbcb78d0415bf0c	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	('now')
-ecbcb78d0415bf0c	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	datetime('now')
+ecb4682aa6f9fc19	4edff8487059a4e8	MsSqlDialect	edges	both	SelectItem::ExprWithAlias	0	[from] AS a
 ecbcb78d0415bf0c	4edff8487059a4e8	SQLiteDialect	edges	start	SetExpr::Values	0	VALUES (NEW.id, 'created', datetime('now'))
 ecbcb78d0415bf0c	4edff8487059a4e8	SQLiteDialect	edges	start	Values	0	VALUES (NEW.id, 'created', datetime('now'))
-ecbcb78d0415bf0c	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	datetime('now')
 ecbcb78d0415bf0c	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	VALUES (NEW.id, 'created', datetime('now'))
 ecc75d0733326520	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	s STRUCT(v VARCHAR, s STRUCT(a1 INTEGER, a2 VARCHAR))[]
 ecc75d0733326520	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	a1
@@ -17102,28 +14298,11 @@
 ee946c046a03f1a4	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS t2
 ee946c046a03f1a4	fdaf9332c09858cf	DuckDbDialect	edges	start	TableWithJoins	0	(SELECT name, id FROM t1 GROUP BY id) AS t2
 ee946c046a03f1a4	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	TableFactor::Derived	0	(SELECT name, id FROM t1 GROUP BY id) AS t2
-ee9763c63d56eb65	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-ee9763c63d56eb65	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
-ee9763c63d56eb65	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name)
-ee9763c63d56eb65	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-ee9763c63d56eb65	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 eea8ecfc99709863	4edff8487059a4e8	MySqlDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	baz INT
 eed2bdd1db8af9a8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	AccessExpr::Subscript	0	[0]
 eed2bdd1db8af9a8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	foo[0]
 eed2bdd1db8af9a8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::CompoundFieldAccess	0	foo[0]
 eed769499afb1639	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	start	AlterTableOperation::DropIndex	0	DROP INDEX idx_index
-eee2f581d6c91ea5	4edff8487059a4e8	HiveDialect	structure	empty	Ident	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	HiveDialect	structure	empty	ObjectName	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	HiveDialect	structure	empty	ObjectNamePart::Identifier	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	MsSqlDialect	structure	empty	Ident	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectName	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	MsSqlDialect	structure	empty	ObjectNamePart::Identifier	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	Ident	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectName	0	'WAREHOUSE'
-eee2f581d6c91ea5	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	'WAREHOUSE'
-eee2f581d6c91ea5	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'WAREHOUSE'
-eee2f581d6c91ea5	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'WAREHOUSE'
-eee2f581d6c91ea5	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'WAREHOUSE'
 eee3290a3f31e1a7	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	age INT
 eee3290a3f31e1a7	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	name TEXT
 ef0cdf3c6e02eed3	4edff8487059a4e8	PostgreSqlDialect	edges	start	Join	0	JOIN tbl_name_2 ON sort.id = tbl_name_2.id
@@ -17164,14 +14343,7 @@
 ef3ccbe9f70fc139	fdaf9332c09858cf	DuckDbDialect	edges	end	TableWithJoins	0	t1 INNER JOIN t2 USING(c1)
 ef3ccbe9f70fc139	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t1 INNER JOIN t2 USING(c1)
 ef3ccbe9f70fc139	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t1 INNER JOIN t2 USING(c1)
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(a AS x, b)
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	foo(a AS x, b)
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	foo(a AS x, b)
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT foo(a AS x, b)
 efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	start	FunctionArgumentList	0	a AS x, b
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	foo(a AS x, b)
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Query	0	SELECT foo(a AS x, b)
-efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Select	0	SELECT foo(a AS x, b)
 efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	Expr::Named	0	a AS x
 efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArg::Unnamed	0	a AS x
 efae0c17069ff36b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	structure	empty	FunctionArgExpr::Expr	0	a AS x
@@ -17222,35 +14394,39 @@
 f0265a61338995f9	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Ident	0	foo-bar
 f0265a61338995f9	4edff8487059a4e8	BigQueryDialect	reparse	inexact	ObjectName	0	baz-qux
 f0265a61338995f9	4edff8487059a4e8	BigQueryDialect	reparse	inexact	ObjectName	0	foo-bar
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	(a . 1 . b)
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT (a . 1 . b)
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	 . 1
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.b
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Nested	0	(a . 1 . b)
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT (a . 1 . b)
+f028d53cd3206a8c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT (a . 1 . b)
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	(a . 1 . b)
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT (a . 1 . b)
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	 . 1
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.b
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Nested	0	(a . 1 . b)
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT (a . 1 . b)
+f028d53cd3206a8c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT (a . 1 . b)
 f02de2216a9ec4a1	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Join	0	ARRAY JOIN arr AS x
 f02de2216a9ec4a1	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Join	0	JOIN u ON t.id = u.id
 f02de2216a9ec4a1	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	TableAlias	0	AS x
 f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	ColumnDef	0	foo INT
 f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::CharacterSet	0	CHARACTER SET utf8mb4
+f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
 f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	CHARACTER SET utf8mb4
-f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
-f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,SQLiteDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
-f0337c674cc5211b	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	edges	end	ColumnDef	0	bar TEXT CHARACTER SET utf8mb4 COLLATE "de_DE"
-f0337c674cc5211b	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ColumnOption::Collation	0	COLLATE "de_DE"
-f0337c674cc5211b	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ColumnOptionDef	0	COLLATE "de_DE"
-f0337c674cc5211b	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"de_DE"
-f0337c674cc5211b	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"de_DE"
-f0337c674cc5211b	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"de_DE"
+f0337c674cc5211b	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
 f0337c674cc5211b	fdaf9332c09858cf	DuckDbDialect	edges	end	ColumnDef	0	foo INT
 f0337c674cc5211b	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::CharacterSet	0	CHARACTER SET utf8mb4
 f0337c674cc5211b	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOption::Collation	0	COLLATE "de_DE"
 f0337c674cc5211b	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOptionDef	0	CHARACTER SET utf8mb4
 f0337c674cc5211b	fdaf9332c09858cf	DuckDbDialect	edges	start	ColumnOptionDef	0	COLLATE "de_DE"
-f04784dd9b57d696	4edff8487059a4e8	SQLiteDialect	edges	both	FunctionArguments::List	0	(x)
-f04784dd9b57d696	4edff8487059a4e8	SQLiteDialect	edges	end	Function	0	user_defined_function(x) FILTER (WHERE y) OVER ()
-f04784dd9b57d696	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::UnnamedExpr	0	user_defined_function(x) FILTER (WHERE y) OVER ()
-f04784dd9b57d696	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Expr::Function	0	user_defined_function(x) FILTER (WHERE y) OVER ()
 f04aa2182557a1bd	4edff8487059a4e8	HiveDialect,BigQueryDialect	edges	end	ColumnDef	0	name INT
 f04aa2182557a1bd	4edff8487059a4e8	HiveDialect,BigQueryDialect	edges	end	ColumnDef	0	val ARRAY<INT>
 f068df56bc9c7c87	4edff8487059a4e8	GenericDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,OracleDialect	edges	start	OrderBy	0	ORDER BY employee_id
 f068df56bc9c7c87	4edff8487059a4e8	GenericDialect,MsSqlDialect,SnowflakeDialect,RedshiftSqlDialect,OracleDialect	reparse	inexact	Expr::Prior	0	PRIOR employee_id
-f07fb643174a36f5	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC NULLS LAST
-f07fb643174a36f5	4edff8487059a4e8	ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC NULLS LAST
+f07fb643174a36f5	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC NULLS LAST
+f07fb643174a36f5	4edff8487059a4e8	SnowflakeDialect,ClickHouseDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC NULLS LAST
 f07fb643174a36f5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT id, fname, lname FROM customer ORDER BY ALL ASC NULLS LAST
 f07fb643174a36f5	fdaf9332c09858cf	DuckDbDialect	structure	empty	OrderBy	0	ORDER BY ALL ASC NULLS LAST
 f09275ecc73a0f18	4edff8487059a4e8	MsSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT * FROM t FOR XML RAW('x')
@@ -17265,19 +14441,12 @@
 f0dba7d97eb58356	4edff8487059a4e8	AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,TeradataDialect	reparse	inexact	Expr::Interval	0	INTERVAL '1' + '2' - '3' DAY
 f0dba7d97eb58356	4edff8487059a4e8	AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,TeradataDialect	reparse	inexact	Query	0	SELECT INTERVAL '1' + '2' - '3' DAY
 f0dba7d97eb58356	4edff8487059a4e8	AnsiDialect,HiveDialect,MySqlDialect,BigQueryDialect,DatabricksDialect,ClickHouseDialect,TeradataDialect	reparse	inexact	Select	0	SELECT INTERVAL '1' + '2' - '3' DAY
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	edges	end	Function	0	JSON_ARRAY(NULL ON NULL)
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	edges	end	SelectItem::UnnamedExpr	0	JSON_ARRAY(NULL ON NULL)
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	edges	end	SetExpr::Select	0	SELECT JSON_ARRAY(NULL ON NULL)
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Expr::Function	0	JSON_ARRAY(NULL ON NULL)
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Query	0	SELECT JSON_ARRAY(NULL ON NULL)
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	reparse	inexact	Select	0	SELECT JSON_ARRAY(NULL ON NULL)
 f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentClause::JsonNullClause	0	NULL ON NULL
 f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArgumentList	0	NULL ON NULL
-f0f06824ecb4d899	4edff8487059a4e8	MsSqlDialect	structure	empty	FunctionArguments::List	0	(NULL ON NULL)
 f0f487581b6a788c	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN description desc TEXT NOT NULL AFTER foo
 f0f487581b6a788c	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 f0f487581b6a788c	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	foo
-f1044283e1d5e71e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY ALL
+f1044283e1d5e71e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,OracleDialect,TeradataDialect	edges	start	OrderBy	0	ORDER BY ALL
 f10bf42a90d6ce66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SelectItem::UnnamedExpr	0	SUBSTRING('1', 1, 3)
 f10bf42a90d6ce66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT SUBSTRING('1', 1, 3)
 f10bf42a90d6ce66	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Substring	0	SUBSTRING('1', 1, 3)
@@ -17299,9 +14468,6 @@
 f1475b6150442c84	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	OrderByExpr	0	id ASC
 f1475b6150442c84	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> ORDER BY id ASC
 f1475b6150442c84	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	OrderByExpr	0	id ASC
-f149c15262891204	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	's3://a/b/c/data.parquet'
-f149c15262891204	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	's3://a/b/c/data.parquet'
-f149c15262891204	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	's3://a/b/c/data.parquet'
 f15ae65b9fa44019	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	INDEX (c1, c2, c3, c4, c5)
 f15ae65b9fa44019	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	INDEX (c1, c2, c3, c4, c5)
 f15ae65b9fa44019	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
@@ -17316,81 +14482,24 @@
 f1805c21015edb86	fdaf9332c09858cf	DuckDbDialect	edges	start	OrderBy	0	ORDER BY lname ASC, fname DESC, id
 f1805c21015edb86	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	fname DESC
 f1805c21015edb86	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	OrderByExpr	0	lname ASC
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	both	FunctionArguments::List	0	('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	both	FunctionArguments::List	0	(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	both	FunctionArguments::List	0	(p1)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	both	FunctionArguments::List	0	(p2)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	Function	0	array('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	Function	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	Function	0	reverse(p1)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	Function	0	reverse(p2)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	FunctionArg::Unnamed	0	array('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	FunctionArgExpr::Expr	0	array('Hello', 'World')
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	FunctionArgumentList	0	array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	SelectItem::UnnamedExpr	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	edges	end	SetExpr::Select	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::BinaryOp	0	reverse(p1) < reverse(p2)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::Function	0	array('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::Function	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::Function	0	reverse(p1)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::Function	0	reverse(p2)
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Expr::UnaryOp	0	-1
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Query	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	reparse	inexact	Select	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	structure	empty	Expr::Lambda	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	structure	empty	FunctionArg::Unnamed	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	structure	empty	FunctionArgExpr::Expr	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Expr::Case	0	CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	p1
 f1984898e4b4ee03	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	p2
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	both	FunctionArguments::List	0	('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	both	FunctionArguments::List	0	(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	both	FunctionArguments::List	0	(p1)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	both	FunctionArguments::List	0	(p2)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	Function	0	array('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	Function	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	Function	0	reverse(p1)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	Function	0	reverse(p2)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	FunctionArg::Unnamed	0	array('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	FunctionArgExpr::Expr	0	array('Hello', 'World')
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	FunctionArgumentList	0	array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	SelectItem::UnnamedExpr	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	edges	end	SetExpr::Select	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Expr::BinaryOp	0	reverse(p1) < reverse(p2)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Expr::Function	0	array('Hello', 'World')
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Expr::Function	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Expr::Function	0	reverse(p1)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Expr::Function	0	reverse(p2)
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Expr::UnaryOp	0	-1
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Query	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	reparse	inexact	Select	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	structure	empty	Expr::Lambda	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	structure	empty	FunctionArg::Unnamed	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	structure	empty	FunctionArgExpr::Expr	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	structure	outside-parent	Expr::Case	0	CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	structure	outside-parent	Ident	0	p1
 f1984898e4b4ee03	4edff8487059a4e8	SnowflakeDialect,DatabricksDialect,ClickHouseDialect	structure	outside-parent	Ident	0	p2
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	('Hello', 'World')
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(p1)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(p2)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	array('Hello', 'World')
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	reverse(p1)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	reverse(p2)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArg::Unnamed	0	array('Hello', 'World')
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgExpr::Expr	0	array('Hello', 'World')
 f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	FunctionArgumentList	0	array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::BinaryOp	0	reverse(p1) < reverse(p2)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	array('Hello', 'World')
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	reverse(p1)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	reverse(p2)
 f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-1
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
-f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT array_sort(array('Hello', 'World'), (p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END)
 f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	structure	empty	Expr::Lambda	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArg::Unnamed	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
 f1984898e4b4ee03	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArgExpr::Expr	0	(p1, p2) -> CASE WHEN p1 = p2 THEN 0 WHEN reverse(p1) < reverse(p2) THEN -1 ELSE 1 END
@@ -17415,15 +14524,11 @@
 f1c3143ceb117e19	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Ident	0	element
 f1c67c4cbfcdb350	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	name INT
 f1c67c4cbfcdb350	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	val INT[]
-f1c8182e88e858a7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(5)
-f1c8182e88e858a7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	end	Function	0	process_data(5)
 f1c8182e88e858a7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> CALL process_data(5) AS result_table
 f1c8182e88e858a7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Function	0	process_data(5)
 f1c8182e88e858a7	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	result_table
 f1e06d5703d78540	4edff8487059a4e8	PostgreSqlDialect	edges	both	CheckConstraint	0	CHECK (VALUE > 0)
 f1e06d5703d78540	4edff8487059a4e8	PostgreSqlDialect	edges	both	TableConstraint::Check	0	CHECK (VALUE > 0)
-f1e69bd2b10613c2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	's3://...'
-f1e69bd2b10613c2	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	's3://...'
 f200b416ed5eead8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE(3)
 f20bc6d79c436745	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	col1 STRUCT<field1 STRING, field2 INT>
 f20bc6d79c436745	4edff8487059a4e8	DatabricksDialect	structure	outside-parent	Ident	0	field1
@@ -17461,33 +14566,25 @@
 f23623b4ff3c0a16	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 f23623b4ff3c0a16	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	-0
 f23623b4ff3c0a16	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
+f242f3a1671a51a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT a FROM u) + 1
+f242f3a1671a51a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::InList	0	x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+f242f3a1671a51a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::BinaryOp	0	(SELECT a FROM u) + 1
+f242f3a1671a51a5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::InList	0	x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Subquery	0	(SELECT a FROM u)
+f242f3a1671a51a5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u) + 1, 2)
+f242f3a1671a51a5	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT * FROM t WHERE x IN ((SELECT a FROM u) + 1, 2)
 f252ad9779d4773a	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	AlterTableOperation::OwnerTo	0	OWNER TO SESSION_USER
 f254529de01a6602	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	both	JsonPath	0	[0]['id']
 f254529de01a6602	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	cust.c_orders[0]['id']
 f254529de01a6602	4edff8487059a4e8	SnowflakeDialect,RedshiftSqlDialect	reparse	inexact	Expr::JsonAccess	0	cust.c_orders[0]['id']
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	both	FunctionArguments::List	0	(description)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	both	FunctionArguments::List	0	(perm_create)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	both	FunctionArguments::List	0	(perm_delete)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	both	FunctionArguments::List	0	(perm_read)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	both	FunctionArguments::List	0	(perm_update)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	both	OnInsert::DuplicateKeyUpdate	0	 ON DUPLICATE KEY UPDATE description = VALUES(description), perm_create = VALUES(perm_create), perm_read = VALUES(perm_read), perm_update = VALUES(perm_update), perm_delete = VALUES(perm_delete)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Assignment	0	description = VALUES(description)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Assignment	0	perm_create = VALUES(perm_create)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Assignment	0	perm_delete = VALUES(perm_delete)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Assignment	0	perm_read = VALUES(perm_read)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Assignment	0	perm_update = VALUES(perm_update)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	VALUES(description)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	VALUES(perm_create)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	VALUES(perm_delete)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	VALUES(perm_read)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	end	Function	0	VALUES(perm_update)
+f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	start	OnInsert::DuplicateKeyUpdate	0	 ON DUPLICATE KEY UPDATE description = VALUES(description), perm_create = VALUES(perm_create), perm_read = VALUES(perm_read), perm_update = VALUES(perm_update), perm_delete = VALUES(perm_delete)
 f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	start	SetExpr::Values	0	VALUES ('accounting_manager', 'Some description about the group', true, true, true, true)
 f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	edges	start	Values	0	VALUES ('accounting_manager', 'Some description about the group', true, true, true, true)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	VALUES(description)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	VALUES(perm_create)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	VALUES(perm_delete)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	VALUES(perm_read)
-f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Expr::Function	0	VALUES(perm_update)
 f284a6c3b871b2b1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	VALUES ('accounting_manager', 'Some description about the group', true, true, true, true)
 f2a8dca17c670b5e	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO MINUTE(2)
 f2af36f4a9470689	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<>
@@ -17505,6 +14602,11 @@
 f2d4fffa8039b6c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	<
 f2d4fffa8039b6c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	<
 f2d4fffa8039b6c9	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	<
+f2d535c775e26239	4edff8487059a4e8	SQLiteDialect	edges	end	SelectItem::ExprWithAlias	0	N AS 'hello'
+f2d535c775e26239	4edff8487059a4e8	SQLiteDialect	edges	end	SetExpr::Select	0	SELECT N AS 'hello'
+f2d535c775e26239	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Query	0	SELECT N AS 'hello'
+f2d535c775e26239	4edff8487059a4e8	SQLiteDialect	reparse	inexact	Select	0	SELECT N AS 'hello'
+f2d535c775e26239	4edff8487059a4e8	SQLiteDialect	structure	empty	Ident	0	'hello'
 f2ecd666f8a5fc10	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	((SELECT 1))
 f2ecd666f8a5fc10	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	SetExpr::Query	0	(SELECT 1)
 f2ecd666f8a5fc10	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	((SELECT 1))
@@ -17519,7 +14621,6 @@
 f32bbadc950d7aeb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::TypedString	0	DATE '1999-01-01'
 f350eacb802fc890	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	a INT
 f350eacb802fc890	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	b INT
-f350eacb802fc890	4edff8487059a4e8	GenericDialect	structure	empty	Ident	0	'{cluster}'
 f35b617e06f67e7d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	KEY idx_name (name, age DESC) USING BTREE
 f35b617e06f67e7d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	KEY idx_name (name, age DESC) USING BTREE
 f35b617e06f67e7d	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	age INT
@@ -17551,19 +14652,11 @@
 f3b2484cfa296860	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Substring	0	SUBSTRING('1' FOR 3)
 f3b2484cfa296860	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT SUBSTRING('1' FOR 3)
 f3b2484cfa296860	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT SUBSTRING('1' FOR 3)
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	both	FunctionArguments::List	0	(i)
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	count(*)
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	end	Function	0	count(i)
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	count(*)
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	end	SelectItem::UnnamedExpr	0	count(i)
 f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	start	GroupByExpr::Expressions	0	GROUP BY grp
 f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	edges	start	OrderBy	0	ORDER BY grp
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	count(*)
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	reparse	inexact	Expr::Function	0	count(i)
 f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArg::Unnamed	0	*
 f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgExpr::Wildcard	0	*
 f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArgumentList	0	*
-f3c8d70dd0112390	4edff8487059a4e8	SparkSqlDialect	structure	empty	FunctionArguments::List	0	(*)
 f3dcf3e404bbfe42	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	a number
 f3dcf3e404bbfe42	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	number
 f3e261fff1e99575	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column26 BIGINT GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 20 START WITH 10 )
@@ -17637,14 +14730,6 @@
 f49e4d84fe1792af	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	1
 f49e4d84fe1792af	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	0	20
 f49e4d84fe1792af	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	Expr::Value	1	1
-f4a54d526ae7d6d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	FunctionArguments::List	0	(id)
-f4a54d526ae7d6d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	sqrt(id)
-f4a54d526ae7d6d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-f4a54d526ae7d6d2	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	sqrt(id)
-f4a54d526ae7d6d2	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-f4a54d526ae7d6d2	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-f4a54d526ae7d6d2	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-f4a54d526ae7d6d2	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 f4de782eac6a64fb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	SetExpr::Values	0	VALUES (a1, a2, a3)
 f4de782eac6a64fb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	start	Values	0	VALUES (a1, a2, a3)
 f4de782eac6a64fb	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	VALUES (a1, a2, a3)
@@ -17661,26 +14746,8 @@
 f4fe0abde82a1a6d	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::QualifiedWildcard	0	f.* EXCLUDE (col1, col2)
 f4fe0abde82a1a6d	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	f.*
 f4fe0abde82a1a6d	fdaf9332c09858cf	DuckDbDialect	edges	start	TableAlias	0	AS f
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	0	(toDateTime(`col2`))
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	1	(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	both	FunctionArguments::List	1	(toDateTime(`col2`))
 f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	`col1` INT64
 f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	`col2` Int32
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	toDate(toDateTime(`col2`))
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	0	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	1	toDate(toDateTime(`col2`))
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	Function	1	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArg::Unnamed	0	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArg::Unnamed	1	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgExpr::Expr	0	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgExpr::Expr	1	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgumentList	0	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	edges	end	FunctionArgumentList	1	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	toDate(toDateTime(`col2`))
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	0	toDateTime(`col2`)
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	1	toDate(toDateTime(`col2`))
-f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Function	1	toDateTime(`col2`)
 f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	reparse	inexact	Expr::Tuple	0	(toDate(toDateTime(`col2`)), `col1`, `col2`)
 f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	structure	empty	CreateTableOptions::Plain	0	ENGINE = MergeTree
 f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	structure	empty	Ident	0	ENGINE
@@ -17688,35 +14755,22 @@
 f4ffe7ba4732f9de	4edff8487059a4e8	ClickHouseDialect	structure	empty	SqlOption::NamedParenthesizedList	0	ENGINE = MergeTree
 f51d2ece691ac1b3	4edff8487059a4e8	MySqlDialect,GenericDialect	structure	empty	AlterTableOperation::Algorithm	0	ALGORITHM = INPLACE
 f53e056da5bab1b7	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ReferentialAction::Cascade	0	CASCADE
-f56909121c83477e	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Ident	0	'2024-07'
-f56909121c83477e	4edff8487059a4e8	ClickHouseDialect,GenericDialect	structure	empty	Partition::Identifier	0	PARTITION ID '2024-07'
-f56c166265beda2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	'cache_table_name'
-f56c166265beda2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	'cache_table_name'
-f56c166265beda2a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
-f56c166265beda2a	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	'cache_table_name'
-f56c166265beda2a	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	'cache_table_name'
-f56c166265beda2a	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	'cache_table_name'
+f56909121c83477e	4edff8487059a4e8	ClickHouseDialect,GenericDialect	edges	start	Partition::Identifier	0	PARTITION ID '2024-07'
 f5967ad9a83b24f4	4edff8487059a4e8	BigQueryDialect	edges	start	LimitClause::LimitOffset	0	 LIMIT 1
-f5db24c0c0224ad5	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(col_2, 1, 0)
-f5db24c0c0224ad5	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	end	Function	0	LAG(col_2, 1, 0) RESPECT NULLS OVER (ORDER BY col_1)
-f5db24c0c0224ad5	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	LAG(col_2, 1, 0) RESPECT NULLS OVER (ORDER BY col_1)
-f5db24c0c0224ad5	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	LAG(col_2, 1, 0) RESPECT NULLS OVER (ORDER BY col_1)
-f5db24c0c0224ad5	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	col_1
+f5c3c80de8d151f3	4edff8487059a4e8	ClickHouseDialect	edges	end	ColumnDef	0	o Object(json)
+f5c3c80de8d151f3	4edff8487059a4e8	ClickHouseDialect	structure	outside-parent	ObjectName	0	Object
+f5c3c80de8d151f3	4edff8487059a4e8	GenericDialect	edges	end	ColumnDef	0	o Object(json)
+f5c3c80de8d151f3	4edff8487059a4e8	GenericDialect	structure	outside-parent	ObjectName	0	Object
 f5f3ccade0d3d9cc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 f5f3ccade0d3d9cc	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::UnaryOp	0	-0
 f5f3ccade0d3d9cc	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::ExprWithAlias	0	-0 AS col_alias
 f5f3ccade0d3d9cc	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-0
 f5ff4fa55f72435a	4edff8487059a4e8	HiveDialect	edges	start	TableAlias	0	AS s
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	edges	both	FunctionArguments::Subquery	0	(SELECT '{}')
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	edges	end	Function	0	parse_json(SELECT '{}')
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	parse_json(SELECT '{}')
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	edges	end	SetExpr::Select	0	SELECT parse_json(SELECT '{}')
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Expr::Function	0	parse_json(SELECT '{}')
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Query	0	SELECT parse_json(SELECT '{}')
-f60826d84a25bfbe	4edff8487059a4e8	SnowflakeDialect	reparse	inexact	Select	0	SELECT parse_json(SELECT '{}')
 f624421ddf43d89f	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ModifyColumn	0	MODIFY COLUMN description TEXT NOT NULL AFTER foo
 f624421ddf43d89f	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 f624421ddf43d89f	4edff8487059a4e8	MySqlDialect	structure	outside-parent	Ident	0	foo
+f62ef61df40a66b6	4edff8487059a4e8	DatabricksDialect	edges	start	ColumnOption::Collation	0	COLLATE UTF8_LCASE
+f62ef61df40a66b6	4edff8487059a4e8	DatabricksDialect	edges	start	ColumnOptionDef	0	COLLATE UTF8_LCASE
 f641e66d7efbe85e	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column26 BIGINT GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 20 START WITH 10 )
 f641e66d7efbe85e	4edff8487059a4e8	PostgreSqlDialect	edges	end	ColumnDef	0	column30 TEXT
 f641e66d7efbe85e	4edff8487059a4e8	PostgreSqlDialect	structure	empty	ColumnOption::Generated	0	GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 20 START WITH 10 )
@@ -17766,11 +14820,6 @@
 f680ba4adab52d48	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	col DESC NULLS FIRST
 f699c3fef36f12ad	4edff8487059a4e8	SnowflakeDialect	structure	not-empty	ValueWithSpan	0	
 f699c3fef36f12ad	4edff8487059a4e8	SnowflakeDialect	structure	not-empty	ValueWithSpan	1	
-f6a75ffe07983e3f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	both	FunctionArguments::List	0	(col_2)
-f6a75ffe07983e3f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	Function	0	LAG(col_2) OVER (ORDER BY col_1)
-f6a75ffe07983e3f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	edges	end	SelectItem::UnnamedExpr	0	LAG(col_2) OVER (ORDER BY col_1)
-f6a75ffe07983e3f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	reparse	inexact	Expr::Function	0	LAG(col_2) OVER (ORDER BY col_1)
-f6a75ffe07983e3f	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect,SnowflakeDialect	structure	outside-parent	OrderByExpr	0	col_1
 f6bcc207e29f76b4	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	IndexConstraint	0	INDEX (id)
 f6bcc207e29f76b4	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	both	TableConstraint::Index	0	INDEX (id)
 f6bcc207e29f76b4	4edff8487059a4e8	MySqlDialect,GenericDialect	edges	end	ColumnDef	0	id INT
@@ -17792,6 +14841,11 @@
 f6cdb9c712164972	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	metric_measurements
 f6cdb9c712164972	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	metric_type
 f6d512e2582ba22f	4edff8487059a4e8	DatabricksDialect	edges	end	ColumnDef	0	x TIMESTAMP_NTZ
+f6dc91eb0c7900ba	4edff8487059a4e8	PostgreSqlDialect	edges	both	SelectItem::UnnamedExpr	0	TRIM(' x ')
+f6dc91eb0c7900ba	4edff8487059a4e8	PostgreSqlDialect	edges	end	SetExpr::Select	0	SELECT TRIM(' x ')
+f6dc91eb0c7900ba	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Trim	0	TRIM(' x ')
+f6dc91eb0c7900ba	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Query	0	SELECT TRIM(' x ')
+f6dc91eb0c7900ba	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Select	0	SELECT TRIM(' x ')
 f6ef8b9a315e7dd7	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,OracleDialect	edges	end	SetExpr::Select	0	SELECT 1 FROM T WHERE a = b (+)
 f6ef8b9a315e7dd7	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::BinaryOp	0	a = b (+)
 f6ef8b9a315e7dd7	4edff8487059a4e8	MsSqlDialect,SnowflakeDialect,OracleDialect	reparse	inexact	Expr::OuterJoin	0	b (+)
@@ -17828,23 +14882,12 @@
 f769ece452f671d6	4edff8487059a4e8	BigQueryDialect,GenericDialect	structure	outside-parent	Ident	0	y
 f797a2a6ed48f965	4edff8487059a4e8	SnowflakeDialect	edges	end	ColumnDef	0	v VARIANT
 f797a2a6ed48f965	4edff8487059a4e8	SnowflakeDialect	structure	outside-parent	ObjectName	0	VARIANT
-f7a28ba34fdbd0bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	both	FunctionArguments::List	0	(id)
-f7a28ba34fdbd0bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	Function	0	sqrt(id)
-f7a28ba34fdbd0bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-f7a28ba34fdbd0bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 f7a28ba34fdbd0bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	+10.1
 f7a28ba34fdbd0bb	4edff8487059a4e8	GenericDialect,PostgreSqlDialect	reparse	inexact	Expr::UnaryOp	0	-10.2
-f7a28ba34fdbd0bb	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(id)
-f7a28ba34fdbd0bb	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	sqrt(id)
-f7a28ba34fdbd0bb	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	sqrt(id)
-f7a28ba34fdbd0bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	sqrt(id)
 f7a28ba34fdbd0bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	+10.1
 f7a28ba34fdbd0bb	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::UnaryOp	0	-10.2
 f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArgumentClause::OrderBy	0	ORDER BY x ASC, y DESC
-f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x ASC, y DESC)
-f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	LAST_VALUE(x ORDER BY x ASC, y DESC)
 f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	FunctionArgumentList	0	x ORDER BY x ASC, y DESC
-f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	LAST_VALUE(x ORDER BY x ASC, y DESC)
 f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	OrderByExpr	0	x ASC
 f7da99d2230e7877	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	OrderByExpr	0	y DESC
 f7e1bbb29c1db039	4edff8487059a4e8	SnowflakeDialect	edges	start	TableWithJoins	0	@stage s
@@ -17852,32 +14895,12 @@
 f7e1bbb29c1db039	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	@stage
 f7e1bbb29c1db039	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	@stage
 f7e1bbb29c1db039	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	@stage
-f7e2dd6c374169b0	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	"en_US"
-f7e2dd6c374169b0	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	"en_US"
-f7e2dd6c374169b0	4edff8487059a4e8	MySqlDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	"en_US"
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	CURRENT_DATE()
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SelectItem::UnnamedExpr	0	CURRENT_DATE()
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT CURRENT_DATE()
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	CURRENT_DATE()
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT CURRENT_DATE()
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Select	0	SELECT CURRENT_DATE()
-f7f8ed501490812e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	CURRENT_DATE()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	edges	end	SelectItem::UnnamedExpr	0	CURRENT_DATE()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	edges	end	SetExpr::Select	0	SELECT CURRENT_DATE()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	CURRENT_DATE()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT CURRENT_DATE()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT CURRENT_DATE()
-f7f8ed501490812e	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
 f8233b9655339861	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	Ident	0	TIMEZONE
 f8233b9655339861	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectName	0	TIMEZONE
 f8233b9655339861	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	ObjectNamePart::Identifier	0	TIMEZONE
 f8233b9655339861	fdaf9332c09858cf	DuckDbDialect	structure	empty	Ident	0	TIMEZONE
 f8233b9655339861	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectName	0	TIMEZONE
 f8233b9655339861	fdaf9332c09858cf	DuckDbDialect	structure	empty	ObjectNamePart::Identifier	0	TIMEZONE
-f823c670de3a15ea	4edff8487059a4e8	SnowflakeDialect	structure	empty	Ident	0	's3://load/files/'
-f823c670de3a15ea	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectName	0	's3://load/files/'
-f823c670de3a15ea	4edff8487059a4e8	SnowflakeDialect	structure	empty	ObjectNamePart::Identifier	0	's3://load/files/'
 f88bc918b0de54d4	4edff8487059a4e8	MySqlDialect	edges	both	AlterTableOperation::ChangeColumn	0	CHANGE COLUMN description desc TEXT NOT NULL
 f88bc918b0de54d4	4edff8487059a4e8	MySqlDialect	structure	empty	ColumnOption::NotNull	0	NOT NULL
 f89bcb8af2dc9082	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE
@@ -17936,6 +14959,10 @@
 f956c959b4ab530e	fdaf9332c09858cf	DuckDbDialect	edges	both	AlterTableOperation::AddConstraint	0	ADD PRIMARY KEY (foo, bar)
 f956c959b4ab530e	fdaf9332c09858cf	DuckDbDialect	edges	both	PrimaryKeyConstraint	0	PRIMARY KEY (foo, bar)
 f956c959b4ab530e	fdaf9332c09858cf	DuckDbDialect	edges	both	TableConstraint::PrimaryKey	0	PRIMARY KEY (foo, bar)
+f96e0eb2349a4707	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.i
+f96e0eb2349a4707	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	AccessExpr::Dot	0	.j
+f96e0eb2349a4707	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.i
+f96e0eb2349a4707	fdaf9332c09858cf	DuckDbDialect	edges	start	AccessExpr::Dot	0	.j
 f988c21d9187ef17	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> UNPIVOT(measurement FOR metric_type IN (cpu, memory, disk))
 f988c21d9187ef17	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	cpu
 f988c21d9187ef17	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	disk
@@ -17955,17 +14982,9 @@
 f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	both	CreateTableOptions::Options	0	OPTIONS(expiration_timestamp = TIMESTAMP '2025-01-01 00:00:00 UTC')
 f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArg::Unnamed	0	INTERVAL 1 HOUR
 f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArgExpr::Expr	0	INTERVAL 1 HOUR
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	both	FunctionArguments::List	0	(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	CURRENT_TIMESTAMP()
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	end	Function	0	TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArg::Unnamed	0	CURRENT_TIMESTAMP()
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArgExpr::Expr	0	CURRENT_TIMESTAMP()
 f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	edges	end	FunctionArgumentList	0	CURRENT_TIMESTAMP(), INTERVAL 1 HOUR
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	CURRENT_TIMESTAMP()
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Function	0	TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
 f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::Interval	0	INTERVAL 1 HOUR
 f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Expr::TypedString	0	TIMESTAMP '2025-01-01 00:00:00 UTC'
-f9c1beb37ff2e8a6	4edff8487059a4e8	BigQueryDialect	structure	empty	FunctionArguments::List	0	()
 f9d10325a602b5c4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	FULL JOIN t2 USING(c1)
 f9d10325a602b5c4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM t1 FULL JOIN t2 USING(c1)
 f9d10325a602b5c4	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t1 FULL JOIN t2 USING(c1)
@@ -17984,11 +15003,7 @@
 fa5b76d4b606947d	4edff8487059a4e8	BigQueryDialect	reparse	inexact	Query	0	FROM t |> WHERE a > 1 |> SELECT a
 fa5b76d4b606947d	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	Expr::BinaryOp	0	a > 1
 fa5b76d4b606947d	4edff8487059a4e8	BigQueryDialect	structure	outside-parent	SelectItem::UnnamedExpr	0	a
-fa6b9348b613b393	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(first_name, last_name)
-fa6b9348b613b393	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	concat_users_name(first_name, last_name)
 fa6b9348b613b393	4edff8487059a4e8	PostgreSqlDialect	edges	end	IndexColumn	0	concat_users_name(first_name, last_name) gist_trgm_ops
-fa6b9348b613b393	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	concat_users_name(first_name, last_name)
-fa6b9348b613b393	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	OrderByExpr	0	concat_users_name(first_name, last_name)
 fa6b9348b613b393	4edff8487059a4e8	PostgreSqlDialect	structure	outside-parent	ObjectName	0	gist_trgm_ops
 fa8f2647c808c754	4edff8487059a4e8	RedshiftSqlDialect	edges	end	SelectItem::UnnamedExpr	0	'abc' IN ('abc', 'd')
 fa8f2647c808c754	4edff8487059a4e8	RedshiftSqlDialect	edges	end	SetExpr::Select	0	SELECT 'abc' IN ('abc', 'd')
@@ -17997,14 +15012,8 @@
 fa8f2647c808c754	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Query	0	SELECT 'abc' IN ('abc', 'd')
 fa8f2647c808c754	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	Select	0	SELECT 'abc' IN ('abc', 'd')
 fa8f2647c808c754	4edff8487059a4e8	RedshiftSqlDialect	reparse	inexact	ValueWithSpan	1	'abc'
-fa99d3a14c9bbc2c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x, y)
-fa99d3a14c9bbc2c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x, y)
 fa99d3a14c9bbc2c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x, y
-fa99d3a14c9bbc2c	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,HiveDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x, y)
-fa99d3a14c9bbc2c	fdaf9332c09858cf	DuckDbDialect	edges	both	FunctionArguments::List	0	(x ORDER BY x, y)
-fa99d3a14c9bbc2c	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ARRAY_AGG(x ORDER BY x, y)
 fa99d3a14c9bbc2c	fdaf9332c09858cf	DuckDbDialect	edges	start	FunctionArgumentClause::OrderBy	0	ORDER BY x, y
-fa99d3a14c9bbc2c	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ARRAY_AGG(x ORDER BY x, y)
 faa36516f2412697	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL MINUTE(2)
 fab5eb1f219d5f4a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT * FROM XMLTABLE('/root/row' PASSING xmldata COLUMNS id INT PATH '@id', name TEXT PATH 'name/text()', value FLOAT PATH 'value')
 fab5eb1f219d5f4a	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Query	0	SELECT * FROM XMLTABLE('/root/row' PASSING xmldata COLUMNS id INT PATH '@id', name TEXT PATH 'name/text()', value FLOAT PATH 'value')
@@ -18065,16 +15074,6 @@
 fb35507624d92632	fdaf9332c09858cf	DuckDbDialect	edges	both	SelectItem::UnnamedExpr	0	CEIL(d TO MINUTE)
 fb35507624d92632	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Ceil	0	CEIL(d TO MINUTE)
 fb4b8da18149471d	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	ColumnDef	0	i INTERVAL HOUR TO MINUTE(3)
-fb7a714c6cb53232	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-fb7a714c6cb53232	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-fb7a714c6cb53232	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	empty	FunctionArguments::List	0	()
-fb7a714c6cb53232	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	Expr::Identifier	1	p
-fb7a714c6cb53232	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	structure	outside-parent	OrderByExpr	0	o
-fb7a714c6cb53232	fdaf9332c09858cf	DuckDbDialect	edges	end	Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-fb7a714c6cb53232	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Function	0	ROW_NUMBER() OVER (PARTITION BY p ORDER BY o)
-fb7a714c6cb53232	fdaf9332c09858cf	DuckDbDialect	structure	empty	FunctionArguments::List	0	()
-fb7a714c6cb53232	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	Expr::Identifier	1	p
-fb7a714c6cb53232	fdaf9332c09858cf	DuckDbDialect	structure	outside-parent	OrderByExpr	0	o
 fbe67cae6b903478	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	both	ExcludeSelectItem::Multiple	0	EXCLUDE (f.account_canonical_id, f.amount)
 fbe67cae6b903478	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItem::QualifiedWildcard	0	f.* EXCLUDE (f.account_canonical_id, f.amount)
 fbe67cae6b903478	4edff8487059a4e8	GenericDialect,SnowflakeDialect,RedshiftSqlDialect	edges	end	SelectItemQualifiedWildcardKind::ObjectName	0	f.*
@@ -18118,12 +15117,6 @@
 fcb94cdea8b0834b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::Extract	0	EXTRACT(TIMEZONE_REGION FROM d)
 fcb94cdea8b0834b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Query	0	SELECT EXTRACT(TIMEZONE_REGION FROM d)
 fcb94cdea8b0834b	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Select	0	SELECT EXTRACT(TIMEZONE_REGION FROM d)
-fcc530faafa02edf	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"DATABASE"
-fcc530faafa02edf	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"DATABASE"
-fcc530faafa02edf	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"DATABASE"
-fce4cc4c7e889245	4edff8487059a4e8	MySqlDialect	structure	empty	Ident	0	"SCHEMA"
-fce4cc4c7e889245	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectName	0	"SCHEMA"
-fce4cc4c7e889245	4edff8487059a4e8	MySqlDialect	structure	empty	ObjectNamePart::Identifier	0	"SCHEMA"
 fcf80d7614a1ee0b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SelectItem::UnnamedExpr	0	'1 second'::INTERVAL DAY TO MINUTE(2)
 fcf80d7614a1ee0b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT '1 second'::INTERVAL DAY TO MINUTE(2)
 fcf80d7614a1ee0b	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	'1 second'::INTERVAL DAY TO MINUTE(2)
@@ -18180,13 +15173,10 @@
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArg::Unnamed	0	ARRAY['i', 'i']
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArgExpr::Expr	0	ARRAY['i', 'i']
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArgumentList	0	ARRAY['i', 'i']
-fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	both	FunctionArguments::List	0	(ARRAY['i', 'i'])
-fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	end	Function	0	information_schema._pg_expandarray(ARRAY['i', 'i'])
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	start	AccessExpr::Dot	0	.n
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	edges	start	SelectItem::UnnamedExpr	0	(information_schema._pg_expandarray(ARRAY['i', 'i'])).n
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Array	0	ARRAY['i', 'i']
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::CompoundFieldAccess	0	(information_schema._pg_expandarray(ARRAY['i', 'i'])).n
-fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Function	0	information_schema._pg_expandarray(ARRAY['i', 'i'])
 fd306acea24edd50	4edff8487059a4e8	PostgreSqlDialect	reparse	inexact	Expr::Nested	0	(information_schema._pg_expandarray(ARRAY['i', 'i']))
 fd53628d36070cab	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	SetExpr::Values	0	VALUES (1, 2, 3)
 fd53628d36070cab	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	start	Values	0	VALUES (1, 2, 3)
@@ -18213,6 +15203,7 @@
 fd9c70f5adfb9d5e	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Cast	0	CAST(custinfo -> '$.zipcode' AS UNSIGNED ARRAY)
 fd9c70f5adfb9d5e	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	Expr::Nested	0	(CAST(custinfo -> '$.zipcode' AS UNSIGNED ARRAY))
 fd9c70f5adfb9d5e	4edff8487059a4e8	MySqlDialect,GenericDialect	reparse	inexact	OrderByExpr	0	(CAST(custinfo -> '$.zipcode' AS UNSIGNED ARRAY))
+fda7a1b22560a8ac	4edff8487059a4e8	ClickHouseDialect	edges	start	AccessExpr::Dot	0	 . 2
 fdc54436a00b735c	4edff8487059a4e8	MySqlDialect	edges	start	Join	0	JOIN dept_emp d ON e.emp_no = d.emp_no
 fdc62e3ec656b7d8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	both	SelectItem::UnnamedExpr	0	CAST('1 second' AS INTERVAL YEAR TO MONTH(6))
 fdc62e3ec656b7d8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	edges	end	SetExpr::Select	0	SELECT CAST('1 second' AS INTERVAL YEAR TO MONTH(6))
@@ -18220,7 +15211,6 @@
 fdc62e3ec656b7d8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Query	0	SELECT CAST('1 second' AS INTERVAL YEAR TO MONTH(6))
 fdc62e3ec656b7d8	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	reparse	inexact	Select	0	SELECT CAST('1 second' AS INTERVAL YEAR TO MONTH(6))
 fdd4f394e4efbf3d	4edff8487059a4e8	MySqlDialect	edges	start	Join	0	JOIN dept_emp d ON e.emp_no = d.emp_no
-fde9d950782bb09e	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MySqlDialect	structure	empty	Ident	0	'utf8'
 fe312151189574d1	4edff8487059a4e8	MySqlDialect	edges	end	SetExpr::Select	0	SELECT * FROM t1 USE INDEX () IGNORE INDEX (i2) USE INDEX (i1) USE INDEX (i2)
 fe312151189574d1	4edff8487059a4e8	MySqlDialect	edges	end	TableWithJoins	0	t1 USE INDEX () IGNORE INDEX (i2) USE INDEX (i1) USE INDEX (i2)
 fe312151189574d1	4edff8487059a4e8	MySqlDialect	reparse	inexact	Query	0	SELECT * FROM t1 USE INDEX () IGNORE INDEX (i2) USE INDEX (i1) USE INDEX (i2)
@@ -18247,14 +15237,7 @@
 fe869f966ffdc848	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	reparse	inexact	Expr::TypedString	0	JSON '{\n  "id": 10,\n  "type": "fruit",\n  "name": "apple",\n  "on_menu": true,\n  "recipes":\n    {\n      "salads":\n      [\n        { "id": 2001, "type": "Walnut Apple Salad" },\n        { "id": 2002, "type": "Apple Spinach Salad" }\n      ],\n      "desserts":\n      [\n        { "id": 3001, "type": "Apple Pie" },\n        { "id": 3002, "type": "Apple Scones" },\n        { "id": 3003, "type": "Apple Crumble" }\n      ]\n    }\n}'
 fe869f966ffdc848	fdaf9332c09858cf	DuckDbDialect	edges	start	SelectItem::UnnamedExpr	0	JSON '{\n  "id": 10,\n  "type": "fruit",\n  "name": "apple",\n  "on_menu": true,\n  "recipes":\n    {\n      "salads":\n      [\n        { "id": 2001, "type": "Walnut Apple Salad" },\n        { "id": 2002, "type": "Apple Spinach Salad" }\n      ],\n      "desserts":\n      [\n        { "id": 3001, "type": "Apple Pie" },\n        { "id": 3002, "type": "Apple Scones" },\n        { "id": 3003, "type": "Apple Crumble" }\n      ]\n    }\n}'
 fe869f966ffdc848	fdaf9332c09858cf	DuckDbDialect	reparse	inexact	Expr::TypedString	0	JSON '{\n  "id": 10,\n  "type": "fruit",\n  "name": "apple",\n  "on_menu": true,\n  "recipes":\n    {\n      "salads":\n      [\n        { "id": 2001, "type": "Walnut Apple Salad" },\n        { "id": 2002, "type": "Apple Spinach Salad" }\n      ],\n      "desserts":\n      [\n        { "id": 3001, "type": "Apple Pie" },\n        { "id": 3002, "type": "Apple Scones" },\n        { "id": 3003, "type": "Apple Crumble" }\n      ]\n    }\n}'
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	ExprWithAlias	0	AVG(price)
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	Function	0	AVG(price)
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	edges	both	FunctionArguments::List	0	(price)
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Expr::Function	0	AVG(price)
 fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	reparse	inexact	Query	0	SELECT * FROM tbl |> PIVOT(AVG(price) FOR category IN ('A', 'B', 'C')) AS avg_by_category
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	Ident	0	AVG
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectName	0	AVG
-fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	empty	ObjectNamePart::Identifier	0	AVG
 fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	ExprWithAlias	0	AVG(price)
 fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	avg_by_category
 fe875a19834bfa9c	4edff8487059a4e8	GenericDialect,BigQueryDialect,DatabricksDialect	structure	outside-parent	Ident	0	category
@@ -18293,12 +15276,6 @@
 ff113bafbb0f59ca	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	Ident	0	>>
 ff113bafbb0f59ca	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectName	0	>>
 ff113bafbb0f59ca	4edff8487059a4e8	PostgreSqlDialect,GenericDialect	structure	empty	ObjectNamePart::Identifier	0	>>
-ff20aa1bba2d0206	4edff8487059a4e8	BigQueryDialect	structure	empty	FromTable::WithoutKeyword	0	"table"
-ff20aa1bba2d0206	4edff8487059a4e8	BigQueryDialect	structure	empty	Ident	0	"table"
-ff20aa1bba2d0206	4edff8487059a4e8	BigQueryDialect	structure	empty	ObjectName	0	"table"
-ff20aa1bba2d0206	4edff8487059a4e8	BigQueryDialect	structure	empty	ObjectNamePart::Identifier	0	"table"
-ff20aa1bba2d0206	4edff8487059a4e8	BigQueryDialect	structure	empty	TableFactor::Table	0	"table"
-ff20aa1bba2d0206	4edff8487059a4e8	BigQueryDialect	structure	empty	TableWithJoins	0	"table"
 ff3cf79cc2b44e63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	both	Join	0	RIGHT JOIN t2 USING(c1)
 ff3cf79cc2b44e63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	SetExpr::Select	0	SELECT c1 FROM t1 RIGHT JOIN t2 USING(c1)
 ff3cf79cc2b44e63	4edff8487059a4e8	GenericDialect,PostgreSqlDialect,MsSqlDialect,AnsiDialect,SnowflakeDialect,HiveDialect,RedshiftSqlDialect,MySqlDialect,BigQueryDialect,SQLiteDialect,DatabricksDialect,ClickHouseDialect,OracleDialect,TeradataDialect	edges	end	TableWithJoins	0	t1 RIGHT JOIN t2 USING(c1)
diff --git a/tests/sqlparser_bigquery.rs b/tests/sqlparser_bigquery.rs
index 508fd5b..4130af4 100644
--- a/tests/sqlparser_bigquery.rs
+++ b/tests/sqlparser_bigquery.rs
@@ -2294,25 +2294,32 @@
                 },
             }),
             AccessExpr::Subscript(Subscript::Index {
-                index: Expr::Function(Function {
-                    name: ObjectName::from(vec![Ident::with_span(
-                        Span::new(Location::of(1, 11), Location::of(1, 22)),
-                        "safe_offset",
-                    )]),
-                    parameters: FunctionArguments::None,
-                    args: FunctionArguments::List(FunctionArgumentList {
-                        duplicate_treatment: None,
-                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                            number("2").with_empty_span(),
-                        )))],
-                        clauses: vec![],
-                    }),
-                    filter: None,
-                    null_treatment: None,
-                    over: None,
-                    within_group: vec![],
-                    uses_odbc_syntax: false,
-                }),
+                index: Expr::Function(
+                    Function {
+                        name: ObjectName::from(vec![Ident::with_span(
+                            Span::new(Location::of(1, 11), Location::of(1, 22)),
+                            "safe_offset",
+                        )]),
+                        parameters: FunctionArguments::None,
+                        args: FunctionArguments::List(
+                            FunctionArgumentList {
+                                duplicate_treatment: None,
+                                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                    Expr::Value(number("2").with_empty_span()),
+                                ))],
+                                clauses: vec![],
+                            }
+                            .into(),
+                        ),
+                        filter: None,
+                        null_treatment: None,
+                        over: None,
+                        within_group: vec![],
+                        uses_odbc_syntax: false,
+                        end_token: AttachedToken::empty(),
+                    }
+                    .into(),
+                ),
             }),
             AccessExpr::Dot(Expr::Identifier(Ident::with_span(
                 Span::new(Location::of(1, 24), Location::of(1, 25)),
diff --git a/tests/sqlparser_clickhouse.rs b/tests/sqlparser_clickhouse.rs
index 1737aa1..fdb3ba1 100644
--- a/tests/sqlparser_clickhouse.rs
+++ b/tests/sqlparser_clickhouse.rs
@@ -194,20 +194,27 @@
         expr_from_projection(&select.projection[0]),
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1]),
     );
     match &select.projection[2] {
@@ -877,13 +884,16 @@
                 assert_eq!(actual.name, ObjectName::from(vec![Ident::new(name)]));
                 assert_eq!(
                     actual.args,
-                    FunctionArguments::List(FunctionArgumentList {
-                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Identifier(
-                            Ident::new(arg)
-                        )),)],
-                        duplicate_treatment: None,
-                        clauses: vec![],
-                    })
+                    FunctionArguments::List(
+                        FunctionArgumentList {
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Identifier(
+                                Ident::new(arg)
+                            )),)],
+                            duplicate_treatment: None,
+                            clauses: vec![],
+                        }
+                        .into()
+                    )
                 );
                 true
             }
@@ -934,20 +944,27 @@
                         data_type: DataType::Datetime(None),
                         options: vec![ColumnOptionDef {
                             name: None,
-                            option: ColumnOption::Materialized(Expr::Function(Function {
-                                name: ObjectName::from(vec![Ident::new("now")]),
-                                uses_odbc_syntax: false,
-                                args: FunctionArguments::List(FunctionArgumentList {
-                                    args: vec![],
-                                    duplicate_treatment: None,
-                                    clauses: vec![],
-                                }),
-                                parameters: FunctionArguments::None,
-                                null_treatment: None,
-                                filter: None,
-                                over: None,
-                                within_group: vec![],
-                            }))
+                            option: ColumnOption::Materialized(Expr::Function(
+                                Function {
+                                    name: ObjectName::from(vec![Ident::new("now")]),
+                                    uses_odbc_syntax: false,
+                                    args: FunctionArguments::List(
+                                        FunctionArgumentList {
+                                            args: vec![],
+                                            duplicate_treatment: None,
+                                            clauses: vec![],
+                                        }
+                                        .into()
+                                    ),
+                                    parameters: FunctionArguments::None,
+                                    null_treatment: None,
+                                    filter: None,
+                                    over: None,
+                                    within_group: vec![],
+                                    end_token: AttachedToken::empty(),
+                                }
+                                .into()
+                            ))
                         }],
                     },
                     ColumnDef {
@@ -955,20 +972,27 @@
                         data_type: DataType::Datetime(None),
                         options: vec![ColumnOptionDef {
                             name: None,
-                            option: ColumnOption::Ephemeral(Some(Expr::Function(Function {
-                                name: ObjectName::from(vec![Ident::new("now")]),
-                                uses_odbc_syntax: false,
-                                args: FunctionArguments::List(FunctionArgumentList {
-                                    args: vec![],
-                                    duplicate_treatment: None,
-                                    clauses: vec![],
-                                }),
-                                parameters: FunctionArguments::None,
-                                null_treatment: None,
-                                filter: None,
-                                over: None,
-                                within_group: vec![],
-                            })))
+                            option: ColumnOption::Ephemeral(Some(Expr::Function(
+                                Function {
+                                    name: ObjectName::from(vec![Ident::new("now")]),
+                                    uses_odbc_syntax: false,
+                                    args: FunctionArguments::List(
+                                        FunctionArgumentList {
+                                            args: vec![],
+                                            duplicate_treatment: None,
+                                            clauses: vec![],
+                                        }
+                                        .into()
+                                    ),
+                                    parameters: FunctionArguments::None,
+                                    null_treatment: None,
+                                    filter: None,
+                                    over: None,
+                                    within_group: vec![],
+                                    end_token: AttachedToken::empty(),
+                                }
+                                .into()
+                            )))
                         }],
                     },
                     ColumnDef {
@@ -984,22 +1008,29 @@
                         data_type: DataType::String(None),
                         options: vec![ColumnOptionDef {
                             name: None,
-                            option: ColumnOption::Alias(Expr::Function(Function {
-                                name: ObjectName::from(vec![Ident::new("toString")]),
-                                uses_odbc_syntax: false,
-                                args: FunctionArguments::List(FunctionArgumentList {
-                                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                                        Identifier(Ident::new("c"))
-                                    ))],
-                                    duplicate_treatment: None,
-                                    clauses: vec![],
-                                }),
-                                parameters: FunctionArguments::None,
-                                null_treatment: None,
-                                filter: None,
-                                over: None,
-                                within_group: vec![],
-                            }))
+                            option: ColumnOption::Alias(Expr::Function(
+                                Function {
+                                    name: ObjectName::from(vec![Ident::new("toString")]),
+                                    uses_odbc_syntax: false,
+                                    args: FunctionArguments::List(
+                                        FunctionArgumentList {
+                                            args: vec![FunctionArg::Unnamed(
+                                                FunctionArgExpr::Expr(Identifier(Ident::new("c")))
+                                            )],
+                                            duplicate_treatment: None,
+                                            clauses: vec![],
+                                        }
+                                        .into()
+                                    ),
+                                    parameters: FunctionArguments::None,
+                                    null_treatment: None,
+                                    filter: None,
+                                    over: None,
+                                    within_group: vec![],
+                                    end_token: AttachedToken::empty(),
+                                }
+                                .into()
+                            ))
                         }],
                     }
                 ]
@@ -1992,7 +2023,10 @@
     clickhouse_and_generic().verified_stmt("ALTER TABLE events MODIFY COLUMN `order` UInt8");
 
     match clickhouse_and_generic().verified_stmt("ALTER TABLE events MODIFY ORDER BY (a)") {
-        Statement::AlterTable(AlterTable { operations, .. }) => {
+        Statement::AlterTable(SpannedObject {
+            content: AlterTable { operations, .. },
+            ..
+        }) => {
             assert_eq!(
                 operations,
                 vec![AlterTableOperation::ModifyOrderBy {
@@ -2026,7 +2060,11 @@
         let statements = dialects
             .parse_sql_statements("CREATE TABLE t (o Object('json'))")
             .unwrap();
-        let [Statement::CreateTable(CreateTable { columns, .. })] = statements.as_slice() else {
+        let [Statement::CreateTable(SpannedObject {
+            content: CreateTable { columns, .. },
+            ..
+        })] = statements.as_slice()
+        else {
             unreachable!();
         };
 
@@ -2058,7 +2096,10 @@
             TestedDialects::new(vec![Box::new(GenericDialect {})]),
         ] {
             let statements = dialects.parse_sql_statements(sql).unwrap();
-            let [Statement::CreateTable(CreateTable { columns, .. })] = statements.as_slice()
+            let [Statement::CreateTable(SpannedObject {
+                content: CreateTable { columns, .. },
+                ..
+            })] = statements.as_slice()
             else {
                 unreachable!();
             };
diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs
index 0fc5847..fee9352 100644
--- a/tests/sqlparser_common.rs
+++ b/tests/sqlparser_common.rs
@@ -1445,20 +1445,27 @@
     let sql = "SELECT COUNT(*) FROM customer";
     let select = verified_only_select(sql);
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("COUNT")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Wildcard)],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![]
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("COUNT")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Wildcard)],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection))
     );
 }
@@ -1468,23 +1475,30 @@
     let sql = "SELECT COUNT(DISTINCT +x) FROM customer";
     let select = verified_only_select(sql);
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("COUNT")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: Some(DuplicateTreatment::Distinct),
-                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::UnaryOp {
-                    op: UnaryOperator::Plus,
-                    expr: Box::new(Expr::Identifier(Ident::new("x"))),
-                }))],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            within_group: vec![],
-            filter: None,
-            over: None
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("COUNT")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: Some(DuplicateTreatment::Distinct),
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::UnaryOp {
+                            op: UnaryOperator::Plus,
+                            expr: Box::new(Expr::Identifier(Ident::new("x"))),
+                        }))],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                within_group: vec![],
+                filter: None,
+                over: None,
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection))
     );
 
@@ -1829,36 +1843,15 @@
     ]);
     let select = dialects.verified_only_select("SELECT JSON_OBJECT('name' : 'value', 'type' : 1)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, .. }),
-            ..
-        }) => assert_eq!(
-            &[
-                FunctionArg::ExprNamed {
-                    name: Expr::Value((Value::SingleQuotedString("name".into())).with_empty_span()),
-                    arg: FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString("value".into())).with_empty_span()
-                    )),
-                    operator: FunctionArgOperator::Colon
-                },
-                FunctionArg::ExprNamed {
-                    name: Expr::Value((Value::SingleQuotedString("type".into())).with_empty_span()),
-                    arg: FunctionArgExpr::Expr(Expr::value(number("1"))),
-                    operator: FunctionArgOperator::Colon
-                }
-            ],
-            &args[..]
-        ),
-        _ => unreachable!(),
-    }
-    let select = dialects
-        .verified_only_select("SELECT JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)");
-    match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert_eq!(
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, .. },
+                        ..
+                    }),
+                ..
+            } => assert_eq!(
                 &[
                     FunctionArg::ExprNamed {
                         name: Expr::Value(
@@ -1873,127 +1866,200 @@
                         name: Expr::Value(
                             (Value::SingleQuotedString("type".into())).with_empty_span()
                         ),
-                        arg: FunctionArgExpr::Expr(Expr::Value((Value::Null).with_empty_span())),
+                        arg: FunctionArgExpr::Expr(Expr::value(number("1"))),
                         operator: FunctionArgOperator::Colon
                     }
                 ],
                 &args[..]
-            );
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::AbsentOnNull
-                )],
-                &clauses[..]
-            );
-        }
+            ),
+            _ => unreachable!(),
+        },
+        _ => unreachable!(),
+    }
+    let select = dialects
+        .verified_only_select("SELECT JSON_OBJECT('name' : 'value', 'type' : NULL ABSENT ON NULL)");
+    match expr_from_projection(&select.projection[0]) {
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert_eq!(
+                    &[
+                        FunctionArg::ExprNamed {
+                            name: Expr::Value(
+                                (Value::SingleQuotedString("name".into())).with_empty_span()
+                            ),
+                            arg: FunctionArgExpr::Expr(Expr::Value(
+                                (Value::SingleQuotedString("value".into())).with_empty_span()
+                            )),
+                            operator: FunctionArgOperator::Colon
+                        },
+                        FunctionArg::ExprNamed {
+                            name: Expr::Value(
+                                (Value::SingleQuotedString("type".into())).with_empty_span()
+                            ),
+                            arg: FunctionArgExpr::Expr(Expr::Value(
+                                (Value::Null).with_empty_span()
+                            )),
+                            operator: FunctionArgOperator::Colon
+                        }
+                    ],
+                    &args[..]
+                );
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::AbsentOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = dialects.verified_only_select("SELECT JSON_OBJECT(NULL ON NULL)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert!(args.is_empty());
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::NullOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert!(args.is_empty());
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::NullOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = dialects.verified_only_select("SELECT JSON_OBJECT(ABSENT ON NULL)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert!(args.is_empty());
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::AbsentOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert!(args.is_empty());
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::AbsentOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = dialects.verified_only_select(
         "SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_ARRAY(1, 2) ABSENT ON NULL)",
     );
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &FunctionArg::ExprNamed {
-                    name: Expr::Value((Value::SingleQuotedString("name".into())).with_empty_span()),
-                    arg: FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString("value".into())).with_empty_span()
-                    )),
-                    operator: FunctionArgOperator::Colon
-                },
-                &args[0]
-            );
-            assert!(matches!(
-                args[1],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
                     }),
-                    arg: FunctionArgExpr::Expr(Expr::Function(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::AbsentOnNull
-                )],
-                &clauses[..]
-            );
-        }
+                ..
+            } => {
+                assert_eq!(
+                    &FunctionArg::ExprNamed {
+                        name: Expr::Value(
+                            (Value::SingleQuotedString("name".into())).with_empty_span()
+                        ),
+                        arg: FunctionArgExpr::Expr(Expr::Value(
+                            (Value::SingleQuotedString("value".into())).with_empty_span()
+                        )),
+                        operator: FunctionArgOperator::Colon
+                    },
+                    &args[0]
+                );
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::Function(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::AbsentOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = dialects.verified_only_select(
         "SELECT JSON_OBJECT('name' : 'value', 'type' : JSON_OBJECT('type_id' : 1, 'name' : 'a') NULL ON NULL)",
     );
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &FunctionArg::ExprNamed {
-                    name: Expr::Value((Value::SingleQuotedString("name".into())).with_empty_span()),
-                    arg: FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString("value".into())).with_empty_span()
-                    )),
-                    operator: FunctionArgOperator::Colon
-                },
-                &args[0]
-            );
-            assert!(matches!(
-                args[1],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
                     }),
-                    arg: FunctionArgExpr::Expr(Expr::Function(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::NullOnNull
-                )],
-                &clauses[..]
-            );
-        }
+                ..
+            } => {
+                assert_eq!(
+                    &FunctionArg::ExprNamed {
+                        name: Expr::Value(
+                            (Value::SingleQuotedString("name".into())).with_empty_span()
+                        ),
+                        arg: FunctionArgExpr::Expr(Expr::Value(
+                            (Value::SingleQuotedString("value".into())).with_empty_span()
+                        )),
+                        operator: FunctionArgOperator::Colon
+                    },
+                    &args[0]
+                );
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::Function(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::NullOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
 }
@@ -3140,10 +3206,17 @@
     let sql = "SELECT aggfns(DISTINCT a, a, c ORDER BY c USING ~<~, a) FROM t";
     let dialects = all_dialects_where(|d| d.supports_order_by_using_operator());
     let select = dialects.verified_only_select(sql);
-    let SelectItem::UnnamedExpr(Expr::Function(Function {
-        args: FunctionArguments::List(FunctionArgumentList { clauses, .. }),
+    let SelectItem::UnnamedExpr(Expr::Function(f)) = &select.projection[0] else {
+        unreachable!("expected aggregate function in projection");
+    };
+    let Function {
+        args:
+            FunctionArguments::List(Parens {
+                content: FunctionArgumentList { clauses, .. },
+                ..
+            }),
         ..
-    })) = &select.projection[0]
+    } = &**f
     else {
         unreachable!("expected aggregate function in projection");
     };
@@ -3354,20 +3427,27 @@
     let select = verified_only_select(sql);
     assert_eq!(
         Some(Expr::BinaryOp {
-            left: Box::new(Expr::Function(Function {
-                name: ObjectName::from(vec![Ident::new("COUNT")]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Wildcard)],
-                    clauses: vec![],
-                }),
-                null_treatment: None,
-                filter: None,
-                over: None,
-                within_group: vec![]
-            })),
+            left: Box::new(Expr::Function(
+                Function {
+                    name: ObjectName::from(vec![Ident::new("COUNT")]),
+                    uses_odbc_syntax: false,
+                    parameters: FunctionArguments::None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Wildcard)],
+                            clauses: vec![],
+                        }
+                        .into()
+                    ),
+                    null_treatment: None,
+                    filter: None,
+                    over: None,
+                    within_group: vec![],
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            )),
             op: BinaryOperator::Gt,
             right: Box::new(Expr::value(number("1"))),
         }),
@@ -3385,32 +3465,39 @@
     let select = verified_only_select(sql);
     assert_eq!(
         Some(Expr::BinaryOp {
-            left: Box::new(Expr::Function(Function {
-                name: ObjectName::from(vec![Ident::new("ROW_NUMBER")]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![],
-                    clauses: vec![],
-                }),
-                null_treatment: None,
-                filter: None,
-                over: Some(WindowType::WindowSpec(WindowSpec {
-                    window_name: None,
-                    partition_by: vec![Expr::Identifier(Ident::new("p"))],
-                    order_by: vec![OrderByExpr {
-                        expr: Expr::Identifier(Ident::new("o")),
-                        options: OrderByOptions {
-                            sort: None,
-                            nulls_first: None,
-                        },
-                        with_fill: None,
-                    }],
-                    window_frame: None,
-                })),
-                within_group: vec![]
-            })),
+            left: Box::new(Expr::Function(
+                Function {
+                    name: ObjectName::from(vec![Ident::new("ROW_NUMBER")]),
+                    uses_odbc_syntax: false,
+                    parameters: FunctionArguments::None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![],
+                            clauses: vec![],
+                        }
+                        .into()
+                    ),
+                    null_treatment: None,
+                    filter: None,
+                    over: Some(WindowType::WindowSpec(WindowSpec {
+                        window_name: None,
+                        partition_by: vec![Expr::Identifier(Ident::new("p"))],
+                        order_by: vec![OrderByExpr {
+                            expr: Expr::Identifier(Ident::new("o")),
+                            options: OrderByOptions {
+                                sort: None,
+                                nulls_first: None,
+                            },
+                            with_fill: None,
+                        }],
+                        window_frame: None,
+                    })),
+                    within_group: vec![],
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            )),
             op: BinaryOperator::Eq,
             right: Box::new(Expr::value(number("1"))),
         }),
@@ -3806,59 +3893,66 @@
     ));
 
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("LISTAGG")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: Some(DuplicateTreatment::Distinct),
-                args: vec![
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Identifier(Ident::new(
-                        "dateid"
-                    )))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString(", ".to_owned())).with_empty_span()
-                    )))
-                ],
-                clauses: vec![FunctionArgumentClause::OnOverflow(
-                    ListAggOnOverflow::Truncate {
-                        filler: Some(Box::new(Expr::Value(
-                            (Value::SingleQuotedString("%".to_string(),)).with_empty_span()
-                        ))),
-                        with_count: false,
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("LISTAGG")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: Some(DuplicateTreatment::Distinct),
+                        args: vec![
+                            FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Identifier(
+                                Ident::new("dateid")
+                            ))),
+                            FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                                (Value::SingleQuotedString(", ".to_owned())).with_empty_span()
+                            )))
+                        ],
+                        clauses: vec![FunctionArgumentClause::OnOverflow(
+                            ListAggOnOverflow::Truncate {
+                                filler: Some(Box::new(Expr::Value(
+                                    (Value::SingleQuotedString("%".to_string(),)).with_empty_span()
+                                ))),
+                                with_count: false,
+                            }
+                        )],
                     }
-                )],
-            }),
-            filter: None,
-            null_treatment: None,
-            over: None,
-            within_group: vec![
-                OrderByExpr {
-                    expr: Expr::Identifier(Ident {
-                        value: "id".to_string(),
-                        quote_style: None,
-                        span: Span::empty(),
-                    }),
-                    options: OrderByOptions {
-                        sort: None,
-                        nulls_first: None,
+                    .into()
+                ),
+                filter: None,
+                null_treatment: None,
+                over: None,
+                within_group: vec![
+                    OrderByExpr {
+                        expr: Expr::Identifier(Ident {
+                            value: "id".to_string(),
+                            quote_style: None,
+                            span: Span::empty(),
+                        }),
+                        options: OrderByOptions {
+                            sort: None,
+                            nulls_first: None,
+                        },
+                        with_fill: None,
                     },
-                    with_fill: None,
-                },
-                OrderByExpr {
-                    expr: Expr::Identifier(Ident {
-                        value: "username".to_string(),
-                        quote_style: None,
-                        span: Span::empty(),
-                    }),
-                    options: OrderByOptions {
-                        sort: None,
-                        nulls_first: None,
+                    OrderByExpr {
+                        expr: Expr::Identifier(Ident {
+                            value: "username".to_string(),
+                            quote_style: None,
+                            span: Span::empty(),
+                        }),
+                        options: OrderByOptions {
+                            sort: None,
+                            nulls_first: None,
+                        },
+                        with_fill: None,
                     },
-                    with_fill: None,
-                },
-            ]
-        }),
+                ],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection))
     );
 
@@ -6125,35 +6219,42 @@
     let select = dialects.verified_only_select(sql);
 
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("FUN")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![
-                    FunctionArg::Named {
-                        name: Ident::new("a"),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            (Value::SingleQuotedString("1".to_owned())).with_empty_span()
-                        )),
-                        operator: FunctionArgOperator::RightArrow
-                    },
-                    FunctionArg::Named {
-                        name: Ident::new("b"),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            (Value::SingleQuotedString("2".to_owned())).with_empty_span()
-                        )),
-                        operator: FunctionArgOperator::RightArrow
-                    },
-                ],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![]
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("FUN")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![
+                            FunctionArg::Named {
+                                name: Ident::new("a"),
+                                arg: FunctionArgExpr::Expr(Expr::Value(
+                                    (Value::SingleQuotedString("1".to_owned())).with_empty_span()
+                                )),
+                                operator: FunctionArgOperator::RightArrow
+                            },
+                            FunctionArg::Named {
+                                name: Ident::new("b"),
+                                arg: FunctionArgExpr::Expr(Expr::Value(
+                                    (Value::SingleQuotedString("2".to_owned())).with_empty_span()
+                                )),
+                                operator: FunctionArgOperator::RightArrow
+                            },
+                        ],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection))
     );
 }
@@ -6165,35 +6266,42 @@
     let select = all_dialects_where(|d| d.supports_named_fn_args_with_eq_operator())
         .verified_only_select(sql);
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("FUN")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![
-                    FunctionArg::Named {
-                        name: Ident::new("a"),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            (Value::SingleQuotedString("1".to_owned())).with_empty_span()
-                        )),
-                        operator: FunctionArgOperator::Equals
-                    },
-                    FunctionArg::Named {
-                        name: Ident::new("b"),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            (Value::SingleQuotedString("2".to_owned())).with_empty_span()
-                        )),
-                        operator: FunctionArgOperator::Equals
-                    },
-                ],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("FUN")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![
+                            FunctionArg::Named {
+                                name: Ident::new("a"),
+                                arg: FunctionArgExpr::Expr(Expr::Value(
+                                    (Value::SingleQuotedString("1".to_owned())).with_empty_span()
+                                )),
+                                operator: FunctionArgOperator::Equals
+                            },
+                            FunctionArg::Named {
+                                name: Ident::new("b"),
+                                arg: FunctionArgExpr::Expr(Expr::Value(
+                                    (Value::SingleQuotedString("2".to_owned())).with_empty_span()
+                                )),
+                                operator: FunctionArgOperator::Equals
+                            },
+                        ],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection))
     );
 
@@ -6240,39 +6348,46 @@
     assert_eq!(EXPECTED_PROJ_QTY, select.projection.len());
 
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("row_number")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: Some(WindowType::WindowSpec(WindowSpec {
-                window_name: None,
-                partition_by: vec![],
-                order_by: vec![OrderByExpr {
-                    expr: Expr::Identifier(Ident::new("dt")),
-                    options: OrderByOptions {
-                        sort: Some(OrderBySort::Desc),
-                        nulls_first: None,
-                    },
-                    with_fill: None,
-                }],
-                window_frame: None,
-            })),
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("row_number")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: Some(WindowType::WindowSpec(WindowSpec {
+                    window_name: None,
+                    partition_by: vec![],
+                    order_by: vec![OrderByExpr {
+                        expr: Expr::Identifier(Ident::new("dt")),
+                        options: OrderByOptions {
+                            sort: Some(OrderBySort::Desc),
+                            nulls_first: None,
+                        },
+                        with_fill: None,
+                    }],
+                    window_frame: None,
+                })),
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[0])
     );
 
     for i in 0..EXPECTED_PROJ_QTY {
         assert!(matches!(
             expr_from_projection(&select.projection[i]),
-            Expr::Function(Function {
+            Expr::Function(f) if matches!(&**f, Function {
                 over: Some(WindowType::WindowSpec(WindowSpec {
                     window_name: None,
                     ..
@@ -6309,13 +6424,13 @@
     for (i, win_name) in EXPECTED_WIN_NAMES.iter().enumerate() {
         assert!(matches!(
             expr_from_projection(&select.projection[i]),
-            Expr::Function(Function {
+            Expr::Function(f) if matches!(&**f, Function {
                 over: Some(WindowType::WindowSpec(WindowSpec {
                     window_name: Some(Ident { value, .. }),
                     ..
                 })),
                 ..
-            }) if value == win_name
+            } if value == win_name)
         ));
     }
 
@@ -6378,34 +6493,41 @@
         top_before_distinct: false,
         projection: vec![
             SelectItem::ExprWithAlias {
-                expr: Expr::Function(Function {
-                    name: ObjectName::from(vec![Ident {
-                        value: "MIN".to_string(),
-                        quote_style: None,
-                        span: Span::empty(),
-                    }]),
-                    uses_odbc_syntax: false,
-                    parameters: FunctionArguments::None,
-                    args: FunctionArguments::List(FunctionArgumentList {
-                        duplicate_treatment: None,
-                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                            Expr::Identifier(Ident {
-                                value: "c12".to_string(),
-                                quote_style: None,
-                                span: Span::empty(),
-                            }),
-                        ))],
-                        clauses: vec![],
-                    }),
-                    null_treatment: None,
-                    filter: None,
-                    over: Some(WindowType::NamedWindow(Ident {
-                        value: "window1".to_string(),
-                        quote_style: None,
-                        span: Span::empty(),
-                    })),
-                    within_group: vec![],
-                }),
+                expr: Expr::Function(
+                    Function {
+                        name: ObjectName::from(vec![Ident {
+                            value: "MIN".to_string(),
+                            quote_style: None,
+                            span: Span::empty(),
+                        }]),
+                        uses_odbc_syntax: false,
+                        parameters: FunctionArguments::None,
+                        args: FunctionArguments::List(
+                            FunctionArgumentList {
+                                duplicate_treatment: None,
+                                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                    Expr::Identifier(Ident {
+                                        value: "c12".to_string(),
+                                        quote_style: None,
+                                        span: Span::empty(),
+                                    }),
+                                ))],
+                                clauses: vec![],
+                            }
+                            .into(),
+                        ),
+                        null_treatment: None,
+                        filter: None,
+                        over: Some(WindowType::NamedWindow(Ident {
+                            value: "window1".to_string(),
+                            quote_style: None,
+                            span: Span::empty(),
+                        })),
+                        within_group: vec![],
+                        end_token: AttachedToken::empty(),
+                    }
+                    .into(),
+                ),
                 alias: Ident {
                     value: "min1".to_string(),
                     quote_style: None,
@@ -6413,34 +6535,41 @@
                 },
             },
             SelectItem::ExprWithAlias {
-                expr: Expr::Function(Function {
-                    name: ObjectName::from(vec![Ident {
-                        value: "MAX".to_string(),
-                        quote_style: None,
-                        span: Span::empty(),
-                    }]),
-                    uses_odbc_syntax: false,
-                    parameters: FunctionArguments::None,
-                    args: FunctionArguments::List(FunctionArgumentList {
-                        duplicate_treatment: None,
-                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                            Expr::Identifier(Ident {
-                                value: "c12".to_string(),
-                                quote_style: None,
-                                span: Span::empty(),
-                            }),
-                        ))],
-                        clauses: vec![],
-                    }),
-                    null_treatment: None,
-                    filter: None,
-                    over: Some(WindowType::NamedWindow(Ident {
-                        value: "window2".to_string(),
-                        quote_style: None,
-                        span: Span::empty(),
-                    })),
-                    within_group: vec![],
-                }),
+                expr: Expr::Function(
+                    Function {
+                        name: ObjectName::from(vec![Ident {
+                            value: "MAX".to_string(),
+                            quote_style: None,
+                            span: Span::empty(),
+                        }]),
+                        uses_odbc_syntax: false,
+                        parameters: FunctionArguments::None,
+                        args: FunctionArguments::List(
+                            FunctionArgumentList {
+                                duplicate_treatment: None,
+                                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                    Expr::Identifier(Ident {
+                                        value: "c12".to_string(),
+                                        quote_style: None,
+                                        span: Span::empty(),
+                                    }),
+                                ))],
+                                clauses: vec![],
+                            }
+                            .into(),
+                        ),
+                        null_treatment: None,
+                        filter: None,
+                        over: Some(WindowType::NamedWindow(Ident {
+                            value: "window2".to_string(),
+                            quote_style: None,
+                            span: Span::empty(),
+                        })),
+                        within_group: vec![],
+                        end_token: AttachedToken::empty(),
+                    }
+                    .into(),
+                ),
                 alias: Ident {
                     value: "max1".to_string(),
                     quote_style: None,
@@ -11478,18 +11607,22 @@
             name: ObjectName::from(vec![Ident::new(func_name)]),
             uses_odbc_syntax: false,
             parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
+            args: FunctionArguments::List(
+                FunctionArgumentList {
+                    duplicate_treatment: None,
+                    args: vec![],
+                    clauses: vec![],
+                }
+                .into(),
+            ),
             null_treatment: None,
             filter: None,
             over: None,
             within_group: vec![],
+            end_token: AttachedToken::empty(),
         };
         assert_eq!(
-            &Expr::Function(select_localtime_func_call_ast.clone()),
+            &Expr::Function(select_localtime_func_call_ast.clone().into()),
             expr_from_projection(&select.projection[0])
         );
 
@@ -11498,7 +11631,7 @@
         let mut ast_without_parens = select_localtime_func_call_ast;
         ast_without_parens.args = FunctionArguments::None;
         assert_eq!(
-            &Expr::Function(ast_without_parens),
+            &Expr::Function(ast_without_parens.into()),
             expr_from_projection(&verified_only_select(&sql_without_parens).projection[0])
         );
     }
@@ -13284,18 +13417,22 @@
             Function {
                 uses_odbc_syntax: false,
                 parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString("a".to_string())).with_empty_span()
-                    )))],
-                    clauses: vec![],
-                }),
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (Value::SingleQuotedString("a".to_string())).with_empty_span()
+                        )))],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
                 name: ObjectName::from(vec![Ident::new("my_procedure")]),
                 filter: None,
                 null_treatment: None,
                 over: None,
                 within_group: vec![],
+                end_token: AttachedToken::empty(),
             }
             .into()
         )
@@ -13775,25 +13912,32 @@
                 },
             }),
             AccessExpr::Subscript(Subscript::Index {
-                index: Expr::Function(Function {
-                    name: ObjectName::from(vec![Ident::with_span(
-                        Span::new(Location::of(1, 11), Location::of(1, 22)),
-                        "safe_offset",
-                    )]),
-                    parameters: FunctionArguments::None,
-                    args: FunctionArguments::List(FunctionArgumentList {
-                        duplicate_treatment: None,
-                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                            (number("2")).with_empty_span(),
-                        )))],
-                        clauses: vec![],
-                    }),
-                    filter: None,
-                    null_treatment: None,
-                    over: None,
-                    within_group: vec![],
-                    uses_odbc_syntax: false,
-                }),
+                index: Expr::Function(
+                    Function {
+                        name: ObjectName::from(vec![Ident::with_span(
+                            Span::new(Location::of(1, 11), Location::of(1, 22)),
+                            "safe_offset",
+                        )]),
+                        parameters: FunctionArguments::None,
+                        args: FunctionArguments::List(
+                            FunctionArgumentList {
+                                duplicate_treatment: None,
+                                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                    Expr::Value((number("2")).with_empty_span()),
+                                ))],
+                                clauses: vec![],
+                            }
+                            .into(),
+                        ),
+                        filter: None,
+                        null_treatment: None,
+                        over: None,
+                        within_group: vec![],
+                        uses_odbc_syntax: false,
+                        end_token: AttachedToken::empty(),
+                    }
+                    .into(),
+                ),
             }),
         ],
     };
@@ -14117,49 +14261,63 @@
     assert_eq!(
         testing_dialects.verified_only_select(sql).projection,
         vec![
-            SelectItem::UnnamedExpr(Expr::Function(Function {
-                name: ObjectName::from(vec![Ident::new("ARRAY_AGG")]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                        Expr::Identifier(Ident::new("name"))
-                    ))],
-                    clauses: vec![],
-                }),
-                filter: Some(Box::new(Expr::IsNotNull(Box::new(Expr::Identifier(
-                    Ident::new("name")
-                ))))),
-                over: None,
-                within_group: vec![],
-                null_treatment: None
-            })),
-            SelectItem::ExprWithAlias {
-                expr: Expr::Function(Function {
+            SelectItem::UnnamedExpr(Expr::Function(
+                Function {
                     name: ObjectName::from(vec![Ident::new("ARRAY_AGG")]),
                     uses_odbc_syntax: false,
                     parameters: FunctionArguments::None,
-                    args: FunctionArguments::List(FunctionArgumentList {
-                        duplicate_treatment: None,
-                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                            Expr::Identifier(Ident::new("name"))
-                        ))],
-                        clauses: vec![],
-                    }),
-                    filter: Some(Box::new(Expr::Like {
-                        negated: false,
-                        expr: Box::new(Expr::Identifier(Ident::new("name"))),
-                        pattern: Box::new(Expr::Value(
-                            (Value::SingleQuotedString("a%".to_owned())).with_empty_span()
-                        )),
-                        escape_char: None,
-                        any: false,
-                    })),
-                    null_treatment: None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                Expr::Identifier(Ident::new("name"))
+                            ))],
+                            clauses: vec![],
+                        }
+                        .into()
+                    ),
+                    filter: Some(Box::new(Expr::IsNotNull(Box::new(Expr::Identifier(
+                        Ident::new("name")
+                    ))))),
                     over: None,
-                    within_group: vec![]
-                }),
+                    within_group: vec![],
+                    null_treatment: None,
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            )),
+            SelectItem::ExprWithAlias {
+                expr: Expr::Function(
+                    Function {
+                        name: ObjectName::from(vec![Ident::new("ARRAY_AGG")]),
+                        uses_odbc_syntax: false,
+                        parameters: FunctionArguments::None,
+                        args: FunctionArguments::List(
+                            FunctionArgumentList {
+                                duplicate_treatment: None,
+                                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                    Expr::Identifier(Ident::new("name"))
+                                ))],
+                                clauses: vec![],
+                            }
+                            .into()
+                        ),
+                        filter: Some(Box::new(Expr::Like {
+                            negated: false,
+                            expr: Box::new(Expr::Identifier(Ident::new("name"))),
+                            pattern: Box::new(Expr::Value(
+                                (Value::SingleQuotedString("a%".to_owned())).with_empty_span()
+                            )),
+                            escape_char: None,
+                            any: false,
+                        })),
+                        null_treatment: None,
+                        over: None,
+                        within_group: vec![],
+                        end_token: AttachedToken::empty(),
+                    }
+                    .into()
+                ),
                 alias: Ident::new("agg2")
             },
         ]
@@ -14687,15 +14845,15 @@
 #[test]
 fn parse_odbc_scalar_function() {
     let select = verified_only_select("SELECT {fn my_func(1, 2)}");
-    let Expr::Function(Function {
+    let Expr::Function(f) = expr_from_projection(only(&select.projection)) else {
+        unreachable!("expected function")
+    };
+    let Function {
         name,
         uses_odbc_syntax,
         args,
         ..
-    }) = expr_from_projection(only(&select.projection))
-    else {
-        unreachable!("expected function")
-    };
+    } = &**f;
     assert_eq!(name, &ObjectName::from(vec![Ident::new("my_func")]));
     assert!(uses_odbc_syntax);
     matches!(args, FunctionArguments::List(l) if l.args.len() == 2);
@@ -16703,22 +16861,29 @@
     assert_eq!(
         verified_expr("f(a).b"),
         Expr::CompoundFieldAccess {
-            root: Box::new(Expr::Function(Function {
-                name: ObjectName::from(vec![Ident::new("f")]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                        Expr::Identifier(Ident::new("a"))
-                    ))],
-                    clauses: vec![],
-                }),
-                null_treatment: None,
-                filter: None,
-                over: None,
-                within_group: vec![]
-            })),
+            root: Box::new(Expr::Function(
+                Function {
+                    name: ObjectName::from(vec![Ident::new("f")]),
+                    uses_odbc_syntax: false,
+                    parameters: FunctionArguments::None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                Expr::Identifier(Ident::new("a"))
+                            ))],
+                            clauses: vec![],
+                        }
+                        .into()
+                    ),
+                    null_treatment: None,
+                    filter: None,
+                    over: None,
+                    within_group: vec![],
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            )),
             access_chain: vec![AccessExpr::Dot(Expr::Identifier(Ident::new("b")))]
         }
     );
@@ -16727,22 +16892,29 @@
     assert_eq!(
         verified_expr("f(a).b.c"),
         Expr::CompoundFieldAccess {
-            root: Box::new(Expr::Function(Function {
-                name: ObjectName::from(vec![Ident::new("f")]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                        Expr::Identifier(Ident::new("a"))
-                    ))],
-                    clauses: vec![],
-                }),
-                null_treatment: None,
-                filter: None,
-                over: None,
-                within_group: vec![]
-            })),
+            root: Box::new(Expr::Function(
+                Function {
+                    name: ObjectName::from(vec![Ident::new("f")]),
+                    uses_odbc_syntax: false,
+                    parameters: FunctionArguments::None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                Expr::Identifier(Ident::new("a"))
+                            ))],
+                            clauses: vec![],
+                        }
+                        .into()
+                    ),
+                    null_treatment: None,
+                    filter: None,
+                    over: None,
+                    within_group: vec![],
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            )),
             access_chain: vec![
                 AccessExpr::Dot(Expr::Identifier(Ident::new("b"))),
                 AccessExpr::Dot(Expr::Identifier(Ident::new("c"))),
@@ -16753,22 +16925,29 @@
     // Composite Access in Select and Where Clauses
     let stmt = verified_only_select("SELECT f(a).b FROM t WHERE f(a).b IS NOT NULL");
     let expr = Expr::CompoundFieldAccess {
-        root: Box::new(Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("f")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                    Expr::Identifier(Ident::new("a")),
-                ))],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        })),
+        root: Box::new(Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("f")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                            Expr::Identifier(Ident::new("a")),
+                        ))],
+                        clauses: vec![],
+                    }
+                    .into(),
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into(),
+        )),
         access_chain: vec![AccessExpr::Dot(Expr::Identifier(Ident::new("b")))],
     };
 
@@ -20533,23 +20712,26 @@
     ] {
         let select = dialects.verified_only_select(sql);
         match expr_from_projection(&select.projection[0]) {
-            Expr::Function(Function {
-                name,
-                args: FunctionArguments::List(list),
-                ..
-            }) => {
-                assert_eq!(name.to_string(), "xmlparse");
-                assert_eq!(
-                    list.args,
-                    vec![FunctionArg::Named {
-                        name: Ident::new(mode),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            Value::SingleQuotedString("<a/>".to_string()).into()
-                        )),
-                        operator: FunctionArgOperator::Space,
-                    }]
-                );
-            }
+            Expr::Function(f) => match &**f {
+                Function {
+                    name,
+                    args: FunctionArguments::List(list),
+                    ..
+                } => {
+                    assert_eq!(name.to_string(), "xmlparse");
+                    assert_eq!(
+                        list.args,
+                        vec![FunctionArg::Named {
+                            name: Ident::new(mode),
+                            arg: FunctionArgExpr::Expr(Expr::Value(
+                                Value::SingleQuotedString("<a/>".to_string()).into()
+                            )),
+                            operator: FunctionArgOperator::Space,
+                        }]
+                    );
+                }
+                _ => unreachable!(),
+            },
             expr => panic!("expected an XMLPARSE function call, got {expr:?}"),
         }
     }
diff --git a/tests/sqlparser_duckdb.rs b/tests/sqlparser_duckdb.rs
index 87a5e49..91c15fc 100644
--- a/tests/sqlparser_duckdb.rs
+++ b/tests/sqlparser_duckdb.rs
@@ -675,35 +675,42 @@
     let sql = "SELECT FUN(a := '1', b := '2') FROM foo";
     let select = duckdb_and_generic().verified_only_select(sql);
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("FUN")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![
-                    FunctionArg::Named {
-                        name: Ident::new("a"),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            (Value::SingleQuotedString("1".to_owned())).with_empty_span()
-                        )),
-                        operator: FunctionArgOperator::Assignment
-                    },
-                    FunctionArg::Named {
-                        name: Ident::new("b"),
-                        arg: FunctionArgExpr::Expr(Expr::Value(
-                            (Value::SingleQuotedString("2".to_owned())).with_empty_span()
-                        )),
-                        operator: FunctionArgOperator::Assignment
-                    },
-                ],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("FUN")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![
+                            FunctionArg::Named {
+                                name: Ident::new("a"),
+                                arg: FunctionArgExpr::Expr(Expr::Value(
+                                    (Value::SingleQuotedString("1".to_owned())).with_empty_span()
+                                )),
+                                operator: FunctionArgOperator::Assignment
+                            },
+                            FunctionArg::Named {
+                                name: Ident::new("b"),
+                                arg: FunctionArgExpr::Expr(Expr::Value(
+                                    (Value::SingleQuotedString("2".to_owned())).with_empty_span()
+                                )),
+                                operator: FunctionArgOperator::Assignment
+                            },
+                        ],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection))
     );
 }
diff --git a/tests/sqlparser_hive.rs b/tests/sqlparser_hive.rs
index b04398a..4fe9a04 100644
--- a/tests/sqlparser_hive.rs
+++ b/tests/sqlparser_hive.rs
@@ -20,6 +20,7 @@
 //! Test SQL syntax specific to Hive. The parser based on the generic dialect
 //! is also tested (on the inputs it can handle).
 
+use sqlparser::ast::helpers::attached_token::AttachedToken;
 use sqlparser::ast::{
     ClusteredBy, CommentDef, CreateFunction, CreateFunctionBody, CreateFunctionUsing, CreateTable,
     Expr, Function, FunctionArgumentList, FunctionArguments, Ident, ObjectName, OrderByExpr,
@@ -507,20 +508,27 @@
         expr_from_projection(&select.projection[0]),
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1]),
     );
     match &select.projection[2] {
diff --git a/tests/sqlparser_mssql.rs b/tests/sqlparser_mssql.rs
index 9e57568..f957157 100644
--- a/tests/sqlparser_mssql.rs
+++ b/tests/sqlparser_mssql.rs
@@ -915,20 +915,27 @@
         expr_from_projection(&select.projection[0]),
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1]),
     );
     match &select.projection[2] {
@@ -1008,47 +1015,54 @@
         "SELECT JSON_OBJECT('user_name' : USER_NAME(), LOWER(@id_key) : @id_value, 'sid' : (SELECT @@SPID) ABSENT ON NULL)",
     );
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert!(matches!(
-                args[0],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
                     }),
-                    arg: FunctionArgExpr::Expr(Expr::Function(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert!(matches!(
-                args[1],
-                FunctionArg::ExprNamed {
-                    name: Expr::Function(_),
-                    arg: FunctionArgExpr::Expr(Expr::Identifier(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert!(matches!(
-                args[2],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
-                    }),
-                    arg: FunctionArgExpr::Expr(Expr::Subquery(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::AbsentOnNull
-                )],
-                &clauses[..]
-            );
-        }
+                ..
+            } => {
+                assert!(matches!(
+                    args[0],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::Function(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Function(_),
+                        arg: FunctionArgExpr::Expr(Expr::Identifier(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert!(matches!(
+                    args[2],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::Subquery(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::AbsentOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select(
@@ -1058,47 +1072,53 @@
     );
     match &select.projection[1] {
         SelectItem::ExprWithAlias {
-            expr:
-                Expr::Function(Function {
-                    args: FunctionArguments::List(FunctionArgumentList { args, .. }),
-                    ..
-                }),
+            expr: Expr::Function(f),
             ..
-        } => {
-            assert!(matches!(
-                args[0],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
+        } => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, .. },
+                        ..
                     }),
-                    arg: FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert!(matches!(
-                args[1],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
-                    }),
-                    arg: FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-            assert!(matches!(
-                args[2],
-                FunctionArg::ExprNamed {
-                    name: Expr::Value(ValueWithSpan {
-                        value: Value::SingleQuotedString(_),
-                        span: _
-                    }),
-                    arg: FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)),
-                    operator: FunctionArgOperator::Colon
-                }
-            ));
-        }
+                ..
+            } => {
+                assert!(matches!(
+                    args[0],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+                assert!(matches!(
+                    args[2],
+                    FunctionArg::ExprNamed {
+                        name: Expr::Value(ValueWithSpan {
+                            value: Value::SingleQuotedString(_),
+                            span: _
+                        }),
+                        arg: FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)),
+                        operator: FunctionArgOperator::Colon
+                    }
+                ));
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
 }
@@ -1107,173 +1127,222 @@
 fn parse_mssql_json_array() {
     let select = ms().verified_only_select("SELECT JSON_ARRAY('a', 1, NULL, 2 NULL ON NULL)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &[
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString("a".into())).with_empty_span()
-                    ))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (number("1")).with_empty_span()
-                    ))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (Value::Null).with_empty_span()
-                    ))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (number("2")).with_empty_span()
-                    ))),
-                ],
-                &args[..]
-            );
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::NullOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert_eq!(
+                    &[
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (Value::SingleQuotedString("a".into())).with_empty_span()
+                        ))),
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (number("1")).with_empty_span()
+                        ))),
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (Value::Null).with_empty_span()
+                        ))),
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (number("2")).with_empty_span()
+                        ))),
+                    ],
+                    &args[..]
+                );
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::NullOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select("SELECT JSON_ARRAY('a', 1, NULL, 2 ABSENT ON NULL)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &[
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (Value::SingleQuotedString("a".into())).with_empty_span()
-                    ))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (number("1")).with_empty_span()
-                    ))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (Value::Null).with_empty_span()
-                    ))),
-                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        (number("2")).with_empty_span()
-                    ))),
-                ],
-                &args[..]
-            );
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::AbsentOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert_eq!(
+                    &[
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (Value::SingleQuotedString("a".into())).with_empty_span()
+                        ))),
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (number("1")).with_empty_span()
+                        ))),
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (Value::Null).with_empty_span()
+                        ))),
+                        FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            (number("2")).with_empty_span()
+                        ))),
+                    ],
+                    &args[..]
+                );
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::AbsentOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select("SELECT JSON_ARRAY(NULL ON NULL)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert!(args.is_empty());
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::NullOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert!(args.is_empty());
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::NullOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select("SELECT JSON_ARRAY(ABSENT ON NULL)");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert!(args.is_empty());
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::AbsentOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert!(args.is_empty());
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::AbsentOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select(
         "SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1) NULL ON NULL)",
     );
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                    (Value::SingleQuotedString("a".into())).with_empty_span()
-                ))),
-                &args[0]
-            );
-            assert!(matches!(
-                args[1],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Function(_)))
-            ));
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::NullOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert_eq!(
+                    &FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                        (Value::SingleQuotedString("a".into())).with_empty_span()
+                    ))),
+                    &args[0]
+                );
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Function(_)))
+                ));
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::NullOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select(
         "SELECT JSON_ARRAY('a', JSON_OBJECT('name' : 'value', 'type' : 1), JSON_ARRAY(1, NULL, 2 NULL ON NULL))",
     );
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                    (Value::SingleQuotedString("a".into())).with_empty_span()
-                ))),
-                &args[0]
-            );
-            assert!(matches!(
-                args[1],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Function(_)))
-            ));
-            assert!(matches!(
-                args[2],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Function(_)))
-            ));
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert_eq!(
+                    &FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                        (Value::SingleQuotedString("a".into())).with_empty_span()
+                    ))),
+                    &args[0]
+                );
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Function(_)))
+                ));
+                assert!(matches!(
+                    args[2],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Function(_)))
+                ));
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select("SELECT JSON_ARRAY(1, @id_value, (SELECT @@SPID))");
     match expr_from_projection(&select.projection[0]) {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, .. }),
-            ..
-        }) => {
-            assert_eq!(
-                &FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                    (number("1")).with_empty_span()
-                ))),
-                &args[0]
-            );
-            assert!(matches!(
-                args[1],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Identifier(_)))
-            ));
-            assert!(matches!(
-                args[2],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Subquery(_)))
-            ));
-        }
+        Expr::Function(f) => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert_eq!(
+                    &FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                        (number("1")).with_empty_span()
+                    ))),
+                    &args[0]
+                );
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Identifier(_)))
+                ));
+                assert!(matches!(
+                    args[2],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Subquery(_)))
+                ));
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
     let select = ms().verified_only_select(
@@ -1283,32 +1352,38 @@
     );
     match &select.projection[1] {
         SelectItem::ExprWithAlias {
-            expr:
-                Expr::Function(Function {
-                    args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
-                    ..
-                }),
+            expr: Expr::Function(f),
             ..
-        } => {
-            assert!(matches!(
-                args[0],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)))
-            ));
-            assert!(matches!(
-                args[1],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)))
-            ));
-            assert!(matches!(
-                args[2],
-                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)))
-            ));
-            assert_eq!(
-                &[FunctionArgumentClause::JsonNullClause(
-                    JsonNullClause::NullOnNull
-                )],
-                &clauses[..]
-            );
-        }
+        } => match &**f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, clauses, .. },
+                        ..
+                    }),
+                ..
+            } => {
+                assert!(matches!(
+                    args[0],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)))
+                ));
+                assert!(matches!(
+                    args[1],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)))
+                ));
+                assert!(matches!(
+                    args[2],
+                    FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::CompoundIdentifier(_)))
+                ));
+                assert_eq!(
+                    &[FunctionArgumentClause::JsonNullClause(
+                        JsonNullClause::NullOnNull
+                    )],
+                    &clauses[..]
+                );
+            }
+            _ => unreachable!(),
+        },
         _ => unreachable!(),
     }
 }
@@ -1968,13 +2043,15 @@
                                         ),
                                     ],
                                     clauses: vec![],
-                                },
+                                }
+                                .into(),
                             ),
                             filter: None,
                             null_treatment: None,
                             over: None,
                             within_group: vec![],
-                        },
+                            end_token: AttachedToken::empty(),
+                        }.into(),
                     ),
                 },
                 SqlOption::Ident("HEAP".into()),
diff --git a/tests/sqlparser_mysql.rs b/tests/sqlparser_mysql.rs
index d153a5f..162693b 100644
--- a/tests/sqlparser_mysql.rs
+++ b/tests/sqlparser_mysql.rs
@@ -952,14 +952,21 @@
         "CREATE TABLE t (textcol TEXT, INDEX idx_index (textcol(10)))",
     ] {
         match index_column(mysql_and_generic().verified_stmt(sql)) {
-            Expr::Function(Function {
-                name,
-                args: FunctionArguments::List(FunctionArgumentList { args, .. }),
-                ..
-            }) => {
-                assert_eq!(name.to_string(), "textcol");
-                assert_eq!(args, expected);
-            }
+            Expr::Function(f) => match *f {
+                Function {
+                    name,
+                    args:
+                        FunctionArguments::List(Parens {
+                            content: FunctionArgumentList { args, .. },
+                            ..
+                        }),
+                    ..
+                } => {
+                    assert_eq!(name.to_string(), "textcol");
+                    assert_eq!(args, expected);
+                }
+                _ => panic!("unexpected expression for {sql}"),
+            },
             expr => panic!("unexpected expression {expr} for {sql}"),
         }
     }
diff --git a/tests/sqlparser_postgres.rs b/tests/sqlparser_postgres.rs
index 7dd25c7..491a22b 100644
--- a/tests/sqlparser_postgres.rs
+++ b/tests/sqlparser_postgres.rs
@@ -3359,39 +3359,46 @@
 
             let expected_function_column = IndexColumn {
                 column: OrderByExpr {
-                    expr: Expr::Function(Function {
-                        name: ObjectName(vec![ObjectNamePart::Identifier(Ident {
-                            value: "concat_users_name".to_owned(),
-                            quote_style: None,
-                            span: Span::empty(),
-                        })]),
-                        uses_odbc_syntax: false,
-                        parameters: FunctionArguments::None,
-                        args: FunctionArguments::List(FunctionArgumentList {
-                            duplicate_treatment: None,
-                            args: vec![
-                                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Identifier(
-                                    Ident {
-                                        value: "first_name".to_owned(),
-                                        quote_style: None,
-                                        span: Span::empty(),
-                                    },
-                                ))),
-                                FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Identifier(
-                                    Ident {
-                                        value: "last_name".to_owned(),
-                                        quote_style: None,
-                                        span: Span::empty(),
-                                    },
-                                ))),
-                            ],
-                            clauses: vec![],
-                        }),
-                        filter: None,
-                        null_treatment: None,
-                        over: None,
-                        within_group: vec![],
-                    }),
+                    expr: Expr::Function(
+                        Function {
+                            name: ObjectName(vec![ObjectNamePart::Identifier(Ident {
+                                value: "concat_users_name".to_owned(),
+                                quote_style: None,
+                                span: Span::empty(),
+                            })]),
+                            uses_odbc_syntax: false,
+                            parameters: FunctionArguments::None,
+                            args: FunctionArguments::List(
+                                FunctionArgumentList {
+                                    duplicate_treatment: None,
+                                    args: vec![
+                                        FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                            Expr::Identifier(Ident {
+                                                value: "first_name".to_owned(),
+                                                quote_style: None,
+                                                span: Span::empty(),
+                                            }),
+                                        )),
+                                        FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                            Expr::Identifier(Ident {
+                                                value: "last_name".to_owned(),
+                                                quote_style: None,
+                                                span: Span::empty(),
+                                            }),
+                                        )),
+                                    ],
+                                    clauses: vec![],
+                                }
+                                .into(),
+                            ),
+                            filter: None,
+                            null_treatment: None,
+                            over: None,
+                            within_group: vec![],
+                            end_token: AttachedToken::empty(),
+                        }
+                        .into(),
+                    ),
                     options: OrderByOptions {
                         sort: None,
                         nulls_first: None,
@@ -3872,86 +3879,93 @@
     let sql = "SELECT ARRAY(SELECT 1 UNION SELECT 2)";
     let select = pg().verified_only_select(sql);
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("ARRAY")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::Subquery(Box::new(Query {
-                with: None,
-                body: Box::new(SetExpr::SetOperation {
-                    op: SetOperator::Union,
-                    set_quantifier: SetQuantifier::None,
-                    left: Box::new(SetExpr::Select(Box::new(Select {
-                        select_token: AttachedToken::empty(),
-                        optimizer_hints: vec![],
-                        distinct: None,
-                        select_modifiers: None,
-                        top: None,
-                        top_before_distinct: false,
-                        projection: vec![SelectItem::UnnamedExpr(Expr::Value(
-                            (number("1")).with_empty_span()
-                        ))],
-                        exclude: None,
-                        into: None,
-                        from: vec![],
-                        lateral_views: vec![],
-                        prewhere: None,
-                        selection: None,
-                        group_by: GroupByExpr::Expressions(vec![], vec![]),
-                        cluster_by: vec![],
-                        distribute_by: vec![],
-                        sort_by: vec![],
-                        having: None,
-                        named_window: vec![],
-                        qualify: None,
-                        window_before_qualify: false,
-                        value_table_mode: None,
-                        connect_by: vec![],
-                        flavor: SelectFlavor::Standard,
-                    }))),
-                    right: Box::new(SetExpr::Select(Box::new(Select {
-                        select_token: AttachedToken::empty(),
-                        optimizer_hints: vec![],
-                        distinct: None,
-                        select_modifiers: None,
-                        top: None,
-                        top_before_distinct: false,
-                        projection: vec![SelectItem::UnnamedExpr(Expr::Value(
-                            (number("2")).with_empty_span()
-                        ))],
-                        exclude: None,
-                        into: None,
-                        from: vec![],
-                        lateral_views: vec![],
-                        prewhere: None,
-                        selection: None,
-                        group_by: GroupByExpr::Expressions(vec![], vec![]),
-                        cluster_by: vec![],
-                        distribute_by: vec![],
-                        sort_by: vec![],
-                        having: None,
-                        named_window: vec![],
-                        qualify: None,
-                        window_before_qualify: false,
-                        value_table_mode: None,
-                        connect_by: vec![],
-                        flavor: SelectFlavor::Standard,
-                    }))),
-                }),
-                order_by: None,
-                limit_clause: None,
-                fetch: None,
-                locks: vec![],
-                for_clause: None,
-                settings: None,
-                format_clause: None,
-                pipe_operators: vec![],
-            })),
-            filter: None,
-            null_treatment: None,
-            over: None,
-            within_group: vec![]
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("ARRAY")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::Subquery(
+                    Box::new(Query {
+                        with: None,
+                        body: Box::new(SetExpr::SetOperation {
+                            op: SetOperator::Union,
+                            set_quantifier: SetQuantifier::None,
+                            left: Box::new(SetExpr::Select(Box::new(Select {
+                                select_token: AttachedToken::empty(),
+                                optimizer_hints: vec![],
+                                distinct: None,
+                                select_modifiers: None,
+                                top: None,
+                                top_before_distinct: false,
+                                projection: vec![SelectItem::UnnamedExpr(Expr::Value(
+                                    (number("1")).with_empty_span()
+                                ))],
+                                exclude: None,
+                                into: None,
+                                from: vec![],
+                                lateral_views: vec![],
+                                prewhere: None,
+                                selection: None,
+                                group_by: GroupByExpr::Expressions(vec![], vec![]),
+                                cluster_by: vec![],
+                                distribute_by: vec![],
+                                sort_by: vec![],
+                                having: None,
+                                named_window: vec![],
+                                qualify: None,
+                                window_before_qualify: false,
+                                value_table_mode: None,
+                                connect_by: vec![],
+                                flavor: SelectFlavor::Standard,
+                            }))),
+                            right: Box::new(SetExpr::Select(Box::new(Select {
+                                select_token: AttachedToken::empty(),
+                                optimizer_hints: vec![],
+                                distinct: None,
+                                select_modifiers: None,
+                                top: None,
+                                top_before_distinct: false,
+                                projection: vec![SelectItem::UnnamedExpr(Expr::Value(
+                                    (number("2")).with_empty_span()
+                                ))],
+                                exclude: None,
+                                into: None,
+                                from: vec![],
+                                lateral_views: vec![],
+                                prewhere: None,
+                                selection: None,
+                                group_by: GroupByExpr::Expressions(vec![], vec![]),
+                                cluster_by: vec![],
+                                distribute_by: vec![],
+                                sort_by: vec![],
+                                having: None,
+                                named_window: vec![],
+                                qualify: None,
+                                window_before_qualify: false,
+                                value_table_mode: None,
+                                connect_by: vec![],
+                                flavor: SelectFlavor::Standard,
+                            }))),
+                        }),
+                        order_by: None,
+                        limit_clause: None,
+                        fetch: None,
+                        locks: vec![],
+                        for_clause: None,
+                        settings: None,
+                        format_clause: None,
+                        pipe_operators: vec![],
+                    })
+                    .into()
+                ),
+                filter: None,
+                null_treatment: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(only(&select.projection)),
     );
 }
@@ -4223,21 +4237,28 @@
 #[test]
 fn json_object_colon_syntax() {
     match pg().verified_expr("JSON_OBJECT('name' : 'value')") {
-        Expr::Function(Function {
-            args: FunctionArguments::List(FunctionArgumentList { args, .. }),
-            ..
-        }) => {
-            assert!(
-                matches!(
-                    &args[..],
-                    &[FunctionArg::ExprNamed {
-                        operator: FunctionArgOperator::Colon,
+        Expr::Function(f) => match *f {
+            Function {
+                args:
+                    FunctionArguments::List(Parens {
+                        content: FunctionArgumentList { args, .. },
                         ..
-                    }]
-                ),
-                "Invalid function argument: {args:?}"
-            );
-        }
+                    }),
+                ..
+            } => {
+                assert!(
+                    matches!(
+                        &args[..],
+                        &[FunctionArg::ExprNamed {
+                            operator: FunctionArgOperator::Colon,
+                            ..
+                        }]
+                    ),
+                    "Invalid function argument: {args:?}"
+                );
+            }
+            _ => unreachable!(),
+        },
         other => panic!(
             "Expected: JSON_OBJECT('name' : 'value') to be parsed as a function, but got {other:?}"
         ),
@@ -4247,12 +4268,15 @@
 #[test]
 fn json_object_value_syntax() {
     match pg().verified_expr("JSON_OBJECT('name' VALUE 'value')") {
-        Expr::Function(Function { args: FunctionArguments::List(FunctionArgumentList { args, .. }), .. }) => {
-            assert!(matches!(
-                &args[..],
-                &[FunctionArg::ExprNamed { operator: FunctionArgOperator::Value, .. }]
-            ), "Invalid function argument: {args:?}");
-        }
+        Expr::Function(f) => match *f {
+            Function { args: FunctionArguments::List(Parens { content: FunctionArgumentList { args, .. }, .. }), .. } => {
+                assert!(matches!(
+                    &args[..],
+                    &[FunctionArg::ExprNamed { operator: FunctionArgOperator::Value, .. }]
+                ), "Invalid function argument: {args:?}");
+            }
+            _ => unreachable!(),
+        },
         other => panic!("Expected: JSON_OBJECT('name' VALUE 'value') to be parsed as a function, but got {other:?}"),
     }
 }
@@ -4264,16 +4288,17 @@
     assert!(
         matches!(
             expr.clone(),
-            Expr::Function(Function {
+            Expr::Function(f) if matches!(&*f, Function {
                 name: ObjectName(parts),
-                args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
+                args: FunctionArguments::List(Parens { content: FunctionArgumentList { args, clauses, .. }, .. }),
                 ..
-            }) if parts == vec![ObjectNamePart::Identifier(Ident::new("JSON_OBJECT"))]
+            } if *parts == vec![ObjectNamePart::Identifier(Ident::new("JSON_OBJECT"))]
                 && matches!(
                     &args[..],
                     &[FunctionArg::ExprNamed { operator: FunctionArgOperator::Value, .. }]
                 )
-                && clauses == vec![FunctionArgumentClause::JsonNullClause(JsonNullClause::NullOnNull)]
+                && *clauses == vec![FunctionArgumentClause::JsonNullClause(JsonNullClause::NullOnNull)]
+            )
         ),
         "Failed to parse JSON_OBJECT with expected structure, got: {expr:?}"
     );
@@ -4283,16 +4308,17 @@
     assert!(
         matches!(
             expr.clone(),
-            Expr::Function(Function {
+            Expr::Function(f) if matches!(&*f, Function {
                 name: ObjectName(parts),
-                args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
+                args: FunctionArguments::List(Parens { content: FunctionArgumentList { args, clauses, .. }, .. }),
                 ..
-            }) if parts == vec![ObjectNamePart::Identifier(Ident::new("JSON_OBJECT"))]
+            } if *parts == vec![ObjectNamePart::Identifier(Ident::new("JSON_OBJECT"))]
                 && matches!(
                     &args[..],
                     &[FunctionArg::ExprNamed { operator: FunctionArgOperator::Value, .. }]
                 )
-                && clauses == vec![FunctionArgumentClause::JsonReturningClause(JsonReturningClause { data_type: DataType::JSONB })]
+                && *clauses == vec![FunctionArgumentClause::JsonReturningClause(JsonReturningClause { data_type: DataType::JSONB })]
+            )
         ),
         "Failed to parse JSON_OBJECT with expected structure, got: {expr:?}"
     );
@@ -4302,13 +4328,14 @@
     assert!(
         matches!(
             expr.clone(),
-            Expr::Function(Function {
+            Expr::Function(f) if matches!(&*f, Function {
                 name: ObjectName(parts),
-                args: FunctionArguments::List(FunctionArgumentList { args, clauses, .. }),
+                args: FunctionArguments::List(Parens { content: FunctionArgumentList { args, clauses, .. }, .. }),
                 ..
-            }) if parts == vec![ObjectNamePart::Identifier(Ident::new("JSON_OBJECT"))]
+            } if *parts == vec![ObjectNamePart::Identifier(Ident::new("JSON_OBJECT"))]
                 && args.is_empty()
-                && clauses == vec![FunctionArgumentClause::JsonReturningClause(JsonReturningClause { data_type: DataType::JSONB })]
+                && *clauses == vec![FunctionArgumentClause::JsonReturningClause(JsonReturningClause { data_type: DataType::JSONB })]
+            )
         ),
         "Failed to parse JSON_OBJECT with expected structure, got: {expr:?}"
     );
@@ -4374,35 +4401,44 @@
     let select = pg().verified_only_select(sql);
     assert_eq!(
         &Expr::CompoundFieldAccess {
-            root: Box::new(Expr::Nested(Box::new(Expr::Function(Function {
-                name: ObjectName::from(vec![
-                    Ident::new("information_schema"),
-                    Ident::new("_pg_expandarray")
-                ]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Array(
-                        Array {
-                            elem: vec![
-                                Expr::Value(
-                                    (Value::SingleQuotedString("i".to_string())).with_empty_span()
-                                ),
-                                Expr::Value(
-                                    (Value::SingleQuotedString("i".to_string())).with_empty_span()
-                                ),
-                            ],
-                            named: true
+            root: Box::new(Expr::Nested(Box::new(Expr::Function(
+                Function {
+                    name: ObjectName::from(vec![
+                        Ident::new("information_schema"),
+                        Ident::new("_pg_expandarray")
+                    ]),
+                    uses_odbc_syntax: false,
+                    parameters: FunctionArguments::None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Array(
+                                Array {
+                                    elem: vec![
+                                        Expr::Value(
+                                            (Value::SingleQuotedString("i".to_string()))
+                                                .with_empty_span()
+                                        ),
+                                        Expr::Value(
+                                            (Value::SingleQuotedString("i".to_string()))
+                                                .with_empty_span()
+                                        ),
+                                    ],
+                                    named: true
+                                }
+                            )))],
+                            clauses: vec![],
                         }
-                    )))],
-                    clauses: vec![],
-                }),
-                null_treatment: None,
-                filter: None,
-                over: None,
-                within_group: vec![],
-            })))),
+                        .into()
+                    ),
+                    null_treatment: None,
+                    filter: None,
+                    over: None,
+                    within_group: vec![],
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            )))),
             access_chain: vec![AccessExpr::Dot(Expr::Identifier(Ident::new("n")))],
         },
         expr_from_projection(&select.projection[0])
@@ -4612,55 +4648,71 @@
     let sql = "SELECT CURRENT_CATALOG, CURRENT_USER, SESSION_USER, USER";
     let select = pg_and_generic().verified_only_select(sql);
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("CURRENT_CATALOG")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::None,
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("CURRENT_CATALOG")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::None,
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[0])
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("CURRENT_USER")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::None,
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("CURRENT_USER")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::None,
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1])
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("SESSION_USER")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::None,
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("SESSION_USER")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::None,
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[2])
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::new("USER")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::None,
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::new("USER")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::None,
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[3])
     );
 }
@@ -5194,20 +5246,27 @@
         expr_from_projection(&select.projection[0]),
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1]),
     );
     match &select.projection[2] {
@@ -6398,13 +6457,16 @@
                 Expr::Function(f) => {
                     assert_eq!("RANGE", f.name.to_string());
                     assert_eq!(
-                        FunctionArguments::List(FunctionArgumentList {
-                            duplicate_treatment: None,
-                            clauses: vec![],
-                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                                Expr::Identifier(Ident::new("a"))
-                            ))],
-                        }),
+                        FunctionArguments::List(
+                            FunctionArgumentList {
+                                duplicate_treatment: None,
+                                clauses: vec![],
+                                args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                    Expr::Identifier(Ident::new("a"))
+                                ))],
+                            }
+                            .into()
+                        ),
                         f.args
                     );
                 }
diff --git a/tests/sqlparser_redshift.rs b/tests/sqlparser_redshift.rs
index 9e1c8f8..448d281 100644
--- a/tests/sqlparser_redshift.rs
+++ b/tests/sqlparser_redshift.rs
@@ -21,6 +21,7 @@
 use sqlparser::tokenizer::Span;
 use test_utils::*;
 
+use sqlparser::ast::helpers::attached_token::AttachedToken;
 use sqlparser::ast::*;
 use sqlparser::dialect::GenericDialect;
 use sqlparser::dialect::RedshiftSqlDialect;
@@ -135,20 +136,27 @@
         expr_from_projection(&select.projection[0]),
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            null_treatment: None,
-            filter: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                null_treatment: None,
+                filter: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1]),
     );
     match &select.projection[2] {
diff --git a/tests/sqlparser_snowflake.rs b/tests/sqlparser_snowflake.rs
index 17711a8..6e4011e 100644
--- a/tests/sqlparser_snowflake.rs
+++ b/tests/sqlparser_snowflake.rs
@@ -19,6 +19,7 @@
 //! Test SQL syntax specific to Snowflake. The parser based on the
 //! generic dialect is also tested (on the inputs it can handle).
 
+use sqlparser::ast::helpers::attached_token::AttachedToken;
 use sqlparser::ast::helpers::key_value_options::{KeyValueOption, KeyValueOptionKind};
 use sqlparser::ast::helpers::stmt_data_loading::{StageLoadSelectItem, StageLoadSelectItemKind};
 use sqlparser::ast::*;
@@ -622,22 +623,29 @@
                 Some(WrappedCollection::Parentheses(vec![
                     Expr::Identifier(Ident::new("a")),
                     Expr::Identifier(Ident::new("b")),
-                    Expr::Function(Function {
-                        name: ObjectName::from(vec![Ident::new("my_func")]),
-                        uses_odbc_syntax: false,
-                        parameters: FunctionArguments::None,
-                        args: FunctionArguments::List(FunctionArgumentList {
-                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                                Expr::Identifier(Ident::new("c"))
-                            ))],
-                            duplicate_treatment: None,
-                            clauses: vec![],
-                        }),
-                        filter: None,
-                        null_treatment: None,
-                        over: None,
-                        within_group: vec![],
-                    }),
+                    Expr::Function(
+                        Function {
+                            name: ObjectName::from(vec![Ident::new("my_func")]),
+                            uses_odbc_syntax: false,
+                            parameters: FunctionArguments::None,
+                            args: FunctionArguments::List(
+                                FunctionArgumentList {
+                                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                        Expr::Identifier(Ident::new("c"))
+                                    ))],
+                                    duplicate_treatment: None,
+                                    clauses: vec![],
+                                }
+                                .into()
+                            ),
+                            filter: None,
+                            null_treatment: None,
+                            over: None,
+                            within_group: vec![],
+                            end_token: AttachedToken::empty(),
+                        }
+                        .into()
+                    ),
                 ])),
                 cluster_by
             )
@@ -1554,20 +1562,27 @@
         expr_from_projection(&select.projection[0]),
     );
     assert_eq!(
-        &Expr::Function(Function {
-            name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
-            uses_odbc_syntax: false,
-            parameters: FunctionArguments::None,
-            args: FunctionArguments::List(FunctionArgumentList {
-                duplicate_treatment: None,
-                args: vec![],
-                clauses: vec![],
-            }),
-            filter: None,
-            null_treatment: None,
-            over: None,
-            within_group: vec![],
-        }),
+        &Expr::Function(
+            Function {
+                name: ObjectName::from(vec![Ident::with_quote('"', "myfun")]),
+                uses_odbc_syntax: false,
+                parameters: FunctionArguments::None,
+                args: FunctionArguments::List(
+                    FunctionArgumentList {
+                        duplicate_treatment: None,
+                        args: vec![],
+                        clauses: vec![],
+                    }
+                    .into()
+                ),
+                filter: None,
+                null_treatment: None,
+                over: None,
+                within_group: vec![],
+                end_token: AttachedToken::empty(),
+            }
+            .into()
+        ),
         expr_from_projection(&select.projection[1]),
     );
     match &select.projection[2] {
@@ -1772,22 +1787,29 @@
                 [
                     Expr::Identifier(Ident::new("c1")),
                     Expr::Identifier(Ident::with_quote('"', "c2")),
-                    Expr::Function(Function {
-                        name: ObjectName::from(vec![Ident::new("TO_DATE")]),
-                        uses_odbc_syntax: false,
-                        parameters: FunctionArguments::None,
-                        args: FunctionArguments::List(FunctionArgumentList {
-                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                                Expr::Identifier(Ident::new("c3"))
-                            ))],
-                            duplicate_treatment: None,
-                            clauses: vec![],
-                        }),
-                        filter: None,
-                        null_treatment: None,
-                        over: None,
-                        within_group: vec![]
-                    })
+                    Expr::Function(
+                        Function {
+                            name: ObjectName::from(vec![Ident::new("TO_DATE")]),
+                            uses_odbc_syntax: false,
+                            parameters: FunctionArguments::None,
+                            args: FunctionArguments::List(
+                                FunctionArgumentList {
+                                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                        Expr::Identifier(Ident::new("c3"))
+                                    ))],
+                                    duplicate_treatment: None,
+                                    clauses: vec![],
+                                }
+                                .into()
+                            ),
+                            filter: None,
+                            null_treatment: None,
+                            over: None,
+                            within_group: vec![],
+                            end_token: AttachedToken::empty(),
+                        }
+                        .into()
+                    )
                 ],
             );
         }
@@ -4994,17 +5016,21 @@
         .verified_only_select("SELECT identifier('email') FROM customers")
         .projection[0]
     {
-        SelectItem::UnnamedExpr(Expr::Function(Function { name, args, .. })) => {
+        SelectItem::UnnamedExpr(Expr::Function(f)) => {
+            let Function { name, args, .. } = &**f;
             assert_eq!(*name, ObjectName::from(vec![Ident::new("identifier")]));
             assert_eq!(
                 *args,
-                FunctionArguments::List(FunctionArgumentList {
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        Value::SingleQuotedString("email".to_string()).into()
-                    )))],
-                    clauses: vec![],
-                    duplicate_treatment: None
-                })
+                FunctionArguments::List(
+                    FunctionArgumentList {
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            Value::SingleQuotedString("email".to_string()).into()
+                        )))],
+                        clauses: vec![],
+                        duplicate_treatment: None
+                    }
+                    .into()
+                )
             );
         }
         _ => unreachable!(),
@@ -5015,17 +5041,21 @@
         .verified_only_select(r#"SELECT identifier('"Email"') FROM customers"#)
         .projection[0]
     {
-        SelectItem::UnnamedExpr(Expr::Function(Function { name, args, .. })) => {
+        SelectItem::UnnamedExpr(Expr::Function(f)) => {
+            let Function { name, args, .. } = &**f;
             assert_eq!(*name, ObjectName::from(vec![Ident::new("identifier")]));
             assert_eq!(
                 *args,
-                FunctionArguments::List(FunctionArgumentList {
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        Value::SingleQuotedString("\"Email\"".to_string()).into()
-                    )))],
-                    clauses: vec![],
-                    duplicate_treatment: None
-                })
+                FunctionArguments::List(
+                    FunctionArgumentList {
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            Value::SingleQuotedString("\"Email\"".to_string()).into()
+                        )))],
+                        clauses: vec![],
+                        duplicate_treatment: None
+                    }
+                    .into()
+                )
             );
         }
         _ => unreachable!(),
@@ -5037,19 +5067,23 @@
         .projection[0]
     {
         SelectItem::QualifiedWildcard(
-            SelectItemQualifiedWildcardKind::Expr(Expr::Function(Function { name, args, .. })),
+            SelectItemQualifiedWildcardKind::Expr(Expr::Function(f)),
             _,
         ) => {
+            let Function { name, args, .. } = &**f;
             assert_eq!(*name, ObjectName::from(vec![Ident::new("identifier")]));
             assert_eq!(
                 *args,
-                FunctionArguments::List(FunctionArgumentList {
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
-                        Value::SingleQuotedString("alias1".to_string()).into()
-                    )))],
-                    clauses: vec![],
-                    duplicate_treatment: None
-                })
+                FunctionArguments::List(
+                    FunctionArgumentList {
+                        args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(Expr::Value(
+                            Value::SingleQuotedString("alias1".to_string()).into()
+                        )))],
+                        clauses: vec![],
+                        duplicate_treatment: None
+                    }
+                    .into()
+                )
             );
         }
         _ => unreachable!(),
@@ -5326,8 +5360,10 @@
         .parse_sql_statements("CREATE TABLE t (o OBJECT(city VARCHAR)")
         .is_err());
 
-    let Statement::CreateTable(CreateTable { columns, .. }) =
-        snowflake_and_generic().verified_stmt("CREATE TABLE t (o OBJECT)")
+    let Statement::CreateTable(SpannedObject {
+        content: CreateTable { columns, .. },
+        ..
+    }) = snowflake_and_generic().verified_stmt("CREATE TABLE t (o OBJECT)")
     else {
         unreachable!();
     };
diff --git a/tests/sqlparser_sqlite.rs b/tests/sqlparser_sqlite.rs
index 43acc7f..5ba39eb 100644
--- a/tests/sqlparser_sqlite.rs
+++ b/tests/sqlparser_sqlite.rs
@@ -25,6 +25,7 @@
 use sqlparser::keywords::Keyword;
 use test_utils::*;
 
+use sqlparser::ast::helpers::attached_token::AttachedToken;
 use sqlparser::ast::SelectItem::UnnamedExpr;
 use sqlparser::ast::Value::Placeholder;
 use sqlparser::ast::*;
@@ -480,27 +481,34 @@
         assert_eq!(select.to_string(), sql);
         assert_eq!(
             select.projection,
-            vec![SelectItem::UnnamedExpr(Expr::Function(Function {
-                name: ObjectName::from(vec![Ident::new(func_name)]),
-                uses_odbc_syntax: false,
-                parameters: FunctionArguments::None,
-                args: FunctionArguments::List(FunctionArgumentList {
-                    duplicate_treatment: None,
-                    args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
-                        Expr::Identifier(Ident::new("x"))
-                    ))],
-                    clauses: vec![],
-                }),
-                null_treatment: None,
-                over: Some(WindowType::WindowSpec(WindowSpec {
-                    window_name: None,
-                    partition_by: vec![],
-                    order_by: vec![],
-                    window_frame: None,
-                })),
-                filter: Some(Box::new(Expr::Identifier(Ident::new("y")))),
-                within_group: vec![],
-            }))]
+            vec![SelectItem::UnnamedExpr(Expr::Function(
+                Function {
+                    name: ObjectName::from(vec![Ident::new(func_name)]),
+                    uses_odbc_syntax: false,
+                    parameters: FunctionArguments::None,
+                    args: FunctionArguments::List(
+                        FunctionArgumentList {
+                            duplicate_treatment: None,
+                            args: vec![FunctionArg::Unnamed(FunctionArgExpr::Expr(
+                                Expr::Identifier(Ident::new("x"))
+                            ))],
+                            clauses: vec![],
+                        }
+                        .into()
+                    ),
+                    null_treatment: None,
+                    over: Some(WindowType::WindowSpec(WindowSpec {
+                        window_name: None,
+                        partition_by: vec![],
+                        order_by: vec![],
+                        window_frame: None,
+                    })),
+                    filter: Some(Box::new(Expr::Identifier(Ident::new("y")))),
+                    within_group: vec![],
+                    end_token: AttachedToken::empty(),
+                }
+                .into()
+            ))]
         );
     }
 }