class QueryResultMetaData {

    public Optional<ShardingEncryptor> getShardingEncryptor(final int columnIndex) throws SQLException {
        String logicTable = getTableName(columnIndex);
        return encryptRule.getShardingEncryptor(logicTable, getLogicColumn(logicTable, columnIndex));
    }

    public  QueryResultMetaData(final ResultSetMetaData resultSetMetaData, final ShardingRule shardingRule);
    public  QueryResultMetaData(final ResultSetMetaData resultSetMetaData, final EncryptRule encryptRule);
    public  QueryResultMetaData(final ResultSetMetaData resultSetMetaData);

}