mysqldb_lookup()
snprintf(str, sizeof(str),
"SELECT ttl, rdtype, rdata FROM %s WHERE "
"UPPER(name) = UPPER('%s') ", dbi->table, name);
//isc_mem_put(ns_g_mctx, canonname, strlen(name) *
2 + 1);
result = maybe_reconnect(dbi);
if (result != ISC_R_SUCCESS)
return (result);
if( mysql_query(&dbi->conn, str) != 0 )
{
return (ISC_R_FAILURE);
}
res = mysql_store_result(&dbi->conn);
if (mysql_num_rows(res) == 0)
{
mysql_free_result(res);
snprintf(str, sizeof(str),
"SELECT ttl, rdtype, rdata FROM %s WHERE "
"UPPER(name) =
UPPER(CONCAT('*',SUBSTRING('%s',INSTR('%s','.')))) ",
dbi->table, name, name);
result = maybe_reconnect(dbi);
if (result != ISC_R_SUCCESS)
return (result);
if( mysql_query(&dbi->conn, str) != 0 )
{
return (ISC_R_FAILURE);
}
res = mysql_store_result(&dbi->conn);
if (mysql_num_rows(res) == 0)
{
mysql_free_result(res);
return (ISC_R_NOTFOUND);
}
}