@@ -39,15 +39,15 @@ use super::{
3939 IfStatement , IlikeSelectItem , IndexColumn , Insert , Interpolate , InterpolateExpr , Join ,
4040 JoinConstraint , JoinOperator , JsonPath , JsonPathElem , LateralView , LimitClause ,
4141 MatchRecognizePattern , Measure , Merge , MergeAction , MergeClause , MergeInsertExpr ,
42- MergeInsertKind , MergeUpdateExpr , NamedParenthesizedList , NamedWindowDefinition , ObjectName ,
43- ObjectNamePart , Offset , OnConflict , OnConflictAction , OnInsert , OpenStatement , OrderBy ,
44- OrderByExpr , OrderByKind , OutputClause , Parens , Partition , PartitionBoundValue ,
45- PivotValueSource , ProjectionSelect , Query , RaiseStatement , RaiseStatementValue ,
46- ReferentialAction , RenameSelectItem , ReplaceSelectElement , ReplaceSelectItem , Select ,
47- SelectInto , SelectItem , SetExpr , SqlOption , Statement , Subscript , SymbolDefinition , TableAlias ,
48- TableAliasColumnDef , TableConstraint , TableFactor , TableObject , TableOptionsClustered ,
49- TableWithJoins , Update , UpdateTableFromKind , Use , Values , ViewColumnDef , WhileStatement ,
50- WildcardAdditionalOptions , With , WithFill ,
42+ MergeInsertKind , MergeUpdateExpr , MergeUpdateKind , NamedParenthesizedList ,
43+ NamedWindowDefinition , ObjectName , ObjectNamePart , Offset , OnConflict , OnConflictAction ,
44+ OnInsert , OpenStatement , OrderBy , OrderByExpr , OrderByKind , OutputClause , Parens , Partition ,
45+ PartitionBoundValue , PivotValueSource , ProjectionSelect , Query , RaiseStatement ,
46+ RaiseStatementValue , ReferentialAction , RenameSelectItem , ReplaceSelectElement ,
47+ ReplaceSelectItem , Select , SelectInto , SelectItem , SetExpr , SqlOption , Statement , Subscript ,
48+ SymbolDefinition , TableAlias , TableAliasColumnDef , TableConstraint , TableFactor , TableObject ,
49+ TableOptionsClustered , TableWithJoins , Update , UpdateTableFromKind , Use , Values , ViewColumnDef ,
50+ WhileStatement , WildcardAdditionalOptions , With , WithFill ,
5151} ;
5252
5353/// Given an iterator of spans, return the [Span::union] of all spans.
@@ -2534,7 +2534,7 @@ impl Spanned for MergeInsertExpr {
25342534 self . kind_token . 0 . span ,
25352535 match self . kind {
25362536 MergeInsertKind :: Values ( ref values) => values. span ( ) ,
2537- MergeInsertKind :: Row => Span :: empty ( ) , // ~ covered by `kind_token`
2537+ MergeInsertKind :: Row | MergeInsertKind :: Wildcard => Span :: empty ( ) ,
25382538 } ,
25392539 ]
25402540 . into_iter ( )
@@ -2546,9 +2546,13 @@ impl Spanned for MergeInsertExpr {
25462546
25472547impl Spanned for MergeUpdateExpr {
25482548 fn span ( & self ) -> Span {
2549+ let kind_span = match & self . kind {
2550+ MergeUpdateKind :: Set ( assignments) => union_spans ( assignments. iter ( ) . map ( Spanned :: span) ) ,
2551+ MergeUpdateKind :: Wildcard => Span :: empty ( ) ,
2552+ } ;
25492553 union_spans (
25502554 core:: iter:: once ( self . update_token . 0 . span )
2551- . chain ( self . assignments . iter ( ) . map ( Spanned :: span ) )
2555+ . chain ( core :: iter:: once ( kind_span ) )
25522556 . chain ( self . update_predicate . iter ( ) . map ( Spanned :: span) )
25532557 . chain ( self . delete_predicate . iter ( ) . map ( Spanned :: span) ) ,
25542558 )
@@ -2930,7 +2934,7 @@ WHERE id = 1
29302934 ) ;
29312935 if let MergeAction :: Update ( MergeUpdateExpr {
29322936 update_token,
2933- assignments : _,
2937+ kind : _,
29342938 update_predicate : _,
29352939 delete_predicate : _,
29362940 } ) = & clauses[ 1 ] . action
0 commit comments