prestodb/presto · error · SQLException
No wrapper for
Error message
No wrapper for
What it means
unwrap in PrestoResultSet returns this when isWrapperFor(iface) succeeds (i.e. iface.isInstance(this)); otherwise it throws this SQLException. It fires when application code requests a wrapper interface the PrestoResultSet does not implement — a generic JDBC unwrap guard with the requested class as the faulting input.
Source
Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoResultSet.java:1640
throw new SQLFeatureNotSupportedException("getObject");
}
@Override
public <T> T getObject(String columnLabel, Class<T> type)
throws SQLException
{
throw new SQLFeatureNotSupportedException("getObject");
}
@SuppressWarnings("unchecked")
@Override
public <T> T unwrap(Class<T> iface)
throws SQLException
{
if (isWrapperFor(iface)) {
return (T) this;
}
throw new SQLException("No wrapper for " + iface);
}
@Override
public boolean isWrapperFor(Class<?> iface)
throws SQLException
{
return iface.isInstance(this);
}
void partialCancel()
{
client.cancelLeafStage();
}
private void checkOpen()
throws SQLException
{
if (isClosed()) {View on GitHub (pinned to 55bb57d202)
Solutions
- Only unwrap interfaces the PrestoResultSet actually implements (check isWrapperFor first)
- Cast to PrestoResultSet directly only if driver-specific APIs are needed
- Catch SQLException around unwrap when probing for optional interfaces
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoResultSet.java:1640 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/d9dda8c916052ded.
Report an issue: GitHub.