def put(self, table):
        """Adds a table to the queue. All tables added during lifetime of an instance must have the same schema.

        :param table: An instance of a pyarrow table.
        :return: None
        """

        # We store a list of arrow batches. When retrieving, we consume parts or entire batches, until batch_size of
        # rows are acquired.
        record_batches = table.to_batches()
        for record_batch in record_batches:
            self._buffer.append(record_batch)
            self._cumulative_len += record_batch.num_rows
Adds a table to the queue. All tables added during lifetime of an instance must have the same schema.

        :param table: An instance of a pyarrow table.
        :return: None
        
petastorm/pyarrow_helpers/batching_table_queue.py