'Retrieve input by session.
Parameters
session : int
Session number to retrieve.
start : int
First line to retrieve.
stop : int
End of line range (excluded from output itself). If None, retrieve
to the end of the session.
raw : bool
If True, return untranslated input
output : bool
If True, attempt to include output. This will be \'real\' Python
objects for the current session, or text reprs from previous
sessions if db_log_output was enabled at the time. Where no output
is found, None is used.
Returns
entries
An iterator over the desired lines. Each line is a 3-tuple, either
(session, line, input) if output is False, or
(session, line, (input, output)) if output is True.'

@catch_corrupt_db
def get_range(self, session, start=1, stop=None, raw=True, output=False):

    if stop:
        lineclause = 'line    >=    ?    AND    line    <    ?'
        params = (session, start, stop)
    else:
        lineclause = 'line>=?'
        params = (session, start)
    return self._run_sql(('WHERE    session==?    AND    %s' % lineclause), params, raw=raw, output=output)
