@@ -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