@@ -177,70 +177,58 @@ func (s *WriterTestSuite) testDeleteRecordBasic(ctx context.Context, t *testing.
177177 r .NoErrorf (err , "failed to read" )
178178 r .EqualValuesf (1 , TotalRows (records ), "unexpected amount of items" )
179179
180- // create value for delete statement but nothing will be deleted because ID value isn't present
181- bldrDeleteNoMatch := array .NewRecordBuilder (memory .DefaultAllocator , (& schema.Table {
182- Name : tableName ,
183- Columns : schema.ColumnList {
184- schema.Column {Name : "id" , Type : arrow .PrimitiveTypes .Int64 },
185- },
186- }).ToArrowSchema ())
187- bldrDeleteNoMatch .Field (0 ).(* array.Int64Builder ).Append (1 )
188- deleteValue := bldrDeleteNoMatch .NewRecord ()
189-
190- r .NoErrorf (s .plugin .writeOne (ctx , & message.WriteDeleteRecord {
191- DeleteRecord : message.DeleteRecord {
192- TableName : table .Name ,
193- WhereClause : message.PredicateGroups {
194- {
195- GroupingType : "AND" ,
196- Predicates : []message.Predicate {
197- {
198- Operator : "eq" ,
199- Column : "id" ,
200- Record : deleteValue ,
201- },
202- },
203- },
204- },
205- },
206- }), "failed to delete record no match" )
180+ r .NoError (s .plugin .WriteAll (ctx , s .toMessageBatch (table , 1 )), "failed to delete record" )
207181
208182 records , err = s .plugin .readAll (ctx , table )
209183 r .NoErrorf (err , "failed to read after delete with no match" )
210184 r .EqualValuesf (1 , TotalRows (records ), "unexpected amount of items after delete with no match" )
211185 r .Emptyf (RecordsDiff (table .ToArrowSchema (), records , []arrow.Record {record1 }), "record differs after delete with no match" )
212186
213- // create value for delete statement will be delete One record
214- bldrDeleteMatch := array .NewRecordBuilder (memory .DefaultAllocator , (& schema.Table {
215- Name : tableName ,
187+ r .NoError (s .plugin .WriteAll (ctx , s .toMessageBatch (table , 0 )), "failed to delete record" )
188+
189+ records , err = s .plugin .readAll (ctx , table )
190+ r .NoErrorf (err , "failed to read after delete with match" )
191+ r .EqualValuesf (0 , TotalRows (records ), "unexpected amount of items after delete with match" )
192+ }
193+
194+ func (s * WriterTestSuite ) toMessageBatch (table * schema.Table , val int64 ) []message.WriteMessage {
195+ batchSize := 1
196+ if s .tests .DeleteRecordBatchSize > 0 {
197+ batchSize = s .tests .DeleteRecordBatchSize
198+ }
199+
200+ messages := make ([]message.WriteMessage , batchSize )
201+
202+ builder := array .NewRecordBuilder (memory .DefaultAllocator , (& schema.Table {
203+ Name : table .Name ,
216204 Columns : schema.ColumnList {
217205 schema.Column {Name : "id" , Type : arrow .PrimitiveTypes .Int64 },
218206 },
219207 }).ToArrowSchema ())
220- bldrDeleteMatch .Field (0 ).(* array.Int64Builder ).Append (0 )
221- deleteValue = bldrDeleteMatch .NewRecord ()
222-
223- r .NoErrorf (s .plugin .writeOne (ctx , & message.WriteDeleteRecord {
224- DeleteRecord : message.DeleteRecord {
225- TableName : table .Name ,
226- WhereClause : message.PredicateGroups {
227- {
228- GroupingType : "AND" ,
229- Predicates : []message.Predicate {
230- {
231- Operator : "eq" ,
232- Column : "id" ,
233- Record : deleteValue ,
208+ builder .Field (0 ).(* array.Int64Builder ).Append (val )
209+ deleteValue := builder .NewRecord ()
210+
211+ for i , _ := range messages {
212+ messages [i ] = & message.WriteDeleteRecord {
213+ DeleteRecord : message.DeleteRecord {
214+ TableName : table .Name ,
215+ WhereClause : message.PredicateGroups {
216+ {
217+ GroupingType : "AND" ,
218+ Predicates : []message.Predicate {
219+ {
220+ Operator : "eq" ,
221+ Column : "id" ,
222+ Record : deleteValue ,
223+ },
234224 },
235225 },
236226 },
237227 },
238- },
239- }), "failed to delete record no match" )
228+ }
229+ }
240230
241- records , err = s .plugin .readAll (ctx , table )
242- r .NoErrorf (err , "failed to read after delete with match" )
243- r .EqualValuesf (0 , TotalRows (records ), "unexpected amount of items after delete with match" )
231+ return messages
244232}
245233
246234func (s * WriterTestSuite ) testDeleteAllRecords (ctx context.Context , t * testing.T ) {
0 commit comments