@@ -132,7 +132,7 @@ def row(self, value):
132132 raise RuntimeError ("BatchRow.row already set" )
133133 if value :
134134 self ._row = value
135- BatchTable . of_row (self ._row ).add_batch_row (self )
135+ get_table_by_id (self ._row . _table_id ).add_batch_row (self )
136136
137137 @if_not_deleted
138138 def __eq__ (self , other ):
@@ -211,13 +211,11 @@ def clear_cache(self):
211211
212212@portable_class
213213class BatchSearchIterator (anvil .tables .SearchIterator ):
214- def __init__ (self , batch_table , search_iterator ):
215- self ._batch_table = batch_table
214+ def __init__ (self , search_iterator ):
216215 self ._search_iterator = search_iterator
217216
218217 def __getitem__ (self , index ):
219- row = self ._search_iterator [index ]
220- return self ._batch_table .get_batch_row (row )
218+ return BatchRow (self ._search_iterator [index ])
221219
222220 def __len__ (self ):
223221 return len (self ._search_iterator )
@@ -241,25 +239,21 @@ def search(self, *args, **kwargs):
241239 print ("AutoBatch: process_batch triggered early by search" )
242240 process_batch ()
243241 return BatchSearchIterator (
244- self ,
245242 unwrap_any_input_rows (self .table .search )(* args , ** kwargs )
246243 )
247244
248245 def get (self , * args , ** kwargs ):
249246 if _add_queue or _update_queue or _delete_queue :
250247 print ("AutoBatch: process_batch triggered early by get" )
251248 process_batch ()
252- return self .get_batch_row (
253- unwrap_any_input_rows (self .table .get )(* args , ** kwargs )
254- )
249+ raw_out = unwrap_any_input_rows (self .table .get )(* args , ** kwargs )
250+ return BatchRow (raw_out ) if raw_out else None
255251
256252 def get_by_id (self , row_id , * args , ** kwargs ):
257253 if row_id in self ._batch_rows :
258- batch_row = self ._batch_rows [row_id ]
254+ return self ._batch_rows [row_id ]
259255 else :
260- row = self .table .get_by_id (row_id , * args , ** kwargs )
261- batch_row = BatchRow (row )
262- return batch_row
256+ return BatchRow (self .table .get_by_id (row_id , * args , ** kwargs ))
263257
264258 def add_row (self , ** column_values ):
265259 global _add_queue
@@ -279,20 +273,6 @@ def delete_all_rows(self, *args, **kwargs):
279273 def add_batch_row (self , batch_row ):
280274 self ._batch_rows [batch_row .get_id ()] = batch_row
281275
282- def has_row_batched (self , row ):
283- return row .get_id () in self ._batch_rows
284-
285- def get_batch_row (self , row ):
286- if row is None :
287- return None
288- elif self .has_row_batched (row ):
289- return self .retrieve_batch_row (row )
290- else :
291- return BatchRow (row )
292-
293- def retrieve_batch_row (self , row ):
294- return self ._batch_rows [row .get_id ()]
295-
296276 def __serialize__ (self , global_data ):
297277 if _add_queue or _update_queue or _delete_queue :
298278 print ("AutoBatch: process_batch triggered early by table __serialize__" )
@@ -304,10 +284,6 @@ def clear_cache(self):
304284 batch_row .clear_cache ()
305285 #self._batch_rows.clear()
306286
307- @staticmethod
308- def of_row (row ):
309- return get_table_by_id (row ._table_id )
310-
311287
312288class BatchTables :
313289 def __init__ (self ):
0 commit comments