@@ -287,7 +287,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
287
287
288
288
// Start PL/SQL block
289
289
plsqlBuilder .WriteString ("DECLARE\n " )
290
- writeTableRecordCollectionDecl (& plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
290
+ writeTableRecordCollectionDecl (db , & plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
291
291
plsqlBuilder .WriteString (" l_affected_records t_records;\n " )
292
292
293
293
// Create array types and variables for each column
@@ -321,7 +321,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
321
321
// FORALL with MERGE and RETURNING BULK COLLECT INTO
322
322
plsqlBuilder .WriteString (fmt .Sprintf (" FORALL i IN 1..%d\n " , len (createValues .Values )))
323
323
plsqlBuilder .WriteString (" MERGE INTO " )
324
- writeQuotedIdentifier (& plsqlBuilder , stmt .Table )
324
+ db . QuoteTo (& plsqlBuilder , stmt .Table )
325
325
plsqlBuilder .WriteString (" t\n " )
326
326
// Build USING clause
327
327
plsqlBuilder .WriteString (" USING (SELECT " )
@@ -330,7 +330,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
330
330
plsqlBuilder .WriteString (", " )
331
331
}
332
332
plsqlBuilder .WriteString (fmt .Sprintf ("l_col_%d_array(i) AS " , idx ))
333
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
333
+ db . QuoteTo (& plsqlBuilder , column .Name )
334
334
}
335
335
plsqlBuilder .WriteString (" FROM DUAL) s\n " )
336
336
@@ -341,9 +341,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
341
341
plsqlBuilder .WriteString (" AND " )
342
342
}
343
343
plsqlBuilder .WriteString ("t." )
344
- writeQuotedIdentifier (& plsqlBuilder , conflictCol .Name )
344
+ db . QuoteTo (& plsqlBuilder , conflictCol .Name )
345
345
plsqlBuilder .WriteString (" = s." )
346
- writeQuotedIdentifier (& plsqlBuilder , conflictCol .Name )
346
+ db . QuoteTo (& plsqlBuilder , conflictCol .Name )
347
347
}
348
348
plsqlBuilder .WriteString (")\n " )
349
349
@@ -368,9 +368,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
368
368
plsqlBuilder .WriteString (", " )
369
369
}
370
370
plsqlBuilder .WriteString ("t." )
371
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
371
+ db . QuoteTo (& plsqlBuilder , column .Name )
372
372
plsqlBuilder .WriteString (" = s." )
373
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
373
+ db . QuoteTo (& plsqlBuilder , column .Name )
374
374
updateCount ++
375
375
}
376
376
}
@@ -402,9 +402,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
402
402
plsqlBuilder .WriteString (", " )
403
403
}
404
404
plsqlBuilder .WriteString ("t." )
405
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
405
+ db . QuoteTo (& plsqlBuilder , column .Name )
406
406
plsqlBuilder .WriteString (" = s." )
407
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
407
+ db . QuoteTo (& plsqlBuilder , column .Name )
408
408
updateCount ++
409
409
}
410
410
}
@@ -424,9 +424,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
424
424
}
425
425
}
426
426
plsqlBuilder .WriteString (" WHEN MATCHED THEN UPDATE SET t." )
427
- writeQuotedIdentifier (& plsqlBuilder , noopCol )
427
+ db . QuoteTo (& plsqlBuilder , noopCol )
428
428
plsqlBuilder .WriteString (" = t." )
429
- writeQuotedIdentifier (& plsqlBuilder , noopCol )
429
+ db . QuoteTo (& plsqlBuilder , noopCol )
430
430
plsqlBuilder .WriteString ("\n " )
431
431
}
432
432
@@ -441,7 +441,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
441
441
if insertCount > 0 {
442
442
plsqlBuilder .WriteString (", " )
443
443
}
444
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
444
+ db . QuoteTo (& plsqlBuilder , column .Name )
445
445
insertCount ++
446
446
}
447
447
}
@@ -456,7 +456,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
456
456
plsqlBuilder .WriteString (", " )
457
457
}
458
458
plsqlBuilder .WriteString ("s." )
459
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
459
+ db . QuoteTo (& plsqlBuilder , column .Name )
460
460
insertCount ++
461
461
}
462
462
}
@@ -472,7 +472,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
472
472
if insertCount > 0 {
473
473
plsqlBuilder .WriteString (", " )
474
474
}
475
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
475
+ db . QuoteTo (& plsqlBuilder , column .Name )
476
476
insertCount ++
477
477
}
478
478
}
@@ -486,7 +486,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
486
486
plsqlBuilder .WriteString (", " )
487
487
}
488
488
plsqlBuilder .WriteString ("s." )
489
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
489
+ db . QuoteTo (& plsqlBuilder , column .Name )
490
490
insertCount ++
491
491
}
492
492
}
@@ -500,7 +500,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
500
500
if i > 0 {
501
501
plsqlBuilder .WriteString (", " )
502
502
}
503
- writeQuotedIdentifier (& plsqlBuilder , column )
503
+ db . QuoteTo (& plsqlBuilder , column )
504
504
}
505
505
plsqlBuilder .WriteString ("\n BULK COLLECT INTO l_affected_records;\n " )
506
506
@@ -511,7 +511,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
511
511
if field := findFieldByDBName (schema , column ); field != nil {
512
512
stmt .Vars = append (stmt .Vars , sql.Out {Dest : createTypedDestination (field )})
513
513
plsqlBuilder .WriteString (fmt .Sprintf (" IF l_affected_records.COUNT > %d THEN :%d := l_affected_records(%d)." , rowIdx , outParamIndex + 1 , rowIdx + 1 ))
514
- writeQuotedIdentifier (& plsqlBuilder , column )
514
+ db . QuoteTo (& plsqlBuilder , column )
515
515
plsqlBuilder .WriteString ("; END IF;\n " )
516
516
outParamIndex ++
517
517
}
@@ -545,7 +545,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
545
545
546
546
// Start PL/SQL block
547
547
plsqlBuilder .WriteString ("DECLARE\n " )
548
- writeTableRecordCollectionDecl (& plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
548
+ writeTableRecordCollectionDecl (db , & plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
549
549
plsqlBuilder .WriteString (" l_inserted_records t_records;\n " )
550
550
551
551
// Create array types and variables for each column
@@ -579,14 +579,14 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
579
579
// FORALL with RETURNING BULK COLLECT INTO
580
580
plsqlBuilder .WriteString (fmt .Sprintf (" FORALL i IN 1..%d\n " , len (createValues .Values )))
581
581
plsqlBuilder .WriteString (" INSERT INTO " )
582
- writeQuotedIdentifier (& plsqlBuilder , stmt .Table )
582
+ db . QuoteTo (& plsqlBuilder , stmt .Table )
583
583
plsqlBuilder .WriteString (" (" )
584
584
// Add column names
585
585
for i , column := range createValues .Columns {
586
586
if i > 0 {
587
587
plsqlBuilder .WriteString (", " )
588
588
}
589
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
589
+ db . QuoteTo (& plsqlBuilder , column .Name )
590
590
}
591
591
plsqlBuilder .WriteString (") VALUES (" )
592
592
@@ -606,7 +606,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
606
606
if i > 0 {
607
607
plsqlBuilder .WriteString (", " )
608
608
}
609
- writeQuotedIdentifier (& plsqlBuilder , column )
609
+ db . QuoteTo (& plsqlBuilder , column )
610
610
}
611
611
plsqlBuilder .WriteString ("\n BULK COLLECT INTO l_inserted_records;\n " )
612
612
@@ -615,7 +615,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
615
615
for rowIdx := 0 ; rowIdx < len (createValues .Values ); rowIdx ++ {
616
616
for _ , column := range allColumns {
617
617
var columnBuilder strings.Builder
618
- writeQuotedIdentifier (& columnBuilder , column )
618
+ db . QuoteTo (& columnBuilder , column )
619
619
quotedColumn := columnBuilder .String ()
620
620
621
621
if field := findFieldByDBName (schema , column ); field != nil {
0 commit comments