def test_basic(self): mydb = BaseDB(myconfig) mydb2 = BaseDB(myconfig) aid, rows = mydb.insert("INSERT INTO test1(k,v) VALUES('%s','%s')" % ("aaa", "AAA")) assert_equal(aid, 1, 'autoid') assert rows == 1, "insert 1 row" rows = mydb.execute("UPDATE test1 SET v='%s' WHERE k='%s'" % ('BBB', 'aaa')) assert rows == 1, "update 1 row" # Read Committed values = mydb2.query("SELECT autoid, k, v FROM test1 LIMIT 10;") assert len(values) == 1, "only 1 record in table" aid, k, v = values[0] assert aid == '1' and k == 'aaa' and v == 'BBB', ("result must be commit: %s" % values) # Cannot Read uncommitted with mydb.session() as conn: values = conn.query("SELECT autoid, k, v FROM test1 WHERE k='aaa'") assert len(values) == 1, "only 1 record in table" aid, k, v = values[0] assert aid == '1' and k == 'aaa' and v == 'BBB', "result must be commit" rows = conn.execute("UPDATE test1 SET v='%s' WHERE k='%s'" % ('CCC', 'aaa')) assert rows == 1 # read uncommitted values = mydb2.query("SELECT autoid, k, v FROM test1 LIMIT 10;") assert len(values) == 1, "only 1 record in table" aid, k, v = values[0] assert aid == '1' and k == 'aaa' and v == 'BBB', ("result is not commit: %s" % values) values = mydb2.query("SELECT autoid, k, v FROM test1 LIMIT 10;") assert len(values) == 1, "only 1 record in table" aid, k, v = values[0] assert aid == '1' and k == 'aaa' and v == 'CCC', "result is committed"
def _connection_id_in_processlist(connid): db = BaseDB(myconfig) processlist = db.query("SHOW PROCESSLIST;") conns = set(int(x[0]) for x in processlist ) return int(connid) in conns