public QueryExecution executeRawQuery(RequestContext context, String query, ZoneId timezone, Map<String, String> sessionProperties, String catalog) { if (sessionProperties.containsKey("external.source_options")) { String encodedKey = sessionProperties.get("external.source_options"); Map<String, DataSourceType> params; if (encodedKey != null) { params = JsonHelper.read(getDecoder().decode(encodedKey), new TypeReference<Map<String, DataSourceType>>() { }); } else { params = new HashMap<>(); } if (params.size() == 1) { Map.Entry<String, DataSourceType> next = params.entrySet().iterator().next(); QueryExecution singleQueryExecution = getSingleQueryExecution(query, next.getValue()); if (singleQueryExecution != null) { return singleQueryExecution; } } } return executeRawStatement(context, query, timezone, sessionProperties, catalog, null, false); }