You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Caused by: java.lang.IllegalArgumentException: Cannot encode null parameter of type java.lang.Object
at io.r2dbc.postgresql.codec.DefaultCodecs.encodeNull(DefaultCodecs.java:184)
I couldn't reproduce the problem with JDBC.
The row((String) null) expression should explicitly receive the row(TAuthor_FIRST_NAME())'s data types
Hmm, trying to fix this, it seems that our internal conversion utility and org.jooq.impl.ConvertedVal doesn't work for this case. But I'm not convinced we can get this right.
The intention of row((String) null) seems to be to create a row of type String without any converter or binding attached to it. In the special case of null we cannot detect that String type at compile time, so we could derive it from the left-hand-side at runtime.
But if we had a string value, e.g. "A", it wouldn't be possible to be sure of whether that value is already the bind value, or the user defined type in case there's a Converter<String, String>. This problem is specific to using row() with values.
Just as with
ROW
comparisons (see #8517), aROW
update statement should coerce data types of argument rows if possible. For example:This seems to fails with (see report here: https://groups.google.com/g/jooq-user/c/OtOqBK8_leM):
I couldn't reproduce the problem with JDBC.
The
row((String) null)
expression should explicitly receive therow(TAuthor_FIRST_NAME())
's data typesSee also:
https://groups.google.com/g/jooq-user/c/OtOqBK8_leM
The text was updated successfully, but these errors were encountered: