@@ -289,7 +289,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
289
289
290
290
// Start PL/SQL block
291
291
plsqlBuilder .WriteString ("DECLARE\n " )
292
- writeTableRecordCollectionDecl (& plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
292
+ writeTableRecordCollectionDecl (db , & plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
293
293
plsqlBuilder .WriteString (" l_affected_records t_records;\n " )
294
294
295
295
// Create array types and variables for each column
@@ -323,7 +323,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
323
323
// FORALL with MERGE and RETURNING BULK COLLECT INTO
324
324
plsqlBuilder .WriteString (fmt .Sprintf (" FORALL i IN 1..%d\n " , len (createValues .Values )))
325
325
plsqlBuilder .WriteString (" MERGE INTO " )
326
- writeQuotedIdentifier (& plsqlBuilder , stmt .Table )
326
+ db . QuoteTo (& plsqlBuilder , stmt .Table )
327
327
plsqlBuilder .WriteString (" t\n " )
328
328
// Build USING clause
329
329
plsqlBuilder .WriteString (" USING (SELECT " )
@@ -332,7 +332,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
332
332
plsqlBuilder .WriteString (", " )
333
333
}
334
334
plsqlBuilder .WriteString (fmt .Sprintf ("l_col_%d_array(i) AS " , idx ))
335
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
335
+ db . QuoteTo (& plsqlBuilder , column .Name )
336
336
}
337
337
plsqlBuilder .WriteString (" FROM DUAL) s\n " )
338
338
@@ -344,9 +344,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
344
344
plsqlBuilder .WriteString (" AND " )
345
345
}
346
346
plsqlBuilder .WriteString ("t." )
347
- writeQuotedIdentifier (& plsqlBuilder , conflictCol .Name )
347
+ db . QuoteTo (& plsqlBuilder , conflictCol .Name )
348
348
plsqlBuilder .WriteString (" = s." )
349
- writeQuotedIdentifier (& plsqlBuilder , conflictCol .Name )
349
+ db . QuoteTo (& plsqlBuilder , conflictCol .Name )
350
350
}
351
351
plsqlBuilder .WriteString (")\n " )
352
352
@@ -371,9 +371,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
371
371
plsqlBuilder .WriteString (", " )
372
372
}
373
373
plsqlBuilder .WriteString ("t." )
374
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
374
+ db . QuoteTo (& plsqlBuilder , column .Name )
375
375
plsqlBuilder .WriteString (" = s." )
376
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
376
+ db . QuoteTo (& plsqlBuilder , column .Name )
377
377
updateCount ++
378
378
}
379
379
}
@@ -405,9 +405,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
405
405
plsqlBuilder .WriteString (", " )
406
406
}
407
407
plsqlBuilder .WriteString ("t." )
408
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
408
+ db . QuoteTo (& plsqlBuilder , column .Name )
409
409
plsqlBuilder .WriteString (" = s." )
410
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
410
+ db . QuoteTo (& plsqlBuilder , column .Name )
411
411
updateCount ++
412
412
}
413
413
}
@@ -427,9 +427,9 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
427
427
}
428
428
}
429
429
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 )
433
433
plsqlBuilder .WriteString ("\n " )
434
434
}
435
435
@@ -444,7 +444,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
444
444
if insertCount > 0 {
445
445
plsqlBuilder .WriteString (", " )
446
446
}
447
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
447
+ db . QuoteTo (& plsqlBuilder , column .Name )
448
448
insertCount ++
449
449
}
450
450
}
@@ -459,7 +459,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
459
459
plsqlBuilder .WriteString (", " )
460
460
}
461
461
plsqlBuilder .WriteString ("s." )
462
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
462
+ db . QuoteTo (& plsqlBuilder , column .Name )
463
463
insertCount ++
464
464
}
465
465
}
@@ -475,7 +475,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
475
475
if insertCount > 0 {
476
476
plsqlBuilder .WriteString (", " )
477
477
}
478
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
478
+ db . QuoteTo (& plsqlBuilder , column .Name )
479
479
insertCount ++
480
480
}
481
481
}
@@ -489,7 +489,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
489
489
plsqlBuilder .WriteString (", " )
490
490
}
491
491
plsqlBuilder .WriteString ("s." )
492
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
492
+ db . QuoteTo (& plsqlBuilder , column .Name )
493
493
insertCount ++
494
494
}
495
495
}
@@ -503,7 +503,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
503
503
if i > 0 {
504
504
plsqlBuilder .WriteString (", " )
505
505
}
506
- writeQuotedIdentifier (& plsqlBuilder , column )
506
+ db . QuoteTo (& plsqlBuilder , column )
507
507
}
508
508
plsqlBuilder .WriteString ("\n BULK COLLECT INTO l_affected_records;\n " )
509
509
@@ -514,7 +514,7 @@ func buildBulkMergePLSQL(db *gorm.DB, createValues clause.Values, onConflictClau
514
514
if field := findFieldByDBName (schema , column ); field != nil {
515
515
stmt .Vars = append (stmt .Vars , sql.Out {Dest : createTypedDestination (field )})
516
516
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 )
518
518
plsqlBuilder .WriteString ("; END IF;\n " )
519
519
outParamIndex ++
520
520
}
@@ -548,7 +548,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
548
548
549
549
// Start PL/SQL block
550
550
plsqlBuilder .WriteString ("DECLARE\n " )
551
- writeTableRecordCollectionDecl (& plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
551
+ writeTableRecordCollectionDecl (db , & plsqlBuilder , stmt .Schema .DBNames , stmt .Table )
552
552
plsqlBuilder .WriteString (" l_inserted_records t_records;\n " )
553
553
554
554
// Create array types and variables for each column
@@ -582,14 +582,14 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
582
582
// FORALL with RETURNING BULK COLLECT INTO
583
583
plsqlBuilder .WriteString (fmt .Sprintf (" FORALL i IN 1..%d\n " , len (createValues .Values )))
584
584
plsqlBuilder .WriteString (" INSERT INTO " )
585
- writeQuotedIdentifier (& plsqlBuilder , stmt .Table )
585
+ db . QuoteTo (& plsqlBuilder , stmt .Table )
586
586
plsqlBuilder .WriteString (" (" )
587
587
// Add column names
588
588
for i , column := range createValues .Columns {
589
589
if i > 0 {
590
590
plsqlBuilder .WriteString (", " )
591
591
}
592
- writeQuotedIdentifier (& plsqlBuilder , column .Name )
592
+ db . QuoteTo (& plsqlBuilder , column .Name )
593
593
}
594
594
plsqlBuilder .WriteString (") VALUES (" )
595
595
@@ -609,7 +609,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
609
609
if i > 0 {
610
610
plsqlBuilder .WriteString (", " )
611
611
}
612
- writeQuotedIdentifier (& plsqlBuilder , column )
612
+ db . QuoteTo (& plsqlBuilder , column )
613
613
}
614
614
plsqlBuilder .WriteString ("\n BULK COLLECT INTO l_inserted_records;\n " )
615
615
@@ -618,7 +618,7 @@ func buildBulkInsertOnlyPLSQL(db *gorm.DB, createValues clause.Values) {
618
618
for rowIdx := 0 ; rowIdx < len (createValues .Values ); rowIdx ++ {
619
619
for _ , column := range allColumns {
620
620
var columnBuilder strings.Builder
621
- writeQuotedIdentifier (& columnBuilder , column )
621
+ db . QuoteTo (& columnBuilder , column )
622
622
quotedColumn := columnBuilder .String ()
623
623
624
624
if field := findFieldByDBName (schema , column ); field != nil {
0 commit comments