code: def test_statement_reset(self):
      # pysqlite 2.1.0 to 2.2.0 have the problem that not all statements are
      # reset before a rollback, but only those that are still in the
      # statement cache. The others are not accessible from the connection object.
      with memory_database(cached_statements=5) as con:
          cursors = [con.cursor() for x in range(5)]
          cursors[0].execute("create table test(x)")
          for i in range(10):
              cursors[0].executemany(
                  "insert into test(x) values (?)",
                  [(x,) for x in range(10)],
              )
  
          for i in range(5):
              cursors[i].execute(" " * i + "select x from test")
  
          con.rollback()
  
imports: import datetime
  import unittest
  import sqlite3
  import weakref
  import functools
  from test import support
  from unittest.mock import patch
  from .util import memory_database, cx_limit
  from .util import MemoryDatabaseMixin
label_desc: Use image node_id 3 for calling the RegressionTests obj's underlying member method code with example usage: obj.test_statement_reset() without return types