def METHOD_NAME(self):
    # NOTE: this assumes that both methods are called with the same
    # connection; if they run in parallel threads then it is not valid to
    # assume that the database engine will have finalized the first
    # transaction (and thus created the table) by the time the second
    # transaction runs.  This is why we set optimal_thread_pool_size in
    # setUp.
    def create_table(engine):
        engine.execute("CREATE TABLE tmp ( a integer )")
    yield self.pool.do_with_engine(create_table)
    def insert_into_table(engine):
        engine.execute("INSERT INTO tmp values ( 1 )")
    yield self.pool.do_with_engine(insert_into_table)