@@ -307,6 +307,17 @@ public void setOracleMultiInsertBranches(
307307 @ SuppressWarnings ({"PMD.CyclomaticComplexity" , "PMD.NPathComplexity" })
308308 public String toString () {
309309 StringBuilder sql = new StringBuilder ();
310+ appendWithItems (sql );
311+ appendInsertPrefix (sql );
312+ if (appendOracleMultiInsert (sql )) {
313+ return sql .toString ();
314+ }
315+ appendInsertTargetAndValues (sql );
316+ appendInsertActions (sql );
317+ return sql .toString ();
318+ }
319+
320+ private void appendWithItems (StringBuilder sql ) {
310321 if (withItemsList != null && !withItemsList .isEmpty ()) {
311322 sql .append ("WITH " );
312323 for (Iterator <WithItem <?>> iter = withItemsList .iterator (); iter .hasNext ();) {
@@ -318,6 +329,9 @@ public String toString() {
318329 sql .append (" " );
319330 }
320331 }
332+ }
333+
334+ private void appendInsertPrefix (StringBuilder sql ) {
321335 sql .append ("INSERT " );
322336 if (oracleHint != null ) {
323337 sql .append (oracleHint ).append (" " );
@@ -328,18 +342,26 @@ public String toString() {
328342 if (modifierIgnore ) {
329343 sql .append ("IGNORE " );
330344 }
331- if (oracleMultiInsert ) {
332- sql .append (oracleMultiInsertFirst ? "FIRST" : "ALL" );
333- if (oracleMultiInsertBranches != null && !oracleMultiInsertBranches .isEmpty ()) {
334- for (OracleMultiInsertBranch branch : oracleMultiInsertBranches ) {
335- appendOracleMultiInsertBranch (sql , branch );
336- }
337- }
338- if (select != null ) {
339- sql .append (" " ).append (select );
345+ }
346+
347+ private boolean appendOracleMultiInsert (StringBuilder sql ) {
348+ if (!oracleMultiInsert ) {
349+ return false ;
350+ }
351+
352+ sql .append (oracleMultiInsertFirst ? "FIRST" : "ALL" );
353+ if (oracleMultiInsertBranches != null && !oracleMultiInsertBranches .isEmpty ()) {
354+ for (OracleMultiInsertBranch branch : oracleMultiInsertBranches ) {
355+ appendOracleMultiInsertBranch (sql , branch );
340356 }
341- return sql .toString ();
342357 }
358+ if (select != null ) {
359+ sql .append (" " ).append (select );
360+ }
361+ return true ;
362+ }
363+
364+ private void appendInsertTargetAndValues (StringBuilder sql ) {
343365 if (overwrite ) {
344366 sql .append ("OVERWRITE " );
345367 } else {
@@ -383,10 +405,12 @@ public String toString() {
383405 if (select != null ) {
384406 sql .append (select );
385407 }
408+ }
386409
410+ private void appendInsertActions (StringBuilder sql ) {
387411 if (setUpdateSets != null && !setUpdateSets .isEmpty ()) {
388412 sql .append ("SET " );
389- sql = UpdateSet .appendUpdateSetsTo (sql , setUpdateSets );
413+ UpdateSet .appendUpdateSetsTo (sql , setUpdateSets );
390414 if (rowAlias != null ) {
391415 sql .append (" " ).append (rowAlias );
392416 }
@@ -409,8 +433,6 @@ public String toString() {
409433 if (returningClause != null ) {
410434 returningClause .appendTo (sql );
411435 }
412-
413- return sql .toString ();
414436 }
415437
416438 public Insert withWithItemsList (List <WithItem <?>> withList ) {
0 commit comments