Ejemplo n.º 1
0
    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"
Ejemplo n.º 2
0
 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