String typeName = columns.getString(7);
sqlType = checkForUnsigned(sqlType, typeName);
if (columnType == DatabaseMetaData.procedureColumnUnknown) {
continue; //there's a good chance this won't work
}
BaseColumn record = null;
int precision = columns.getInt(8);
String runtimeType = getRuntimeType(sqlType, typeName, precision);
if (columnType == DatabaseMetaData.procedureColumnResult) {
Column column = metadataFactory.addProcedureResultSetColumn(columnName, runtimeType, procedure);
record = column;
column.setNativeType(typeName);
} else {
record = metadataFactory.addProcedureParameter(columnName, runtimeType, Type.values()[columnType], procedure);
}
record.setPrecision(columns.getInt(8));
record.setLength(columns.getInt(9));
record.setScale(columns.getInt(10));
record.setRadix(columns.getInt(11));
record.setNullType(NullType.values()[columns.getShort(12)]);
record.setAnnotation(columns.getString(13));
}
}
procedures.close();
}