Ooh that's awesome. I missed the changelog on this release. I'm glad we
finally have Jsonb support.



On Wed, Sep 18, 2019, 08:34 Debapriya Patra <[email protected]>
wrote:

> Thank You Lukas !! It worked for me
>
> On Wednesday, September 18, 2019 at 8:01:11 AM UTC-7, Lukas Eder wrote:
>>
>> Mainly, replace java.lang.Object references by org.jooq.JSONB, and fix
>> code that does not compile by wrapping / unwrapping the JSON string from
>> the JSONB class.
>>
>> I hope this helps,
>> Lukas
>>
>> On Wed, Sep 18, 2019 at 4:40 PM Debapriya Patra <[email protected]>
>> wrote:
>>
>> Hi,
>>
>> I am little confused here.
>>
>> This is what is my JsonBinder is.
>>
>> package com.chegg.flipper.service;
>>
>> import com.google.gson.Gson;
>> import com.google.gson.JsonElement;
>> import com.google.gson.JsonNull;
>> import org.jooq.*;
>> import org.jooq.conf.ParamType;
>> import org.jooq.impl.DSL;
>>
>> import java.sql.SQLException;
>> import java.sql.SQLFeatureNotSupportedException;
>> import java.sql.Types;
>> import java.util.Objects;
>>
>> import static org.jooq.tools.Convert.convert;
>>
>> public class PostgresJSONGsonBinding implements Binding<Object, 
>> JsonElement>z {
>>
>>     // The converter does all the work
>>     @Override
>>     public Converter<Object, JsonElement> converter() {
>>         return new Converter<Object, JsonElement>() {
>>             @Override
>>             public JsonElement from(Object t) {
>>                 return t == null ? JsonNull.INSTANCE : new 
>> Gson().fromJson("" + t, JsonElement.class);
>>             }
>>
>>             @Override
>>             public Object to(JsonElement u) {
>>                 return u == null || u == JsonNull.INSTANCE ? null : new 
>> Gson().toJson(u);
>>             }
>>
>>             @Override
>>             public Class<Object> fromType() {
>>                 return Object.class;
>>             }
>>
>>             @Override
>>             public Class<JsonElement> toType() {
>>                 return JsonElement.class;
>>             }
>>         };
>>     }
>>
>>     // Rending a bind variable for the binding context's value and casting 
>> it to the json type
>>     @Override
>>     public void sql(BindingSQLContext<JsonElement> ctx) throws SQLException {
>>         // Depending on how you generate your SQL, you may need to 
>> explicitly distinguish
>>         // between jOOQ generating bind variables or inlined literals.
>>         if (ctx.render().paramType() == ParamType.INLINED)
>>             
>> ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json");
>>         else
>>             ctx.render().sql("?::json");
>>     }
>>
>>     // Registering VARCHAR types for JDBC CallableStatement OUT parameters
>>     @Override
>>     public void register(BindingRegisterContext<JsonElement> ctx) throws 
>> SQLException {
>>         ctx.statement().registerOutParameter(ctx.index(), Types.VARCHAR);
>>     }
>>
>>     // Converting the JsonElement to a String value and setting that on a 
>> JDBC PreparedStatement
>>     @Override
>>     public void set(BindingSetStatementContext<JsonElement> ctx) throws 
>> SQLException {
>>         ctx.statement().setString(ctx.index(), 
>> Objects.toString(ctx.convert(converter()).value(), null));
>>     }
>>
>>     // Getting a String value from a JDBC ResultSet and converting that to a 
>> JsonElement
>>     @Override
>>     public void get(BindingGetResultSetContext<JsonElement> ctx) throws 
>> SQLException {
>>         
>> ctx.convert(converter()).value(ctx.resultSet().getString(ctx.index()));
>>     }
>>
>>     // Getting a String value from a JDBC CallableStatement and converting 
>> that to a JsonElement
>>     @Override
>>     public void get(BindingGetStatementContext<JsonElement> ctx) throws 
>> SQLException {
>>         
>> ctx.convert(converter()).value(ctx.statement().getString(ctx.index()));
>>     }
>>
>>     // Setting a value on a JDBC SQLOutput (useful for Oracle OBJECT types)
>>     @Override
>>     public void set(BindingSetSQLOutputContext<JsonElement> ctx) throws 
>> SQLException {
>>         throw new SQLFeatureNotSupportedException();
>>     }
>>
>>     // Getting a value from a JDBC SQLInput (useful for Oracle OBJECT types)
>>     @Override
>>     public void get(BindingGetSQLInputContext<JsonElement> ctx) throws 
>> SQLException {
>>         throw new SQLFeatureNotSupportedException();
>>     }
>> }
>>
>>
>> What changes you are expecting me to do here ?
>>
>> Thanks,
>> Deba
>>
>>
>> On Wednesday, September 18, 2019 at 12:57:34 AM UTC-7, Lukas Eder wrote:
>>
>> I do wonder if this change of introducing the new org.jooq.JSON(B) types
>> was a bit too "harsh" for existing jOOQ users. What remedies would be
>> possible? We cannot customise compilation errors here...
>>
>> On Wed, Sep 18, 2019 at 8:07 AM Knut Wannheden <[email protected]>
>> wrote:
>>
>> Hi Deba,
>>
>> As you can see your CARD_SCORE field uses the new JSONB data type (new in
>> jOOQ 3.12) and as a consequence you need to change the generic type
>> parameters and implementation of PostgresJSONJsonNodeBinding to match that.
>> I suggest you take a look at https://github.com/jOOQ/jOOQ/issues/9195 where
>> this question was recently discussed.
>>
>> Hope this helps,
>> Knut
>>
>> On Wed, Sep 18, 2019 at 1:27 AM Debapriya Patra <[email protected]>
>> wrote:
>>
>> Hi,
>>
>> I have upgraded from jOOQ-3.11.8 => jOOQ-3.12.1 which is causing an issue
>> while generating/compiling one of jOOQ generated java class.
>>
>> Its generating a field which is not getting compiled because method is no
>> more present in 3.12.1 . I am not clear how the class is generated with
>> that method .
>>
>> *Java File Generated By Jooq*
>>
>> /*
>>  * This file is generated by jOOQ.
>>  */
>> package com.chegg.flipper_service.db.tables;
>>
>>
>> import com.chegg.flipper.service.PostgresJSONJsonNodeBinding;
>> import com.chegg.flipper_service.db.Public;
>> import com.chegg.flipper_service.db.enums.EndSessionReason;
>> import com.chegg.flipper_service.db.enums.SessionFilter;
>> import com.chegg.flipper_service.db.enums.SessionSide;
>> import com.chegg.flipper_service.db.tables.records.ScoringSessionRecord;
>> import com.fasterxml.jackson.databind.JsonNode;
>>
>> import java.math.BigDecimal;
>> import java.sql.Timestamp;
>> import java.util.UUID;
>>
>> import javax.annotation.processing.Generated;
>>
>> import org.jooq.Field;
>> import org.jooq.ForeignKey;
>> import org.jooq.Name;
>> import org.jooq.Record;
>> import org.jooq.Row12;
>> import org.jooq.Schema;
>> import org.jooq.Table;
>> import org.jooq.TableField;
>> import org.jooq.impl.DSL;
>> import org.jooq.impl.TableImpl;
>>
>>
>> /**
>>  * This class is generated by jOOQ.
>>  */
>> @Generated(
>>     value = {
>>         "http://www.jooq.org";,
>>         "jOOQ version:3.12.1"
>>     },
>>     comments = "This class is generated by jOOQ"
>> )
>> @SuppressWarnings({ "all", "unchecked", "rawtypes" })
>> public class ScoringSession extends TableImpl<ScoringSessionRecord> {
>>
>>     private static final long serialVersionUID = -871868814;
>>
>>     /**
>>      * The reference instance of <code>public.scoring_session</code>
>>      */
>>     public static final ScoringSession SCORING_SESSION = new 
>> ScoringSession();
>>
>>     /**
>>      * The class holding records for this type
>>      */
>>     @Override
>>     public Class<ScoringSessionRecord> getRecordType() {
>>         return ScoringSessionRecord.class;
>>     }
>>
>>     /**
>>      * The column <code>public.scoring_session.id</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, UUID> ID = 
>> createField(DSL.name("id"), org.jooq.impl.SQLDataType.UUID, this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.created</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, Timestamp> CREATED = 
>> createField(DSL.name("created"), org.jooq.impl.SQLDataType.TIMESTAMP, this, 
>> "");
>>
>>     /**
>>      * The column <code>public.scoring_session.updated</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, Timestamp> UPDATED = 
>> createField(DSL.name("updated"), org.jooq.impl.SQLDataType.TIMESTAMP, this, 
>> "");
>>
>>     /**
>>      * The column <code>public.scoring_session.deck_id</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, UUID> DECK_ID = 
>> createField(DSL.name("deck_id"), org.jooq.impl.SQLDataType.UUID, this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.session_size</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, Integer> SESSION_SIZE = 
>> createField(DSL.name("session_size"), org.jooq.impl.SQLDataType.INTEGER, 
>> this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.session_filter</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, SessionFilter> 
>> SESSION_FILTER = createField(DSL.name("session_filter"), 
>> org.jooq.impl.SQLDataType.VARCHAR.asEnumDataType(com.chegg.flipper_service.db.enums.SessionFilter.class),
>>  this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.session_side</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, SessionSide> SESSION_SIDE 
>> = createField(DSL.name("session_side"), 
>> org.jooq.impl.SQLDataType.VARCHAR.asEnumDataType(com.chegg.flipper_service.db.enums.SessionSide.class),
>>  this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.card_score</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, JsonNode> CARD_SCORE = 
>> createField(DSL.name("card_score"), org.jooq.impl.SQLDataType.JSONB, this, 
>> "", new PostgresJSONJsonNodeBinding());
>>
>>     /**
>>      * The column <code>public.scoring_session.end_session</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, Boolean> END_SESSION = 
>> createField(DSL.name("end_session"), org.jooq.impl.SQLDataType.BOOLEAN, 
>> this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.user_id</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, UUID> USER_ID = 
>> createField(DSL.name("user_id"), org.jooq.impl.SQLDataType.UUID, this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.percentage</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, BigDecimal> PERCENTAGE = 
>> createField(DSL.name("percentage"), org.jooq.impl.SQLDataType.NUMERIC(5, 2), 
>> this, "");
>>
>>     /**
>>      * The column <code>public.scoring_session.reason</code>.
>>      */
>>     public final TableField<ScoringSessionRecord, EndSessionReason> REASON = 
>> createField(DSL.name("reason"), 
>> org.jooq.impl.SQLDataType.VARCHAR.asEnumDataType(com.chegg.flipper_service.db.enums.EndSessionReason.class),
>>  this, "");
>>
>>     /**
>>      * Create a <code>public.scoring_session</code> table reference
>>      */
>>     public ScoringSession() {
>>         this(DSL.name("scoring_session"), null);
>>     }
>>
>>     /**
>>      * Create an aliased <code>public.scoring_session</code> table reference
>>      */
>>     public ScoringSession(String alias) {
>>         this(DSL.name(alias), SCORING_SESSION);
>>     }
>>
>>     /**
>>      * Create an aliased <code>public.scoring_session</code> table reference
>>      */
>>     public ScoringSession(Name alias) {
>>         this(alias, SCORING_SESSION);
>>     }
>>
>>     private ScoringSession(Name alias, Table<ScoringSessionRecord> aliased) {
>>         this(alias, aliased, null);
>>     }
>>
>>     private ScoringSession(Name alias, Table<ScoringSessionRecord> aliased, 
>> Field<?>[] parameters) {
>>         super(alias, null, aliased, parameters, DSL.comment(""));
>>     }
>>
>>     public <O extends Record> ScoringSession(Table<O> child, ForeignKey<O, 
>> ScoringSessionRecord> key) {
>>         super(child, key, SCORING_SESSION);
>>     }
>>
>>     @Override
>>     public Schema getSchema() {
>>         return Public.PUBLIC;
>>     }
>>
>>     @Override
>>     public ScoringSession as(String alias) {
>>         return new ScoringSession(DSL.name(alias), this);
>>     }
>>
>>     @Override
>>     public ScoringSession as(Name alias) {
>>         return new ScoringSession(alias, this);
>>     }
>>
>>     /**
>>      * Rename this table
>>      */
>>     @Override
>>     public ScoringSession rename(String name) {
>>         return new ScoringSession(DSL.name(name), null);
>>     }
>>
>>     /**
>>      * Rename this table
>>      */
>>     @Override
>>     public ScoringSession rename(Name name) {
>>         return new ScoringSession(name, null);
>>     }
>>
>>     // 
>> -------------------------------------------------------------------------
>>     // Row12 type methods
>>     // 
>> -------------------------------------------------------------------------
>>
>>     @Override
>>     public Row12<UUID, Timestamp, Timestamp, UUID, Integer, SessionFilter, 
>> SessionSide, JsonNode, Boolean, UUID, BigDecimal, EndSessionReason> 
>> fieldsRow() {
>>         return (Row12) super.fieldsRow();
>>     }
>> }
>>
>>
>> *Compile Error For the field*
>>
>> /**
>>  * The column <code>public.scoring_session.card_score</code>.
>>  */
>> public final TableField<ScoringSessionRecord, JsonNode> CARD_SCORE = 
>> createField(DSL.name("card_score"), org.jooq.impl.SQLDataType.JSONB, this, 
>> "", new PostgresJSONJsonNodeBinding());
>>
>>
>> *Jooq Generated Log With Compile Error*
>>
>> Ente> Task :generateDbJooqSchemaSource
>> Sep 17, 2019 3:34:56 PM org.jooq.tools.JooqLogger info
>> INFO: Initialising properties  :
>> /Users/dpatra/Downloads/FTCodeBase/FlipperService/flipper-service/build/tmp/generateDbJooqSchemaSource/config.xml
>> WARNING: An illegal reflective access operation has occurred
>> WARNING: Illegal reflective access by org.jooq.tools.reflect.Reflect
>> (file:/Users/dpatra/.gradle/caches/modules-2/files-2.1/org.jooq/jooq/3.12.1/e781f264e17756c3f372d72ec29c7049cc65473c/jooq-3.12.1.jar)
>> to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class)
>> WARNING: Please consider reporting this to the maintainers of
>> org.jooq.tools.reflect.Reflect
>> WARNING: Use --illegal-access=warn to enable warnings of further illegal
>> reflective access operations
>> WARNING: All illegal access operations will be denied in a future release
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: No <inputCatalog/> was provided. Generating ALL available catalogs
>> instead.
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: License parameters
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   Thank you for using jOOQ and jOOQ's code generator
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Database parameters
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   dialect                : POSTGRES
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   URL                    : jdbc:postgresql://localhost:5432/flipper
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   target dir             : build/src/generated/java
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   target package         : com.chegg.flipper_service.db
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   includes               : [.*]
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   excludes               :
>> [BATCH_.*|API_OUTPUT_.*|DATABASECHANGELOG.*]
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   includeExcludeColumns  : false
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: JavaGenerator parameters
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   annotations (generated): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   annotations (JPA: any) : false
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   annotations (JPA: version):
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   annotations (validation): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments               : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on attributes : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on catalogs   : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on columns    : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on keys       : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on links      : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on packages   : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on parameters : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on queues     : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on routines   : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on schemas    : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on sequences  : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on tables     : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   comments on udts       : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   daos                   : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   deprecated code        : false
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (any): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (catalogs): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (keys): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (links): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (queues): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (routines): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (schemas): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (sequences): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (tables): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   global references (udts): true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   indexes                : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   instance fields        : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   interfaces             : false
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   interfaces (immutable) : false
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   javadoc                : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   keys                   : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   links                  : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   pojos                  : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   pojos (immutable)      : false
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   queues                 : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   records                : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   routines               : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   sequences              : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   table-valued functions : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   tables                 : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   udts                   : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:   relations              : true
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generation remarks
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating catalogs      : Total: 1
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:
>>
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> @@@@@@@@@@@@@@@@  @@        @@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@        @@@@@@@@@@
>> @@@@@@@@@@@@@@@@  @@  @@    @@@@@@@@@@
>> @@@@@@@@@@  @@@@  @@  @@    @@@@@@@@@@
>> @@@@@@@@@@        @@        @@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> @@@@@@@@@@        @@        @@@@@@@@@@
>> @@@@@@@@@@    @@  @@  @@@@  @@@@@@@@@@
>> @@@@@@@@@@    @@  @@  @@@@  @@@@@@@@@@
>> @@@@@@@@@@        @@  @  @  @@@@@@@@@@
>> @@@@@@@@@@        @@        @@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  Thank you for using jOOQ 3.12.1
>>
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ARRAYs fetched           : 0 (0 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Enums fetched            : 3 (3 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: No schema version is applied for catalog . Regenerating.
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO:
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating catalog       : DefaultCatalog.java
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ==========================================================
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating schemata      : Total: 1
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: No schema version is applied for schema public. Regenerating.
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating schema        : Public.java
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: ----------------------------------------------------------
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Tables fetched           : 3 (3 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Sequences fetched        : 0 (0 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: UDTs fetched             : 0 (0 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating tables
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Synthetic primary keys   : 0 (0 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Overriding primary keys  : 1 (0 included, 1 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating table         : FlywaySchemaHistory.java
>> [input=flyway_schema_history, output=flyway_schema_history,
>> pk=flyway_schema_history_pk]
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger warn
>> WARNING: DEPRECATED               : The <expression/> element in
>> <forcedType/> is deprecated. Use <includeExpression/> instead:
>> <userType>com.fasterxml.jackson.databind.JsonNode</userType><binding>com.chegg.flipper.service.PostgresJSONJsonNodeBinding</binding><includeExpression>^.*[.]+(.*)?CARD_SCORE$</includeExpression><types>.*</types><nullability>ALL</nullability><objectType>ALL</objectType>
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger warn
>> WARNING: DEPRECATED               : The <types/> element in <forcedType/>
>> is deprecated. Use <includeTypes/> instead:
>> <userType>com.fasterxml.jackson.databind.JsonNode</userType><binding>com.chegg.flipper.service.PostgresJSONJsonNodeBinding</binding><includeExpression>^.*[.]+(.*)?CARD_SCORE$</includeExpression><includeTypes>.*</includeTypes><nullability>ALL</nullability><objectType>ALL</objectType>
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Embeddables fetched      : 0 (0 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Indexes fetched          : 2 (2 included, 0 excluded)
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Generating table         : ScoringSession.java
>> [input=scoring_session, output=scoring_session, pk=N/A]
>> Sep 17, 2019 3:34:57 PM org.jooq.tools.JooqLogger info
>> INFO: Forcing type             : public.scoring_session.card_score to
>> <userType>com.fasterxml.jackson.databind.JsonNode</userType><binding>com.chegg.flipper.service.PostgresJSONJsonNodeBinding</binding><includeExpression>^.*[.]+(.*)?CARD_SCORE$</includeExpression><includeTypes>.*</includeTypes><nullability>ALL</nullability><objectType>ALL</objectType>
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating table         : ScoringSessionCardScore.java
>> [input=scoring_session_card_score, output=scoring_session_card_score,
>> pk=N/A]
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Tables generated         : Total: 839.671ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating table POJOs
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating POJO          : FlywaySchemaHistory.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating POJO          : ScoringSession.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating POJO          : ScoringSessionCardScore.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Table POJOs generated    : Total: 876.257ms, +36.586ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating DAOs
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating DAO           : FlywaySchemaHistoryDao.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating DAO           : ScoringSessionDao.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Skipping DAO generation  : ScoringSessionDao.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating DAO           : ScoringSessionCardScoreDao.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Skipping DAO generation  : ScoringSessionCardScoreDao.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Table DAOs generated     : Total: 883.655ms, +7.398ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating table references
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Table refs generated     : Total: 886.1ms, +2.444ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating Keys
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Keys generated           : Total: 889.325ms, +3.224ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating Indexes
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Indexes generated        : Total: 891.595ms, +2.27ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating table records
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating record        : FlywaySchemaHistoryRecord.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating record        : ScoringSessionRecord.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating record        : ScoringSessionCardScoreRecord.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Table records generated  : Total: 915.839ms, +24.243ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating ENUMs
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating ENUM          : EndSessionReason.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating ENUM          : SessionFilter.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating ENUM          : SessionSide.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Enums generated          : Total: 927.798ms, +11.959ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Domains fetched          : 0 (0 included, 0 excluded)
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Routines fetched         : 10 (10 included, 0 excluded)
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routines and table-valued functions
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidGenerateV1.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidGenerateV1mc.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidGenerateV3.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidGenerateV4.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidGenerateV5.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidNil.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidNsDns.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidNsOid.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidNsUrl.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generating routine       : UuidNsX500.java
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Routines generated       : Total: 1.079s, +151.403ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Generation finished: public: Total: 1.079s, +0.271ms
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO:
>> Sep 17, 2019 3:34:58 PM org.jooq.tools.JooqLogger info
>> INFO: Removing excess files
>>
>> > Task :compileJava
>> /Users/dpatra/Downloads/FTCodeBase/FlipperService/flipper-service/src/main/java/com/chegg/flipper/service/model/event/FlipperEndEvent.java:7:
>> warning: Generating equals/hashCode implementation but without a call to
>> superclass, even though this class does not extend java.lang.Object. If
>> this is intentional, add '@EqualsAndHashCode(callSuper=false)' to your type.
>> @Data
>> ^
>> /Users/dpatra/Downloads/FTCodeBase/FlipperService/flipper-service/build/src/generated/java/com/chegg/flipper_service/db/tables/ScoringSession.java:99:
>> error: no suitable method found for
>> createField(Name,DataType<JSONB>,ScoringSession,String,PostgresJSONJsonNodeBinding)
>>     public final TableField<ScoringSessionRecord, JsonNode> CARD_SCORE =
>> createField(DSL.name("card_score"), org.jooq.impl.SQLDataType.JSONB, this,
>> "", new PostgresJSONJsonNodeBinding());
>>                                                                          ^
>>     method
>> AbstractTable.<R#1,T#1>createField(String,DataType<T#1>,Table<R#1>) is not
>> applicable
>>       (cannot infer type-variable(s) R#1,T#1
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<R#2,T#2>createField(String,DataType<T#2>,Table<R#2>,String)
>> is not applicable
>>       (cannot infer type-variable(s) R#2,T#2
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<R#3,T#3,U#1>createField(String,DataType<T#3>,Table<R#3>,String,Converter<T#3,U#1>)
>> is not applicable
>>       (cannot infer type-variable(s) R#3,T#3,U#1
>>         (argument mismatch; Name cannot be converted to String))
>>     method
>> AbstractTable.<R#4,T#4,U#2>createField(String,DataType<T#4>,Table<R#4>,String,Binding<T#4,U#2>)
>> is not applicable
>>       (cannot infer type-variable(s) R#4,T#4,U#2
>>         (argument mismatch; Name cannot be converted to String))
>>     method
>> AbstractTable.<R#5,T#5,X#1,U#3>createField(String,DataType<T#5>,Table<R#5>,String,Converter<X#1,U#3>,Binding<T#5,X#1>)
>> is not applicable
>>       (cannot infer type-variable(s) R#5,T#5,X#1,U#3
>>         (actual and formal argument lists differ in length))
>>     method AbstractTable.<T#6>createField(String,DataType<T#6>) is not
>> applicable
>>       (cannot infer type-variable(s) T#6
>>         (actual and formal argument lists differ in length))
>>     method AbstractTable.<T#7>createField(String,DataType<T#7>,String) is
>> not applicable
>>       (cannot infer type-variable(s) T#7
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<T#8,U#4>createField(String,DataType<T#8>,String,Converter<T#8,U#4>)
>> is not applicable
>>       (cannot infer type-variable(s) T#8,U#4
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<T#9,U#5>createField(String,DataType<T#9>,String,Binding<T#9,U#5>)
>> is not applicable
>>       (cannot infer type-variable(s) T#9,U#5
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<T#10,X#2,U#6>createField(String,DataType<T#10>,String,Converter<X#2,U#6>,Binding<T#10,X#2>)
>> is not applicable
>>       (cannot infer type-variable(s) T#10,X#2,U#6
>>         (argument mismatch; Name cannot be converted to String))
>>     method
>> AbstractTable.<R#7,T#11>createField(Name,DataType<T#11>,Table<R#7>) is not
>> applicable
>>       (cannot infer type-variable(s) R#7,T#11
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<R#8,T#12>createField(Name,DataType<T#12>,Table<R#8>,String)
>> is not applicable
>>       (cannot infer type-variable(s) R#8,T#12
>>         (actual and formal argument lists differ in length))
>>     method
>> AbstractTable.<R#9,T#13,U#7>createField(Name,DataType<T#13>,Table<R#9>,String,Converter<T#13,U#7>)
>> is not applicable
>>       (cannot infer type-variable(s) R#9,T#13,U#7
>>         (argument mismatch; PostgresJSONJsonNodeBinding cannot be
>> converted to Converter<T#13,U#7>))
>>     method
>> AbstractTable.<R#10,T#14,U#8>createField(Name,DataType<T#14>,Table<R#10>,String,Binding<T#14,U#8>)
>> is not applicable
>>       (inference variable T#14 has incompatible equality constrain
>>
>> ...
>
> --
> 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].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jooq-user/62313ba3-be75-4c23-859a-43acef2760ca%40googlegroups.com
> <https://groups.google.com/d/msgid/jooq-user/62313ba3-be75-4c23-859a-43acef2760ca%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jooq-user/CAJ7OkQ9uOjfV2y2pw9KGsBEGk_%3DOy-gk%3D_oMdYmvYfa77irTPw%40mail.gmail.com.

Reply via email to