This is an automated email from the ASF dual-hosted git repository.

yiconghuang pushed a commit to branch feat/add-model
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/feat/add-model by this push:
     new 67e8665a9b feat: add jooq generated code
67e8665a9b is described below

commit 67e8665a9bfe66d39d724da57e07bba51e995036
Author: Yicong Huang <[email protected]>
AuthorDate: Wed Aug 27 23:34:12 2025 -0700

    feat: add jooq generated code
---
 .../texera/dao/jooq/generated/tables/Model.java    | 203 +++++++++++++++++++++
 .../dao/jooq/generated/tables/ModelUserAccess.java | 190 +++++++++++++++++++
 .../dao/jooq/generated/tables/ModelUserLikes.java  | 182 ++++++++++++++++++
 .../dao/jooq/generated/tables/ModelVersion.java    | 198 ++++++++++++++++++++
 .../dao/jooq/generated/tables/ModelViewCount.java  | 171 +++++++++++++++++
 5 files changed, 944 insertions(+)

diff --git 
a/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/Model.java
 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/Model.java
new file mode 100644
index 0000000000..7c20800b73
--- /dev/null
+++ 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/Model.java
@@ -0,0 +1,203 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ * This file is generated by jOOQ.
+ */
+package edu.uci.ics.texera.dao.jooq.generated.tables;
+
+
+import edu.uci.ics.texera.dao.jooq.generated.Keys;
+import edu.uci.ics.texera.dao.jooq.generated.TexeraDb;
+import edu.uci.ics.texera.dao.jooq.generated.tables.records.ModelRecord;
+
+import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.Record;
+import org.jooq.Row7;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class Model extends TableImpl<ModelRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The reference instance of <code>texera_db.model</code>
+     */
+    public static final Model MODEL = new Model();
+
+    /**
+     * The class holding records for this type
+     */
+    @Override
+    public Class<ModelRecord> getRecordType() {
+        return ModelRecord.class;
+    }
+
+    /**
+     * The column <code>texera_db.model.mid</code>.
+     */
+    public final TableField<ModelRecord, Integer> MID = 
createField(DSL.name("mid"), 
SQLDataType.INTEGER.nullable(false).identity(true), this, "");
+
+    /**
+     * The column <code>texera_db.model.owner_uid</code>.
+     */
+    public final TableField<ModelRecord, Integer> OWNER_UID = 
createField(DSL.name("owner_uid"), SQLDataType.INTEGER.nullable(false), this, 
"");
+
+    /**
+     * The column <code>texera_db.model.name</code>.
+     */
+    public final TableField<ModelRecord, String> NAME = 
createField(DSL.name("name"), SQLDataType.VARCHAR(128).nullable(false), this, 
"");
+
+    /**
+     * The column <code>texera_db.model.is_public</code>.
+     */
+    public final TableField<ModelRecord, Boolean> IS_PUBLIC = 
createField(DSL.name("is_public"), 
SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field("true", 
SQLDataType.BOOLEAN)), this, "");
+
+    /**
+     * The column <code>texera_db.model.is_downloadable</code>.
+     */
+    public final TableField<ModelRecord, Boolean> IS_DOWNLOADABLE = 
createField(DSL.name("is_downloadable"), 
SQLDataType.BOOLEAN.nullable(false).defaultValue(DSL.field("true", 
SQLDataType.BOOLEAN)), this, "");
+
+    /**
+     * The column <code>texera_db.model.description</code>.
+     */
+    public final TableField<ModelRecord, String> DESCRIPTION = 
createField(DSL.name("description"), SQLDataType.VARCHAR(512).nullable(false), 
this, "");
+
+    /**
+     * The column <code>texera_db.model.creation_time</code>.
+     */
+    public final TableField<ModelRecord, Timestamp> CREATION_TIME = 
createField(DSL.name("creation_time"), 
SQLDataType.TIMESTAMP(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP",
 SQLDataType.TIMESTAMP)), this, "");
