def datasource_to_dbpool(ds, ip, dbpool_cache={}):
    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server = servers[ds.component.split(NAME_SPLITTER)[0]]

    connection_key = (ip, server['user'], server['port'], server['passwd'])
    if not((connection_key in dbpool_cache)
            and dbpool_cache[connection_key].running):
        dbpool_cache[connection_key] = connection_pool(ds, ip)
    return dbpool_cache[connection_key]
Example #2
0
def datasource_to_dbpool(ds, ip, dbpool_cache={}):
    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server = servers[ds.component.split(NAME_SPLITTER)[0]]

    connection_key = (ip, server['user'], server['port'], server['passwd'])
    if not ((connection_key in dbpool_cache)
            and dbpool_cache[connection_key].running):
        dbpool_cache[connection_key] = connection_pool(ds, ip)
    return dbpool_cache[connection_key]
Example #3
0
def connection_pool(ds, ip):
    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server = servers[ds.component.split(NAME_SPLITTER)[0]]
    return adbapi.ConnectionPool("MySQLdb",
                                 cp_reconnect=True,
                                 host=ip,
                                 user=server['user'],
                                 port=server['port'],
                                 passwd=server['passwd'])
Example #4
0
def connection_cursor(ds, ip):
    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server = servers[ds.component.split(NAME_SPLITTER)[0]]
    db = MySQLdb.connect(host=ip,
                         user=server['user'],
                         port=server['port'],
                         passwd=server['passwd'],
                         connect_timeout=ds.zMySqlTimeout)
    db.ping(True)
    return db.cursor()
def connection_pool(ds, ip):
    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server = servers[ds.component.split(NAME_SPLITTER)[0]]
    return adbapi.ConnectionPool(
        "MySQLdb",
        cp_reconnect=True,
        host=ip,
        user=server['user'],
        port=server['port'],
        passwd=server['passwd']
    )
def connection_cursor(ds, ip):
    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server = servers[ds.component.split(NAME_SPLITTER)[0]]
    db = MySQLdb.connect(
        host=ip,
        user=server['user'],
        port=server['port'],
        passwd=server['passwd'],
        connect_timeout=ds.zMySqlTimeout
    )
    db.ping(True)
    return db.cursor()
def connection_cursor(ds, ip):
    if not ds.zMySQLConnectionString:
        raise Exception('MySQL Connection String not configured')

    servers = parse_mysql_connection_string(ds.zMySQLConnectionString)
    server_id = ds.component.split(NAME_SPLITTER)[0]
    server = servers.get(server_id)
    if not server:
        raise Exception(
            'MySQL Connection String not configured for {}'.format(server_id))

    db = MySQLdb.connect(host=ip,
                         user=server['user'],
                         port=server['port'],
                         passwd=server['passwd'],
                         connect_timeout=getattr(ds, 'zMySqlTimeout', 30))
    db.ping(True)
    return db.cursor()
Example #8
0
 def tcase(self, input, output):
     self.assertEquals(parse_mysql_connection_string(input), output)
Example #9
0
 def test_no_port(self):
     self.assertRaises(ValueError, lambda: parse_mysql_connection_string(
         ['{"user":"******","passwd":"password"']))