We're updating the issue view to help you get more done.Learn more

"No such column" when getting results by index without alias

Query:
select count💛 from table_a;

Retrieve results using:
int count = resultSet.getInt(1);

Problem:
Driver needs to translate index to a column name. In MySQLResultSetMetaData.getColumnName(index), the method getColumnInformation(column).getOriginalName() returns "". If I changed the code to this workaround:

public String getColumnName(final int column) throws SQLException {
String results = getColumnInformation(column).getOriginalName();
if (results == null || "".equals(results))

{ results = getColumnInformation(column).getName(); }

return results;
}

then it works. This is because getColumnInformation(column).getName() returns "count💛" which is what is needed in ColumnNameMap.getIndex(name).

I don't know the code deep enough to tell if the workaround above is the best way to address the issue, please advise.

Status

Assignee

Vladislav Vaintroub

Reporter

Keith Chew

Fix versions

Affects versions

1.1.0

Priority

Major