diff -u -r src/com/mysql/jdbc/ResultSetImpl.java src.new/com/mysql/jdbc/ResultSetImpl.java --- src/com/mysql/jdbc/ResultSetImpl.java 2008-03-05 17:27:00.000000000 +0100 +++ src.new/com/mysql/jdbc/ResultSetImpl.java 2008-03-07 17:11:33.626024000 +0100 @@ -710,6 +710,7 @@ this.columnNameToIndex = new TreeMap(String.CASE_INSENSITIVE_ORDER); this.fullColumnNameToIndex = new TreeMap(String.CASE_INSENSITIVE_ORDER); + boolean useOldAlias = this.connection.getUseOldAliasMetadataBehavior(); // We do this in reverse order, so that the 'first' column // with a given name ends up as the final mapping in the @@ -725,7 +726,16 @@ // for (int i = numFields - 1; i >= 0; i--) { Integer index = Constants.integerValueOf(i); - String columnName = this.fields[i].getName(); + String columnName; + if (useOldAlias) { // Ensure that this in sync with ResultsetMetadata.getColumnName + columnName = this.fields[i].getName(); + } else { + columnName = this.fields[i].getNameNoAliases(); + + if (columnName != null && columnName.length() == 0) { + columnName = this.fields[i].getName(); + } + } String fullColumnName = this.fields[i].getFullName(); if (columnName != null) { @@ -1069,6 +1079,7 @@ buildIndexMapping(); } + index = (Integer) this.columnNameToIndex.get(columnName); if (index == null) { Sólo en src.new: docs