+
+    private Model(Name alias, Table<ModelRecord> aliased) {
+        this(alias, aliased, null);
+    }
+
+    private Model(Name alias, Table<ModelRecord> aliased, Field<?>[] 
parameters) {
+        super(alias, null, aliased, parameters, DSL.comment(""), 
TableOptions.table());
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model</code> table reference
+     */
+    public Model(String alias) {
+        this(DSL.name(alias), MODEL);
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model</code> table reference
+     */
+    public Model(Name alias) {
+        this(alias, MODEL);
+    }
+
+    /**
+     * Create a <code>texera_db.model</code> table reference
+     */
+    public Model() {
+        this(DSL.name("model"), null);
+    }
+
+    public <O extends Record> Model(Table<O> child, ForeignKey<O, ModelRecord> 
key) {
+        super(child, key, MODEL);
+    }
+
+    @Override
+    public Schema getSchema() {
+        return aliased() ? null : TexeraDb.TEXERA_DB;
+    }
+
+    @Override
+    public Identity<ModelRecord, Integer> getIdentity() {
+        return (Identity<ModelRecord, Integer>) super.getIdentity();
+    }
+
+    @Override
+    public UniqueKey<ModelRecord> getPrimaryKey() {
+        return Keys.MODEL_PKEY;
+    }
+
+    @Override
+    public List<ForeignKey<ModelRecord, ?>> getReferences() {
+        return Arrays.asList(Keys.MODEL__MODEL_OWNER_UID_FKEY);
+    }
+
+    private transient User _user;
+
+    /**
+     * Get the implicit join path to the <code>texera_db.user</code> table.
+     */
+    public User user() {
+        if (_user == null)
+            _user = new User(this, Keys.MODEL__MODEL_OWNER_UID_FKEY);
+
+        return _user;
+    }
+
+    @Override
+    public Model as(String alias) {
+        return new Model(DSL.name(alias), this);
+    }
+
+    @Override
+    public Model as(Name alias) {
+        return new Model(alias, this);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public Model rename(String name) {
+        return new Model(DSL.name(name), null);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public Model rename(Name name) {
+        return new Model(name, null);
+    }
+
+    // 
-------------------------------------------------------------------------
+    // Row7 type methods
+    // 
-------------------------------------------------------------------------
+
+    @Override
+    public Row7<Integer, Integer, String, Boolean, Boolean, String, Timestamp> 
fieldsRow() {
+        return (Row7) super.fieldsRow();
+    }
+}
diff --git 
a/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelUserAccess.java
 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelUserAccess.java
new file mode 100644
index 0000000000..8b1284a529
--- /dev/null
+++ 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelUserAccess.java
@@ -0,0 +1,190 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ * This file is generated by jOOQ.
+ */
+package edu.uci.ics.texera.dao.jooq.generated.tables;
+
+
+import edu.uci.ics.texera.dao.jooq.generated.Keys;
+import edu.uci.ics.texera.dao.jooq.generated.TexeraDb;
+import edu.uci.ics.texera.dao.jooq.generated.enums.PrivilegeEnum;
+import 
edu.uci.ics.texera.dao.jooq.generated.tables.records.ModelUserAccessRecord;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.Name;
+import org.jooq.Record;
+import org.jooq.Row3;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ModelUserAccess extends TableImpl<ModelUserAccessRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The reference instance of <code>texera_db.model_user_access</code>
+     */
+    public static final ModelUserAccess MODEL_USER_ACCESS = new 
ModelUserAccess();
+
+    /**
+     * The class holding records for this type
+     */
+    @Override
+    public Class<ModelUserAccessRecord> getRecordType() {
+        return ModelUserAccessRecord.class;
+    }
+
+    /**
+     * The column <code>texera_db.model_user_access.mid</code>.
+     */
+    public final TableField<ModelUserAccessRecord, Integer> MID = 
createField(DSL.name("mid"), SQLDataType.INTEGER.nullable(false), this, "");
+
+    /**
+     * The column <code>texera_db.model_user_access.uid</code>.
+     */
+    public final TableField<ModelUserAccessRecord, Integer> UID = 
createField(DSL.name("uid"), SQLDataType.INTEGER.nullable(false), this, "");
+
+    /**
+     * The column <code>texera_db.model_user_access.privilege</code>.
+     */
+    public final TableField<ModelUserAccessRecord, PrivilegeEnum> PRIVILEGE = 
createField(DSL.name("privilege"), 
SQLDataType.VARCHAR.nullable(false).defaultValue(DSL.field("'NONE'::texera_db.privilege_enum",
 
SQLDataType.VARCHAR)).asEnumDataType(edu.uci.ics.texera.dao.jooq.generated.enums.PrivilegeEnum.class),
 this, "");
+
+    private ModelUserAccess(Name alias, Table<ModelUserAccessRecord> aliased) {
+        this(alias, aliased, null);
+    }
+
+    private ModelUserAccess(Name alias, Table<ModelUserAccessRecord> aliased, 
Field<?>[] parameters) {
+        super(alias, null, aliased, parameters, DSL.comment(""), 
TableOptions.table());
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_user_access</code> table
+     * reference
+     */
+    public ModelUserAccess(String alias) {
+        this(DSL.name(alias), MODEL_USER_ACCESS);
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_user_access</code> table
+     * reference
+     */
+    public ModelUserAccess(Name alias) {
+        this(alias, MODEL_USER_ACCESS);
+    }
+
+    /**
+     * Create a <code>texera_db.model_user_access</code> table reference
+     */
+    public ModelUserAccess() {
+        this(DSL.name("model_user_access"), null);
+    }
+
+    public <O extends Record> ModelUserAccess(Table<O> child, ForeignKey<O, 
ModelUserAccessRecord> key) {
+        super(child, key, MODEL_USER_ACCESS);
+    }
+
+    @Override
+    public Schema getSchema() {
+        return aliased() ? null : TexeraDb.TEXERA_DB;
+    }
+
+    @Override
+    public UniqueKey<ModelUserAccessRecord> getPrimaryKey() {
+        return Keys.MODEL_USER_ACCESS_PKEY;
+    }
+
+    @Override
+    public List<ForeignKey<ModelUserAccessRecord, ?>> getReferences() {
+        return 
Arrays.asList(Keys.MODEL_USER_ACCESS__MODEL_USER_ACCESS_MID_FKEY, 
Keys.MODEL_USER_ACCESS__MODEL_USER_ACCESS_UID_FKEY);
+    }
+
+    private transient Model _model;
+    private transient User _user;
+
+    /**
+     * Get the implicit join path to the <code>texera_db.model</code> table.
+     */
+    public Model model() {
+        if (_model == null)
+            _model = new Model(this, 
Keys.MODEL_USER_ACCESS__MODEL_USER_ACCESS_MID_FKEY);
+
+        return _model;
+    }
+
+    /**
+     * Get the implicit join path to the <code>texera_db.user</code> table.
+     */
+    public User user() {
+        if (_user == null)
+            _user = new User(this, 
Keys.MODEL_USER_ACCESS__MODEL_USER_ACCESS_UID_FKEY);
+
+        return _user;
+    }
+
+    @Override
+    public ModelUserAccess as(String alias) {
+        return new ModelUserAccess(DSL.name(alias), this);
+    }
+
+    @Override
+    public ModelUserAccess as(Name alias) {
+        return new ModelUserAccess(alias, this);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelUserAccess rename(String name) {
+        return new ModelUserAccess(DSL.name(name), null);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelUserAccess rename(Name name) {
+        return new ModelUserAccess(name, null);
+    }
+
+    // 
-------------------------------------------------------------------------
+    // Row3 type methods
+    // 
-------------------------------------------------------------------------
+
+    @Override
+    public Row3<Integer, Integer, PrivilegeEnum> fieldsRow() {
+        return (Row3) super.fieldsRow();
+    }
+}
diff --git 
a/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelUserLikes.java
 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelUserLikes.java
new file mode 100644
index 0000000000..73bb6eeff6
--- /dev/null
+++ 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelUserLikes.java
@@ -0,0 +1,182 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ * This file is generated by jOOQ.
+ */
+package edu.uci.ics.texera.dao.jooq.generated.tables;
+
+
+import edu.uci.ics.texera.dao.jooq.generated.Keys;
+import edu.uci.ics.texera.dao.jooq.generated.TexeraDb;
+import 
edu.uci.ics.texera.dao.jooq.generated.tables.records.ModelUserLikesRecord;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.Name;
+import org.jooq.Record;
+import org.jooq.Row2;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ModelUserLikes extends TableImpl<ModelUserLikesRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The reference instance of <code>texera_db.model_user_likes</code>
+     */
+    public static final ModelUserLikes MODEL_USER_LIKES = new ModelUserLikes();
+
+    /**
+     * The class holding records for this type
+     */
+    @Override
+    public Class<ModelUserLikesRecord> getRecordType() {
+        return ModelUserLikesRecord.class;
+    }
+
+    /**
+     * The column <code>texera_db.model_user_likes.uid</code>.
+     */
+    public final TableField<ModelUserLikesRecord, Integer> UID = 
createField(DSL.name("uid"), SQLDataType.INTEGER.nullable(false), this, "");
+
+    /**
+     * The column <code>texera_db.model_user_likes.mid</code>.
+     */
+    public final TableField<ModelUserLikesRecord, Integer> MID = 
createField(DSL.name("mid"), SQLDataType.INTEGER.nullable(false), this, "");
+
+    private ModelUserLikes(Name alias, Table<ModelUserLikesRecord> aliased) {
+        this(alias, aliased, null);
+    }
+
+    private ModelUserLikes(Name alias, Table<ModelUserLikesRecord> aliased, 
Field<?>[] parameters) {
+        super(alias, null, aliased, parameters, DSL.comment(""), 
TableOptions.table());
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_user_likes</code> table 
reference
+     */
+    public ModelUserLikes(String alias) {
+        this(DSL.name(alias), MODEL_USER_LIKES);
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_user_likes</code> table 
reference
+     */
+    public ModelUserLikes(Name alias) {
+        this(alias, MODEL_USER_LIKES);
+    }
+
+    /**
+     * Create a <code>texera_db.model_user_likes</code> table reference
+     */
+    public ModelUserLikes() {
+        this(DSL.name("model_user_likes"), null);
+    }
+
+    public <O extends Record> ModelUserLikes(Table<O> child, ForeignKey<O, 
ModelUserLikesRecord> key) {
+        super(child, key, MODEL_USER_LIKES);
+    }
+
+    @Override
+    public Schema getSchema() {
+        return aliased() ? null : TexeraDb.TEXERA_DB;
+    }
+
+    @Override
+    public UniqueKey<ModelUserLikesRecord> getPrimaryKey() {
+        return Keys.MODEL_USER_LIKES_PKEY;
+    }
+
+    @Override
+    public List<ForeignKey<ModelUserLikesRecord, ?>> getReferences() {
+        return Arrays.asList(Keys.MODEL_USER_LIKES__MODEL_USER_LIKES_UID_FKEY, 
Keys.MODEL_USER_LIKES__MODEL_USER_LIKES_MID_FKEY);
+    }
+
+    private transient User _user;
+    private transient Model _model;
+
+    /**
+     * Get the implicit join path to the <code>texera_db.user</code> table.
+     */
+    public User user() {
+        if (_user == null)
+            _user = new User(this, 
Keys.MODEL_USER_LIKES__MODEL_USER_LIKES_UID_FKEY);
+
+        return _user;
+    }
+
+    /**
+     * Get the implicit join path to the <code>texera_db.model</code> table.
+     */
+    public Model model() {
+        if (_model == null)
+            _model = new Model(this, 
Keys.MODEL_USER_LIKES__MODEL_USER_LIKES_MID_FKEY);
+
+        return _model;
+    }
+
+    @Override
+    public ModelUserLikes as(String alias) {
+        return new ModelUserLikes(DSL.name(alias), this);
+    }
+
+    @Override
+    public ModelUserLikes as(Name alias) {
+        return new ModelUserLikes(alias, this);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelUserLikes rename(String name) {
+        return new ModelUserLikes(DSL.name(name), null);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelUserLikes rename(Name name) {
+        return new ModelUserLikes(name, null);
+    }
+
+    // 
-------------------------------------------------------------------------
+    // Row2 type methods
+    // 
-------------------------------------------------------------------------
+
+    @Override
+    public Row2<Integer, Integer> fieldsRow() {
+        return (Row2) super.fieldsRow();
+    }
+}
diff --git 
a/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelVersion.java
 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelVersion.java
new file mode 100644
index 0000000000..3e27ff7a8a
--- /dev/null
+++ 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelVersion.java
@@ -0,0 +1,198 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ * This file is generated by jOOQ.
+ */
+package edu.uci.ics.texera.dao.jooq.generated.tables;
+
+
+import edu.uci.ics.texera.dao.jooq.generated.Keys;
+import edu.uci.ics.texera.dao.jooq.generated.TexeraDb;
+import edu.uci.ics.texera.dao.jooq.generated.tables.records.ModelVersionRecord;
+
+import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.Identity;
+import org.jooq.Name;
+import org.jooq.Record;
+import org.jooq.Row6;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ModelVersion extends TableImpl<ModelVersionRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The reference instance of <code>texera_db.model_version</code>
+     */
+    public static final ModelVersion MODEL_VERSION = new ModelVersion();
+
+    /**
+     * The class holding records for this type
+     */
+    @Override
+    public Class<ModelVersionRecord> getRecordType() {
+        return ModelVersionRecord.class;
+    }
+
+    /**
+     * The column <code>texera_db.model_version.mvid</code>.
+     */
+    public final TableField<ModelVersionRecord, Integer> MVID = 
createField(DSL.name("mvid"), 
SQLDataType.INTEGER.nullable(false).identity(true), this, "");
+
+    /**
+     * The column <code>texera_db.model_version.mid</code>.
+     */
+    public final TableField<ModelVersionRecord, Integer> MID = 
createField(DSL.name("mid"), SQLDataType.INTEGER.nullable(false), this, "");
+
+    /**
+     * The column <code>texera_db.model_version.creator_uid</code>.
+     */
+    public final TableField<ModelVersionRecord, Integer> CREATOR_UID = 
createField(DSL.name("creator_uid"), SQLDataType.INTEGER.nullable(false), this, 
"");
+
+    /**
+     * The column <code>texera_db.model_version.name</code>.
+     */
+    public final TableField<ModelVersionRecord, String> NAME = 
createField(DSL.name("name"), SQLDataType.VARCHAR(128).nullable(false), this, 
"");
+
+    /**
+     * The column <code>texera_db.model_version.version_hash</code>.
+     */
+    public final TableField<ModelVersionRecord, String> VERSION_HASH = 
createField(DSL.name("version_hash"), SQLDataType.VARCHAR(64).nullable(false), 
this, "");
+
+    /**
+     * The column <code>texera_db.model_version.creation_time</code>.
+     */
+    public final TableField<ModelVersionRecord, Timestamp> CREATION_TIME = 
createField(DSL.name("creation_time"), 
SQLDataType.TIMESTAMP(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP",
 SQLDataType.TIMESTAMP)), this, "");
+
+    private ModelVersion(Name alias, Table<ModelVersionRecord> aliased) {
+        this(alias, aliased, null);
+    }
+
+    private ModelVersion(Name alias, Table<ModelVersionRecord> aliased, 
Field<?>[] parameters) {
+        super(alias, null, aliased, parameters, DSL.comment(""), 
TableOptions.table());
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_version</code> table reference
+     */
+    public ModelVersion(String alias) {
+        this(DSL.name(alias), MODEL_VERSION);
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_version</code> table reference
+     */
+    public ModelVersion(Name alias) {
+        this(alias, MODEL_VERSION);
+    }
+
+    /**
+     * Create a <code>texera_db.model_version</code> table reference
+     */
+    public ModelVersion() {
+        this(DSL.name("model_version"), null);
+    }
+
+    public <O extends Record> ModelVersion(Table<O> child, ForeignKey<O, 
ModelVersionRecord> key) {
+        super(child, key, MODEL_VERSION);
+    }
+
+    @Override
+    public Schema getSchema() {
+        return aliased() ? null : TexeraDb.TEXERA_DB;
+    }
+
+    @Override
+    public Identity<ModelVersionRecord, Integer> getIdentity() {
+        return (Identity<ModelVersionRecord, Integer>) super.getIdentity();
+    }
+
+    @Override
+    public UniqueKey<ModelVersionRecord> getPrimaryKey() {
+        return Keys.MODEL_VERSION_PKEY;
+    }
+
+    @Override
+    public List<ForeignKey<ModelVersionRecord, ?>> getReferences() {
+        return Arrays.asList(Keys.MODEL_VERSION__MODEL_VERSION_MID_FKEY);
+    }
+
+    private transient Model _model;
+
+    /**
+     * Get the implicit join path to the <code>texera_db.model</code> table.
+     */
+    public Model model() {
+        if (_model == null)
+            _model = new Model(this, 
Keys.MODEL_VERSION__MODEL_VERSION_MID_FKEY);
+
+        return _model;
+    }
+
+    @Override
+    public ModelVersion as(String alias) {
+        return new ModelVersion(DSL.name(alias), this);
+    }
+
+    @Override
+    public ModelVersion as(Name alias) {
+        return new ModelVersion(alias, this);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelVersion rename(String name) {
+        return new ModelVersion(DSL.name(name), null);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelVersion rename(Name name) {
+        return new ModelVersion(name, null);
+    }
+
+    // 
-------------------------------------------------------------------------
+    // Row6 type methods
+    // 
-------------------------------------------------------------------------
+
+    @Override
+    public Row6<Integer, Integer, Integer, String, String, Timestamp> 
fieldsRow() {
+        return (Row6) super.fieldsRow();
+    }
+}
diff --git 
a/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelViewCount.java
 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelViewCount.java
new file mode 100644
index 0000000000..747a78d4a8
--- /dev/null
+++ 
b/core/dao/src/main/scala/edu/uci/ics/texera/dao/jooq/generated/tables/ModelViewCount.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ * This file is generated by jOOQ.
+ */
+package edu.uci.ics.texera.dao.jooq.generated.tables;
+
+
+import edu.uci.ics.texera.dao.jooq.generated.Keys;
+import edu.uci.ics.texera.dao.jooq.generated.TexeraDb;
+import 
edu.uci.ics.texera.dao.jooq.generated.tables.records.ModelViewCountRecord;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.jooq.Field;
+import org.jooq.ForeignKey;
+import org.jooq.Name;
+import org.jooq.Record;
+import org.jooq.Row2;
+import org.jooq.Schema;
+import org.jooq.Table;
+import org.jooq.TableField;
+import org.jooq.TableOptions;
+import org.jooq.UniqueKey;
+import org.jooq.impl.DSL;
+import org.jooq.impl.SQLDataType;
+import org.jooq.impl.TableImpl;
+
+
+/**
+ * This class is generated by jOOQ.
+ */
+@SuppressWarnings({ "all", "unchecked", "rawtypes" })
+public class ModelViewCount extends TableImpl<ModelViewCountRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * The reference instance of <code>texera_db.model_view_count</code>
+     */
+    public static final ModelViewCount MODEL_VIEW_COUNT = new ModelViewCount();
+
+    /**
+     * The class holding records for this type
+     */
+    @Override
+    public Class<ModelViewCountRecord> getRecordType() {
+        return ModelViewCountRecord.class;
+    }
+
+    /**
+     * The column <code>texera_db.model_view_count.mid</code>.
+     */
+    public final TableField<ModelViewCountRecord, Integer> MID = 
createField(DSL.name("mid"), SQLDataType.INTEGER.nullable(false), this, "");
+
+    /**
+     * The column <code>texera_db.model_view_count.view_count</code>.
+     */
+    public final TableField<ModelViewCountRecord, Integer> VIEW_COUNT = 
createField(DSL.name("view_count"), 
SQLDataType.INTEGER.nullable(false).defaultValue(DSL.field("0", 
SQLDataType.INTEGER)), this, "");
+
+    private ModelViewCount(Name alias, Table<ModelViewCountRecord> aliased) {
+        this(alias, aliased, null);
+    }
+
+    private ModelViewCount(Name alias, Table<ModelViewCountRecord> aliased, 
Field<?>[] parameters) {
+        super(alias, null, aliased, parameters, DSL.comment(""), 
TableOptions.table());
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_view_count</code> table 
reference
+     */
+    public ModelViewCount(String alias) {
+        this(DSL.name(alias), MODEL_VIEW_COUNT);
+    }
+
+    /**
+     * Create an aliased <code>texera_db.model_view_count</code> table 
reference
+     */
+    public ModelViewCount(Name alias) {
+        this(alias, MODEL_VIEW_COUNT);
+    }
+
+    /**
+     * Create a <code>texera_db.model_view_count</code> table reference
+     */
+    public ModelViewCount() {
+        this(DSL.name("model_view_count"), null);
+    }
+
+    public <O extends Record> ModelViewCount(Table<O> child, ForeignKey<O, 
ModelViewCountRecord> key) {
+        super(child, key, MODEL_VIEW_COUNT);
+    }
+
+    @Override
+    public Schema getSchema() {
+        return aliased() ? null : TexeraDb.TEXERA_DB;
+    }
+
+    @Override
+    public UniqueKey<ModelViewCountRecord> getPrimaryKey() {
+        return Keys.MODEL_VIEW_COUNT_PKEY;
+    }
+
+    @Override
+    public List<ForeignKey<ModelViewCountRecord, ?>> getReferences() {
+        return Arrays.asList(Keys.MODEL_VIEW_COUNT__MODEL_VIEW_COUNT_MID_FKEY);
+    }
+
+    private transient Model _model;
+
+    /**
+     * Get the implicit join path to the <code>texera_db.model</code> table.
+     */
+    public Model model() {
+        if (_model == null)
+            _model = new Model(this, 
Keys.MODEL_VIEW_COUNT__MODEL_VIEW_COUNT_MID_FKEY);
+
+        return _model;
+    }
+
+    @Override
+    public ModelViewCount as(String alias) {
+        return new ModelViewCount(DSL.name(alias), this);
+    }
+
+    @Override
+    public ModelViewCount as(Name alias) {
+        return new ModelViewCount(alias, this);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelViewCount rename(String name) {
+        return new ModelViewCount(DSL.name(name), null);
+    }
+
+    /**
+     * Rename this table
+     */
+    @Override
+    public ModelViewCount rename(Name name) {
+        return new ModelViewCount(name, null);
+    }
+
+    // 
-------------------------------------------------------------------------
+    // Row2 type methods
+    // 
-------------------------------------------------------------------------
+
+    @Override
+    public Row2<Integer, Integer> fieldsRow() {
+        return (Row2) super.fieldsRow();
+    }
+}

Reply via email to