@@ -29,6 +29,8 @@ use serde::{Deserialize, Serialize};
2929#[ cfg( feature = "visitor" ) ]
3030use sqlparser_derive:: { Visit , VisitMut } ;
3131
32+ use crate :: display_utils:: { indented_list, Indent , SpaceOrNewline } ;
33+
3234pub use super :: ddl:: { ColumnDef , TableConstraint } ;
3335
3436use super :: {
@@ -649,32 +651,45 @@ pub struct Delete {
649651
650652impl Display for Delete {
651653 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
652- write ! ( f , "DELETE " ) ?;
654+ f . write_str ( "DELETE" ) ?;
653655 if !self . tables . is_empty ( ) {
654- write ! ( f, "{} " , display_comma_separated ( & self . tables) ) ?;
656+ indented_list ( f, & self . tables ) ?;
655657 }
656658 match & self . from {
657659 FromTable :: WithFromKeyword ( from) => {
658- write ! ( f, "FROM {}" , display_comma_separated( from) ) ?;
660+ f. write_str ( " FROM" ) ?;
661+ indented_list ( f, from) ?;
659662 }
660663 FromTable :: WithoutKeyword ( from) => {
661- write ! ( f, "{}" , display_comma_separated ( from) ) ?;
664+ indented_list ( f, from) ?;
662665 }
663666 }
664667 if let Some ( using) = & self . using {
665- write ! ( f, " USING {}" , display_comma_separated( using) ) ?;
668+ SpaceOrNewline . fmt ( f) ?;
669+ f. write_str ( "USING" ) ?;
670+ indented_list ( f, using) ?;
666671 }
667672 if let Some ( selection) = & self . selection {
668- write ! ( f, " WHERE {selection}" ) ?;
673+ SpaceOrNewline . fmt ( f) ?;
674+ f. write_str ( "WHERE" ) ?;
675+ SpaceOrNewline . fmt ( f) ?;
676+ Indent ( selection) . fmt ( f) ?;
669677 }
670678 if let Some ( returning) = & self . returning {
671- write ! ( f, " RETURNING {}" , display_comma_separated( returning) ) ?;
679+ SpaceOrNewline . fmt ( f) ?;
680+ f. write_str ( "RETURNING" ) ?;
681+ indented_list ( f, returning) ?;
672682 }
673683 if !self . order_by . is_empty ( ) {
674- write ! ( f, " ORDER BY {}" , display_comma_separated( & self . order_by) ) ?;
684+ SpaceOrNewline . fmt ( f) ?;
685+ f. write_str ( "ORDER BY" ) ?;
686+ indented_list ( f, & self . order_by ) ?;
675687 }
676688 if let Some ( limit) = & self . limit {
677- write ! ( f, " LIMIT {limit}" ) ?;
689+ SpaceOrNewline . fmt ( f) ?;
690+ f. write_str ( "LIMIT" ) ?;
691+ SpaceOrNewline . fmt ( f) ?;
692+ Indent ( limit) . fmt ( f) ?;
678693 }
679694 Ok ( ( ) )
680695 }
0 commit comments