//PUBLIC bool SQLconnection::query(const char * _q,DBResult &res) { res.freeIfInUse(); if(alternateBetweenServers)swapNextServer(); //currentServer = 0; //currentServer = nextServer; { auto r = attemptQuery(_q,res); if(r == QUERY_RET_VALUE_GOOD)return true; if(r == QUERY_RET_VALUE_QUERY_ERROR)return false; } /*swapServer(); { auto r = attemptQuery(_q,res); if(r == QUERY_RET_VALUE_GOOD)return true; if(r == QUERY_RET_VALUE_QUERY_ERROR)return false; } swapServer();*/ disconnect(); connect(); { auto r = attemptQuery(_q,res); if(r == QUERY_RET_VALUE_GOOD)return true; if(r == QUERY_RET_VALUE_QUERY_ERROR)return false; } /*swapServer(); { auto r = attemptQuery(_q,res); if(r == QUERY_RET_VALUE_GOOD)return true; if(r == QUERY_RET_VALUE_QUERY_ERROR)return false; } swapServer(); */ //prevents zero attempts due to both having recent failures. /*if(goodRequestsSenseFailure[1] < goodRequestsSenseFailure[0]) { goodRequestsSenseFailure[0] = 0; } else { goodRequestsSenseFailure[1] = 0; } */ disconnect(); connect(); { auto r = attemptQuery(_q,res); if(r == QUERY_RET_VALUE_GOOD)return true; if(r == QUERY_RET_VALUE_QUERY_ERROR)return false; } /*swapServer(); { auto r = attemptQuery(_q,res); if(r == QUERY_RET_VALUE_GOOD)return true; if(r == QUERY_RET_VALUE_QUERY_ERROR)return false; } swapServer(); */ return false; }