@@ -79,34 +79,17 @@ public String perform() {
7979 }
8080
8181 lcToken = token .toLowerCase ( Locale .ROOT );
82- StringBuilder sb = new StringBuilder ();
8382 switch ( lcToken ) {
8483 case "'" :
8584 case "`" :
8685 case "\" " :
87- String t ;
88- sb .append ( this .token );
89- do {
90- t = tokens .nextToken ();
91- sb .append ( t );
92- }
93- while ( !lcToken .equals ( t ) && tokens .hasMoreTokens () );
94- this .token = sb .toString ();
95- lcToken = token ;
86+ appendUntilToken (lcToken );
9687 misc ();
9788 break ;
9889 // SQL Server uses "[" and "]" to escape reserved words
9990 // see SQLServerDialect.openQuote and SQLServerDialect.closeQuote
10091 case "[" :
101- String tt ;
102- sb .append ( this .token );
103- do {
104- tt = tokens .nextToken ();
105- sb .append ( tt );
106- }
107- while ( !"]" .equals ( tt ) && tokens .hasMoreTokens () );
108- this .token = sb .toString ();
109- lcToken = token ;
92+ appendUntilToken ("]" );
11093 misc ();
11194 break ;
11295
@@ -394,8 +377,8 @@ private void endNewClause() {
394377 newline ();
395378 afterBeginBeforeEnd = false ;
396379 afterByOrSetOrFromOrSelect = "by" .equals ( lcToken )
397- || "set" .equals ( lcToken )
398- || "from" .equals ( lcToken );
380+ || "set" .equals ( lcToken )
381+ || "from" .equals ( lcToken );
399382 }
400383
401384 private void beginNewClause () {
@@ -514,6 +497,19 @@ private void newline() {
514497 .append ( INDENT_STRING .repeat ( indent ) );
515498 beginLine = true ;
516499 }
500+
501+ private void appendUntilToken (String stopToken ) {
502+ StringBuilder sb = new StringBuilder ();
503+ String t ;
504+ sb .append ( this .token );
505+ do {
506+ t = tokens .nextToken ();
507+ sb .append ( t );
508+ }
509+ while ( !stopToken .equals ( t ) && tokens .hasMoreTokens () );
510+ this .token = sb .toString ();
511+ lcToken = token ;
512+ }
517513 }
518514
519515}
0 commit comments