Hi,
Not sure if this is a bug or not, so decided to ask here first.

After updagrading my MariaDB Connector/Java from 2.7.12 to 3.5.4 I got
the following problem using Commons BeanUtils: if the query results in
computed NULL values, constructing RowSetDynaClass from the result set
throws SQLException. Apparently metadata.getColumnClassName(i) now
returns "byte[]", for which Class.forName does not work and loadClass
fails. Minimal reproducible example:

String sql = "SELECT NULL AS test FROM DUAL;";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rset = stmt.executeQuery();
RowSetDynaClass rsdc = new RowSetDynaClass(rset);


results in

java.sql.SQLException: Cannot load column class 'byte[]':
java.lang.ClassNotFoundException: byte[]
at org.apache.commons.beanutils.JDBCDynaClass.loadClass(JDBCDynaClass.java:274)
at 
org.apache.commons.beanutils.JDBCDynaClass.createDynaProperty(JDBCDynaClass.java:121)
at org.apache.commons.beanutils.JDBCDynaClass.introspect(JDBCDynaClass.java:238)
at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:207)

Any thoughts?

- Jukka Toivanen

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to