prestodb/presto · error · SQLException
Schema name is empty:
Error message
Schema name is empty:
What it means
initCatalogAndSchema checks the optional second path segment: when a schema position exists in the URL path but its value is empty (e.g. /catalog/), this SQLException is thrown with the URI, since an explicit-but-empty schema name is ambiguous.
Source
Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java:419
List<String> parts = Splitter.on("/").splitToList(path);
// remove last item due to a trailing slash
if (parts.get(parts.size() - 1).isEmpty()) {
parts = parts.subList(0, parts.size() - 1);
}
if (parts.size() > 2) {
throw new SQLException("Invalid path segments in URL: " + uri);
}
if (parts.get(0).isEmpty()) {
throw new SQLException("Catalog name is empty: " + uri);
}
catalog = parts.get(0);
if (parts.size() > 1) {
if (parts.get(1).isEmpty()) {
throw new SQLException("Schema name is empty: " + uri);
}
schema = parts.get(1);
}
}
private static Properties mergeConnectionProperties(URI uri, Properties driverProperties)
throws SQLException
{
Map<String, String> defaults = ConnectionProperties.getDefaults();
Map<String, String> urlProperties = parseParameters(uri.getQuery());
Map<String, String> suppliedProperties = Maps.fromProperties(driverProperties);
for (String key : urlProperties.keySet()) {
if (suppliedProperties.containsKey(key)) {
throw new SQLException(format("Connection property '%s' is both in the URL and an argument", key));
}
}
View on GitHub (pinned to 55bb57d202)
Solutions
- Supply a schema name after the catalog, e.g. jdbc:presto://host:port/catalog/schema
- Drop the trailing slash so only the catalog is specified
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-jdbc/src/main/java/com/facebook/presto/jdbc/PrestoDriverUri.java:419 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/cf1b492bcb5913a4.
Report an issue: GitHub.