def select(self, txn, from_key=None, to_key=None, return_keys=True, return_values=True, reverse=False, limit=None):
assert type(return_keys) == bool<EOL>assert type(return_values) == bool<EOL>assert type(reverse) == bool<EOL>assert limit is None or (type(limit) == int and limit > <NUM_LIT:0> and limit < <NUM_LIT>)<EOL>return PersistentMapIterator(txn,<EOL>self,<EOL>from_key=from_key,<EOL>to_key=to_key,<EOL>return_keys=return_keys,<EOL>return_values=return_values,<EOL>reverse=reverse,<EOL>limit=limit)<EOL>
Select all records (key-value pairs) in table, optionally within a given key range.

:param txn: The transaction in which to run.
:type txn: :class:`zlmdb.Transaction`

:param from_key: Return records starting from (and including) this key.
:type from_key: object

:param to_key: Return records up to (but not including) this key.
:type to_key: object

:param return_keys: If ``True`` (default), return keys of records.
:type return_keys: bool

:param return_values: If ``True`` (default), return values of records.
:type return_values: bool

:param limit: Limit number of records returned.
:type limit: int

:return: