OtterMind/Chat2DB · error · IllegalArgumentException
Oscar index requires at least one named column
Error message
Oscar index requires at least one named column
What it means
Error "Oscar index requires at least one named column" thrown in OtterMind/Chat2DB.
Source
Thrown at chat2db-community-server/chat2db-community-plugins/chat2db-community-oscar/src/main/java/ai/chat2db/plugin/oscar/enums/type/OscarIndexTypeEnum.java:84
return StringUtils.join(buildDropIndex(tableIndex), SQLConstants.SEMICOLON_LINE_SEPARATOR,
buildIndexScript(tableIndex));
}
if (EditStatusEnum.ADD.name().equals(tableIndex.getEditStatus())) {
return buildIndexScript(tableIndex);
}
return SQLConstants.EMPTY;
}
private String buildDropIndex(TableIndex tableIndex) {
if (PRIMARY_KEY.getName().equals(tableIndex.getType())) {
return SQLConstants.ALTER_TABLE_SQL_PREFIX + tableName(tableIndex) + SQLConstants.DROP_PRIMARY_KEY_SQL;
}
return SQLConstants.DROP_INDEX_SQL_PREFIX + indexName(tableIndex);
}
private String buildIndexColumn(TableIndex tableIndex, boolean includeSort) {
if (CollectionUtils.isEmpty(tableIndex.getColumnList())) {
throw new IllegalArgumentException("Oscar index requires at least one named column");
}
StringBuilder script = new StringBuilder(SQLConstants.OPEN_PARENTHESIS);
int columnCount = 0;
for (TableIndexColumn column : tableIndex.getColumnList()) {
if (column == null || StringUtils.isBlank(column.getColumnName())) {
continue;
}
script.append(OscarUtils.quoteIdentifierIgnoreCase(column.getColumnName()));
if (includeSort && StringUtils.isNotBlank(column.getAscOrDesc())) {
script.append(SQLConstants.SPACE).append(OscarSqlGuards.requireSortOrder(column.getAscOrDesc()));
}
script.append(SQLConstants.COMMA);
columnCount++;
}
if (columnCount == 0) {
throw new IllegalArgumentException("Oscar index requires at least one named column");
}
script.deleteCharAt(script.length() - 1);View on GitHub (pinned to 5ee1e990e7)
Solutions
- Add at least one named column to the index definition.
When it happens
Trigger: An Oscar index was defined without any column.
Common situations: See trigger scenarios.
AI-assisted analysis of OtterMind/Chat2DB@5ee1e990e7 (2026-08-14).
Data as JSON: /api/errors/1fc5b3f689dbb085.
Report an issue: GitHub.