@@ -289,7 +289,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
289289
290290 // Start PL/SQL block
291291 plsqlBuilder .WriteString ("DECLARE\n " )
292- writeTableRecordCollectionDecl (& plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
292+ writeTableRecordCollectionDecl (db , & plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
293293 plsqlBuilder .WriteString (" l_affected_records t_records;\n " )
294294
295295 // Create array types and variables for each column
@@ -323,7 +323,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
323323 // FORALL with MERGE and RETURNING BULK COLLECT INTO
324324 plsqlBuilder .WriteString (fmt .Sprintf (" FORALL i IN 1..%d\n " , len (createValues .Values )))
325325 plsqlBuilder .WriteString (" MERGE INTO " )
326- writeQuotedIdentifier (& plsqlBuilder , stmt .Table )
326+ db . QuoteTo (& plsqlBuilder , stmt .Table )
327327 plsqlBuilder .WriteString (" t\n " )
328328 // Build USING clause
329329 plsqlBuilder .WriteString (" USING (SELECT " )
@@ -332,7 +332,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
332332 plsqlBuilder .WriteString (", " )
333333 }
334334 plsqlBuilder .WriteString (fmt .Sprintf ("l_col_%d_array(i) AS " , idx ))
335- writeQuotedIdentifier (& plsqlBuilder , column .Name )
335+ db . QuoteTo (& plsqlBuilder , column .Name )
336336 }
337337 plsqlBuilder .WriteString (" FROM DUAL) s\n " )
338338
@@ -344,9 +344,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
344344 plsqlBuilder .WriteString (" AND " )
345345 }
346346 plsqlBuilder .WriteString ("t." )
347- writeQuotedIdentifier (& plsqlBuilder , conflictCol .Name )
347+ db . QuoteTo (& plsqlBuilder , conflictCol .Name )
348348 plsqlBuilder .WriteString (" = s." )
349- writeQuotedIdentifier (& plsqlBuilder , conflictCol .Name )
349+ db . QuoteTo (& plsqlBuilder , conflictCol .Name )
350350 }
351351 plsqlBuilder .WriteString (")\n " )
352352
@@ -371,9 +371,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
371371 plsqlBuilder .WriteString (", " )
372372 }
373373 plsqlBuilder .WriteString ("t." )
374- writeQuotedIdentifier (& plsqlBuilder , column .Name )
374+ db . QuoteTo (& plsqlBuilder , column .Name )
375375 plsqlBuilder .WriteString (" = s." )
376- writeQuotedIdentifier (& plsqlBuilder , column .Name )
376+ db . QuoteTo (& plsqlBuilder , column .Name )
377377 updateCount ++
378378 }
379379 }
@@ -405,9 +405,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
405405 plsqlBuilder .WriteString (", " )
406406 }
407407 plsqlBuilder .WriteString ("t." )
408- writeQuotedIdentifier (& plsqlBuilder , column .Name )
408+ db . QuoteTo (& plsqlBuilder , column .Name )
409409 plsqlBuilder .WriteString (" = s." )
410- writeQuotedIdentifier (& plsqlBuilder , column .Name )
410+ db . QuoteTo (& plsqlBuilder , column .Name )
411411 updateCount ++
412412 }
413413 }
@@ -427,9 +427,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
427427 }
428428 }
429429 plsqlBuilder .WriteString (" WHEN MATCHED THEN UPDATE SET t." )
430- writeQuotedIdentifier (& plsqlBuilder , noopCol )
431- plsqlBuilder .WriteString (" = s ." )
432- writeQuotedIdentifier (& plsqlBuilder , noopCol )
430+ db . QuoteTo (& plsqlBuilder , noopCol )
431+ plsqlBuilder .WriteString (" = t ." )
432+ db . QuoteTo (& plsqlBuilder , noopCol )
433433 plsqlBuilder .WriteString ("\n " )
434434 }
435435
@@ -444,7 +444,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
444444 if insertCount > 0 {
445445 plsqlBuilder .WriteString (", " )
446446 }
447- writeQuotedIdentifier (& plsqlBuilder , column .Name )
447+ db . QuoteTo (& plsqlBuilder , column .Name )
448448 insertCount ++
449449 }
450450 }
@@ -459,7 +459,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
459459 plsqlBuilder .WriteString (", " )
460460 }
461461 plsqlBuilder .WriteString ("s." )
462- writeQuotedIdentifier (& plsqlBuilder , column .Name )
462+ db . QuoteTo (& plsqlBuilder , column .Name )
463463 insertCount ++
464464 }
465465 }
@@ -475,7 +475,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
475475 if insertCount > 0 {
476476 plsqlBuilder .WriteString (", " )
477477 }
478- writeQuotedIdentifier (& plsqlBuilder , column .Name )
478+ db . QuoteTo (& plsqlBuilder , column .Name )
479479 insertCount ++
480480 }
481481 }
@@ -489,7 +489,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
489489 plsqlBuilder .WriteString (", " )
490490 }
491491 plsqlBuilder .WriteString ("s." )
492- writeQuotedIdentifier (& plsqlBuilder , column .Name )
492+ db . QuoteTo (& plsqlBuilder , column .Name )
493493 insertCount ++
494494 }
495495 }
@@ -503,7 +503,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
503503 if i > 0 {
504504 plsqlBuilder .WriteString (", " )
505505 }
506- writeQuotedIdentifier (& plsqlBuilder , column )
506+ db . QuoteTo (& plsqlBuilder , column )
507507 }
508508 plsqlBuilder .WriteString ("\n BULK COLLECT INTO l_affected_records;\n " )
509509
@@ -514,7 +514,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
514514 if field := findFieldByDBName (schema , column ); field != nil {
515515 stmt .Vars = append (stmt .Vars , sql.Out {Dest : createTypedDestination (field )})
516516 plsqlBuilder .WriteString (fmt .Sprintf (" IF l_affected_records.COUNT > %d THEN :%d := l_affected_records(%d)." , rowIdx , outParamIndex + 1 , rowIdx + 1 ))
517- writeQuotedIdentifier (& plsqlBuilder , column )
517+ db . QuoteTo (& plsqlBuilder , column )
518518 plsqlBuilder .WriteString ("; END IF;\n " )
519519 outParamIndex ++
520520 }
@@ -548,7 +548,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
548548
549549 // Start PL/SQL block
550550 plsqlBuilder .WriteString ("DECLARE\n " )
551- writeTableRecordCollectionDecl (& plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
551+ writeTableRecordCollectionDecl (db , & plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
552552 plsqlBuilder .WriteString (" l_inserted_records t_records;\n " )
553553
554554 // Create array types and variables for each column
@@ -582,14 +582,14 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
582582 // FORALL with RETURNING BULK COLLECT INTO
583583 plsqlBuilder .WriteString (fmt .Sprintf (" FORALL i IN 1..%d\n " , len (createValues .Values )))
584584 plsqlBuilder .WriteString (" INSERT INTO " )
585- writeQuotedIdentifier (& plsqlBuilder , stmt .Table )
585+ db . QuoteTo (& plsqlBuilder , stmt .Table )
586586 plsqlBuilder .WriteString (" (" )
587587 // Add column names
588588 for i , column := range createValues .Columns {
589589 if i > 0 {
590590 plsqlBuilder .WriteString (", " )
591591 }
592- writeQuotedIdentifier (& plsqlBuilder , column .Name )
592+ db . QuoteTo (& plsqlBuilder , column .Name )
593593 }
594594 plsqlBuilder .WriteString (") VALUES (" )
595595
@@ -609,7 +609,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
609609 if i > 0 {
610610 plsqlBuilder .WriteString (", " )
611611 }
612- writeQuotedIdentifier (& plsqlBuilder , column )
612+ db . QuoteTo (& plsqlBuilder , column )
613613 }
614614 plsqlBuilder .WriteString ("\n BULK COLLECT INTO l_inserted_records;\n " )
615615
@@ -618,7 +618,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
618618 for rowIdx := 0 ; rowIdx < len (createValues .Values ); rowIdx ++ {
619619 for _ , column := range allColumns {
620620 var columnBuilder strings.Builder
621- writeQuotedIdentifier (& columnBuilder , column )
621+ db . QuoteTo (& columnBuilder , column )
622622 quotedColumn := columnBuilder .String ()
623623
624624 if field := findFieldByDBName (schema , column ); field != nil {
0 commit comments