Sure. I'll post the code examples to the github issue. On Monday, March 12, 2018 at 6:45:19 AM UTC-5, Lukas Eder wrote: > > Thank you very much for your report. I have created an issue to track this: > https://github.com/jOOQ/jOOQ/issues/7285 > > However, I wasn't able to reproduce it from your description. Would you > mind sharing your converter and how it can be used in an example jOOQ API > call in order to produce this stack trace? > > Thanks, > Lukas > > 2018-03-09 19:35 GMT+01:00 <[email protected] <javascript:>>: > >> We recently tried upgrading from jOOQ 3.9.6 to 3.10.5 and ran into an >> issue I thought was worthy of being mentioned. >> >> The test was attempting to insert a new record and it was throwing a >> NullPointerException. Here is the relevant stacktrace: >> java.lang.NullPointerException >> at com.everydollar.type.ImmutableValue.toString(ImmutableValue.java:32) >> at java.lang.String.valueOf(String.java:2994) >> at org.jooq.impl.AbstractParam.name(AbstractParam.java:109) >> at org.jooq.impl.AbstractParam.<init>(AbstractParam.java:82) >> at org.jooq.impl.AbstractParam.<init>(AbstractParam.java:78) >> at org.jooq.impl.Val.<init>(Val.java:60) >> at org.jooq.impl.DSL.val(DSL.java:18569) >> at org.jooq.impl.DSL.val(DSL.java:18537) >> at org.jooq.impl.FieldMapsForInsert.addFields(FieldMapsForInsert.java:233) >> at org.jooq.impl.FieldMapsForInsert.set(FieldMapsForInsert.java:258) >> at org.jooq.impl.FieldMapsForInsert$2.put(FieldMapsForInsert.java:333) >> at org.jooq.impl.FieldMapsForInsert$2.put(FieldMapsForInsert.java:299) >> at org.jooq.impl.AbstractStoreQuery.addValue(AbstractStoreQuery.java:93) >> at org.jooq.impl.TableRecordImpl.addValue(TableRecordImpl.java:297) >> at org.jooq.impl.TableRecordImpl.addValue(TableRecordImpl.java:304) >> at >> org.jooq.impl.TableRecordImpl.addChangedValues(TableRecordImpl.java:288) >> at org.jooq.impl.TableRecordImpl.storeInsert0(TableRecordImpl.java:179) >> at org.jooq.impl.TableRecordImpl$1.operate(TableRecordImpl.java:168) >> at org.jooq.impl.RecordDelegate.operate(RecordDelegate.java:125) >> at org.jooq.impl.TableRecordImpl.storeInsert(TableRecordImpl.java:164) >> at org.jooq.impl.TableRecordImpl.insert(TableRecordImpl.java:152) >> at org.jooq.impl.TableRecordImpl.insert(TableRecordImpl.java:147) >> >> It appears this issue is a result of our custom converter not returning >> null when receiving a null. I traced it back to the `addFields` method in >> `FieldMapsForInsert`. It calls `DSL.val(null, f)` which calls our converts >> `from` method. Which seemed odd to be since the test was only performing an >> insert and not a select. >> >> The fix is fairly easy since I can update our converter to check for null >> inputs. The original thinking there was this field is NON NULL in all the >> tables and so I felt it wasn't necessary to check for nulls. But I guess >> that isn't the case anymore. >> >> I see in the javadoc for Converter that it's recommended to return null >> if receiving a null, so I'll take that approach. I just though it was worth >> bringing up in case it was a bug or at least to help others if they upgrade >> to 3.10. >> >> Thanks, >> James Lorenzen >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jOOQ User Group" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > >
-- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
