private DriverPropertyInfo create(ClickHouseOption option, Properties props) {
        DriverPropertyInfo propInfo = new DriverPropertyInfo(option.getKey(),
                props.getProperty(option.getKey(), String.valueOf(option.getEffectiveDefaultValue())));
        propInfo.required = false;
        propInfo.description = option.getDescription();
        propInfo.choices = null;

        Class<?> clazz = option.getValueType();
        if (Boolean.class == clazz || boolean.class == clazz) {
            propInfo.choices = new String[]{"true", "false"};
        } else if (clazz.isEnum()) {
            Object[] values = clazz.getEnumConstants();
            String[] names = new String[values.length];
            int index = 0;
            for (Object v : values) {
                names[index++] = ((Enum<?>) v).name();
            }
            propInfo.choices = names;
        }
        return propInfo;
    }
JDBC driver for ClickHouse. It takes a connection string like below for
connecting to ClickHouse server:
{@code jdbc:(ch|clickhouse)[:<protocol>]://[<user>[:<password>]@]<host>[:<port>][/<db>][?<parameter=value>,[<parameter=value]]][#<tag>[,<tag>]]}

<p>
For examples:
<ul>
<li>{@code jdbc:clickhouse://localhost:8123/system}</li>
<li>{@code jdbc:clickhouse://admin:password@localhost/system?socket_time=30}</li>
<li>{@code jdbc:clickhouse://localhost/system?protocol=grpc}</li>
</ul>
clickhouse-jdbc/src/main/java/com/clickhouse/jdbc/DriverV1.java