数据库中间件 MyCAT源码分析 —— 跨库两表Join

复制// HintCatletHandler.java public RouteResultset route(SystemConfig sysConfig,数据 SchemaConfig schema, int sqlType, String realSQL, String charset, ServerConnection sc, LayerCachePool cachePool, String hintSQLValue, int hintSqlType, Map hintMap) throws SQLNonTransientException { String cateletClass = hintSQLValue; if (LOGGER.isDebugEnabled()) { LOGGER.debug("load catelet class:" + hintSQLValue + " to run sql " + realSQL); } try { Catlet catlet = (Catlet) MycatServer.getInstance().getCatletClassLoader().getInstanceofClass(cateletClass); catlet.route(sysConfig, schema, sqlType, realSQL, charset, sc, cachePool); catlet.processSQL(realSQL, new EngineCtx(sc.getSession2())); } catch (Exception e) { LOGGER.warn("catlet error " + e); throw new SQLNonTransientException(e); } returnnull; } 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.