@Override
    public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException {
        String sql = "SELECT " +
                "NULL AS FUNCTION_CAT, " +
                "NULL AS FUNCTION_SCHEM, " +
                "name AS FUNCTION_NAME, " +
                "concat(description, '(', origin, ')') AS REMARKS, " +
                java.sql.DatabaseMetaData.functionResultUnknown + " AS FUNCTION_TYPE, " +
                "name AS SPECIFIC_NAME " +
                "FROM system.functions " +
                "WHERE name LIKE '" + (functionNamePattern == null ? "%" : functionNamePattern) + "'";
        try {
            return connection.createStatement().executeQuery(sql);
        } catch (Exception e) {
            throw ExceptionUtils.toSqlState(e);
        }
    }
Returns name of the ClickHouse table types as the broad category (rather than engine name).
@return - ResultSet with one column TABLE_TYPE
@throws SQLException - if an error occurs
jdbc-v2/src/main/java/com/clickhouse/jdbc/metadata/DatabaseMetaDataImpl.java