package railo.runtime.functions.other; import java.util.Map; import railo.commons.lang.StringUtil; import railo.runtime.PageContext; import railo.runtime.db.DataSource; import railo.runtime.db.DataSourceSupport; public class DatasourceFlushMetaCache { public synchronized static boolean call(PageContext pc) { return call(pc, null); } public synchronized static boolean call(PageContext pc,String datasource) { DataSource[] sources = pc.getConfig().getDataSources(); DataSourceSupport ds; boolean has=false; for(int i=0;i<sources.length;i++){ ds=(DataSourceSupport) sources[i]; if(StringUtil.isEmpty(datasource) || ds.getName().equalsIgnoreCase(datasource.trim())){ Map cache=ds.getProcedureColumnCache(); if(cache!=null) cache.clear(); if(!StringUtil.isEmpty(datasource))return true; has=true; } } return has; } }