in src/main/java/software/aws/neptune/sparql/SparqlQueryExecutor.java [247:278]
private Constructor<?> createConstructorBasedOnQueryType(final String sparql) throws SQLException {
final Constructor<?> constructor;
try {
final Query query = QueryFactory.create(sparql);
switch (query.queryType()) {
case SELECT:
constructor = SparqlSelectResultSet.class
.getConstructor(java.sql.Statement.class,
SparqlSelectResultSet.ResultSetInfoWithRows.class);
break;
case ASK:
constructor = SparqlAskResultSet.class
.getConstructor(java.sql.Statement.class, SparqlAskResultSet.ResultSetInfoWithRows.class);
break;
case CONSTRUCT:
case DESCRIBE:
constructor = SparqlTriplesResultSet.class
.getConstructor(java.sql.Statement.class,
SparqlTriplesResultSet.ResultSetInfoWithRows.class);
break;
default:
throw SqlError
.createSQLException(LOGGER, SqlState.INVALID_QUERY_EXPRESSION, SqlError.INVALID_QUERY);
}
} catch (final Exception e) {
throw SqlError.createSQLException(
LOGGER,
SqlState.INVALID_QUERY_EXPRESSION,
SqlError.QUERY_FAILED, e);
}
return constructor;
}