/** * 从全局的schema列表中查询指定的schema是否存在, 如果存在则替换connection属性中原有的schema, 如果不存在,则throws * SQLNonTransientException,表示指定的schema 不存在 * * @param sysConfig * @param schema * @param sqlType * @param realSQL * @param charset * @param info * @param cachePool * @param hintSQLValue * @return * @throws SQLNonTransientException */ @Override public RouteResultset route( SystemConfig sysConfig, SchemaConfig schema, int sqlType, String realSQL, String charset, ServerConnection sc, LayerCachePool cachePool, String hintSQLValue) throws SQLNonTransientException { SchemaConfig tempSchema = CloudbServer.getInstance().getConfig().getSchemas().get(hintSQLValue); if (tempSchema != null) { return routeStrategy.route( sysConfig, tempSchema, sqlType, realSQL, charset, sc, cachePool, null); } else { String msg = "can't find hint schema:" + hintSQLValue; LOGGER.warn(msg); throw new SQLNonTransientException(msg); } }