@@ -190,9 +190,9 @@ macro_rules! push_list_values {
190190 } } ;
191191}
192192
193- pub struct InsertBuilder {
193+ pub struct InsertBuilder < ' a > {
194194 table : TableReference ,
195- record_batches : Vec < RecordBatch > ,
195+ record_batches : & ' a Vec < RecordBatch > ,
196196}
197197
198198pub fn use_json_insert_for_type < T : QueryBuilder + ' static > (
@@ -218,9 +218,9 @@ pub fn use_json_insert_for_type<T: QueryBuilder + 'static>(
218218 false
219219}
220220
221- impl InsertBuilder {
221+ impl < ' a > InsertBuilder < ' a > {
222222 #[ must_use]
223- pub fn new ( table : & TableReference , record_batches : Vec < RecordBatch > ) -> Self {
223+ pub fn new ( table : & TableReference , record_batches : & ' a Vec < RecordBatch > ) -> Self {
224224 Self {
225225 table : table. clone ( ) ,
226226 record_batches,
@@ -1082,7 +1082,7 @@ impl InsertBuilder {
10821082 . columns ( columns)
10831083 . to_owned ( ) ;
10841084
1085- for record_batch in & self . record_batches {
1085+ for record_batch in self . record_batches {
10861086 self . construct_insert_stmt ( & mut insert_stmt, record_batch, & query_builder) ?;
10871087 }
10881088 if let Some ( on_conflict) = on_conflict {
@@ -1500,7 +1500,7 @@ mod tests {
15001500 . expect ( "Unable to build record batch" ) ;
15011501 let record_batches = vec ! [ batch1, batch2] ;
15021502
1503- let sql = InsertBuilder :: new ( & TableReference :: from ( "users" ) , record_batches)
1503+ let sql = InsertBuilder :: new ( & TableReference :: from ( "users" ) , & record_batches)
15041504 . build_postgres ( None )
15051505 . expect ( "Failed to build insert statement" ) ;
15061506 assert_eq ! ( sql, "INSERT INTO \" users\" (\" id\" , \" name\" , \" age\" ) VALUES (1, 'a', 10), (2, 'b', 20), (3, 'c', 30), (1, 'a', 10), (2, 'b', 20), (3, 'c', 30)" ) ;
@@ -1544,7 +1544,7 @@ mod tests {
15441544 . expect ( "Unable to build record batch" ) ;
15451545 let record_batches = vec ! [ batch1, batch2] ;
15461546
1547- let sql = InsertBuilder :: new ( & TableReference :: from ( "schema.users" ) , record_batches)
1547+ let sql = InsertBuilder :: new ( & TableReference :: from ( "schema.users" ) , & record_batches)
15481548 . build_postgres ( None )
15491549 . expect ( "Failed to build insert statement" ) ;
15501550 assert_eq ! ( sql, "INSERT INTO \" schema\" .\" users\" (\" id\" , \" name\" , \" age\" ) VALUES (1, 'a', 10), (2, 'b', 20), (3, 'c', 30), (1, 'a', 10), (2, 'b', 20), (3, 'c', 30)" ) ;
@@ -1595,7 +1595,7 @@ mod tests {
15951595 let batch = RecordBatch :: try_new ( Arc :: new ( schema1. clone ( ) ) , vec ! [ Arc :: new( list_array) ] )
15961596 . expect ( "Unable to build record batch" ) ;
15971597
1598- let sql = InsertBuilder :: new ( & TableReference :: from ( "arrays" ) , vec ! [ batch] )
1598+ let sql = InsertBuilder :: new ( & TableReference :: from ( "arrays" ) , & vec ! [ batch] )
15991599 . build_postgres ( None )
16001600 . expect ( "Failed to build insert statement" ) ;
16011601 assert_eq ! (
0 commit comments