提交 60553337 编写于 作者: B Bruce Momjian

Attached is a patch which deals with

select 'id' as xxx from table

The issue is:

When the driver gets a data type which does not map into the SQL.Types
it attempts to load the object into a java object. Eventually throwing
an exception indicating that the type "unknown" was not found.

Since the backend defaults "unknown" types to text it was suggested that
the jdbc driver do the same.

This patch does just that.

I have tested it on the above select statement as well as a small
program that serializes, and deserializes a class

Dave Cramer
上级 96471bf1
......@@ -862,7 +862,13 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
case Types.VARBINARY:
return getBytes(columnIndex);
default:
return connection.getObject(field.getPGType(), getString(columnIndex));
String type = field.getPGType();
// if the backend doesn't know the type then coerce to String
if (type.equals("unknown")){
return getString(columnIndex);
}else{
return connection.getObject(field.getPGType(), getString(columnIndex));
}
}
}
......
......@@ -727,7 +727,13 @@ public class ResultSet extends org.postgresql.ResultSet implements java.sql.Resu
case Types.VARBINARY:
return getBytes(columnIndex);
default:
return connection.getObject(field.getPGType(), getString(columnIndex));
String type = field.getPGType();
// if the backend doesn't know the type then coerce to String
if (type.equals("unknown")){
return getString(columnIndex);
}else{
return connection.getObject(field.getPGType(), getString(columnIndex));
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册