'http://bugs.python.org/issue10811
Recursively using a cursor, such as when reusing it from a generator led to segfaults.
Now we catch recursive cursor usage and raise a ProgrammingError.'

def CheckRecursiveCursorUse(self):

    con = sqlite.connect(':memory:')
    cur = con.cursor()
    cur.execute('create    table    a    (bar)')
    cur.execute('create    table    b    (baz)')
    def foo():
        cur.execute('insert    into    a    (bar)    values    (?)', (1,))
        (yield 1)
    with self.assertRaises(sqlite.ProgrammingError):
        cur.executemany('insert    into    b    (baz)    values    (?)', ((i,) for i in foo()))
