@@ -0,0 +1,1677 @@
+package org.davidmoten.rx.jdbc.pool;%0A%0Aimport java.sql.Connection;%0Aimport java.sql.Statement;%0A%0Aimport io.reactivex.functions.Predicate;%0A%0Apublic final class Healthy %7B%0A%0A    public final static Predicate%3CConnection%3E ORACLE = new HealthyPredicate(%22select 1 from dual%22);%0A    public final static Predicate%3CConnection%3E HSQLDB = new HealthyPredicate(%0A            %22SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS%22);%0A    public final static Predicate%3CConnection%3E OTHER =  new HealthyPredicate(%22select 1%22);%0A    public final static Predicate%3CConnection%3E H2 = OTHER;%0A    public final static Predicate%3CConnection%3E SQL_SERVER = OTHER;%0A    public final static Predicate%3CConnection%3E MYSQL = OTHER;%0A    public final static Predicate%3CConnection%3E POSTGRES = OTHER;%0A    public final static Predicate%3CConnection%3E SQLITE = OTHER;%0A    public final static Predicate%3CConnection%3E DB2 = new HealthyPredicate(%0A            %22select 1 from sysibm.sysdummy1%22);%0A    public final static Predicate%3CConnection%3E DERBY = new HealthyPredicate(%0A            %22SELECT 1 FROM SYSIBM.SYSDUMMY1%22);%0A    public final static Predicate%3CConnection%3E INFORMIX = new HealthyPredicate(%0A            %22select count(*) from systables%22);%0A%0A    private static final class HealthyPredicate implements Predicate%3CConnection%3E %7B%0A%0A        private final String sql;%0A%0A        HealthyPredicate(String sql) %7B%0A            this.sql = sql;%0A        %7D%0A%0A        @Override%0A        public boolean test(Connection c) throws Exception %7B%0A            try (Statement s = c.createStatement()) %7B%0A                s.executeQuery(sql).close();%0A                return true;%0A            %7D catch (Throwable t) %7B%0A                return false;%0A            %7D%0A        %7D%0A    %7D%0A%7D%0A

add Healthy class with health check predicates for many databases