added favorite table

This commit is contained in:
Jörg Henke
2023-11-02 13:37:26 +01:00
parent 921c9e9a0b
commit 64af10364b
9 changed files with 1125 additions and 1 deletions

View File

@ -23,7 +23,7 @@ apply plugin: 'maven-publish'
apply plugin: 'eclipse'
group = 'de.jottyfan'
version = '0.1.2'
version = '0.1.3'
def artifactId = 'timetrackjooq'
def versionNumber = version

View File

@ -7,6 +7,7 @@ package de.jottyfan.timetrack.db.done;
import de.jottyfan.timetrack.db.DefaultCatalog;
import de.jottyfan.timetrack.db.done.tables.TBilling;
import de.jottyfan.timetrack.db.done.tables.TDone;
import de.jottyfan.timetrack.db.done.tables.TFavorite;
import de.jottyfan.timetrack.db.done.tables.TJob;
import de.jottyfan.timetrack.db.done.tables.TModule;
import de.jottyfan.timetrack.db.done.tables.TProject;
@ -17,6 +18,7 @@ import de.jottyfan.timetrack.db.done.tables.VDaysummary;
import de.jottyfan.timetrack.db.done.tables.VDone;
import de.jottyfan.timetrack.db.done.tables.VDuration;
import de.jottyfan.timetrack.db.done.tables.VEucanshare;
import de.jottyfan.timetrack.db.done.tables.VFavorite;
import de.jottyfan.timetrack.db.done.tables.VHamster;
import de.jottyfan.timetrack.db.done.tables.VHamstersummary;
import de.jottyfan.timetrack.db.done.tables.VJob;
@ -58,6 +60,11 @@ public class Done extends SchemaImpl {
*/
public final TDone T_DONE = TDone.T_DONE;
/**
* The table <code>done.t_favorite</code>.
*/
public final TFavorite T_FAVORITE = TFavorite.T_FAVORITE;
/**
* The table <code>done.t_job</code>.
*/
@ -108,6 +115,11 @@ public class Done extends SchemaImpl {
*/
public final VEucanshare V_EUCANSHARE = VEucanshare.V_EUCANSHARE;
/**
* The table <code>done.v_favorite</code>.
*/
public final VFavorite V_FAVORITE = VFavorite.V_FAVORITE;
/**
* The table <code>done.v_hamster</code>.
*/
@ -171,6 +183,7 @@ public class Done extends SchemaImpl {
return Arrays.asList(
TBilling.T_BILLING,
TDone.T_DONE,
TFavorite.T_FAVORITE,
TJob.T_JOB,
TModule.T_MODULE,
TProject.T_PROJECT,
@ -181,6 +194,7 @@ public class Done extends SchemaImpl {
VDone.V_DONE,
VDuration.V_DURATION,
VEucanshare.V_EUCANSHARE,
VFavorite.V_FAVORITE,
VHamster.V_HAMSTER,
VHamstersummary.V_HAMSTERSUMMARY,
VJob.V_JOB,

View File

@ -6,11 +6,13 @@ package de.jottyfan.timetrack.db.done;
import de.jottyfan.timetrack.db.done.tables.TBilling;
import de.jottyfan.timetrack.db.done.tables.TDone;
import de.jottyfan.timetrack.db.done.tables.TFavorite;
import de.jottyfan.timetrack.db.done.tables.TJob;
import de.jottyfan.timetrack.db.done.tables.TModule;
import de.jottyfan.timetrack.db.done.tables.TProject;
import de.jottyfan.timetrack.db.done.tables.records.TBillingRecord;
import de.jottyfan.timetrack.db.done.tables.records.TDoneRecord;
import de.jottyfan.timetrack.db.done.tables.records.TFavoriteRecord;
import de.jottyfan.timetrack.db.done.tables.records.TJobRecord;
import de.jottyfan.timetrack.db.done.tables.records.TModuleRecord;
import de.jottyfan.timetrack.db.done.tables.records.TProjectRecord;
@ -39,6 +41,7 @@ public class Keys {
public static final UniqueKey<TBillingRecord> T_BILLING_PKEY = Internal.createUniqueKey(TBilling.T_BILLING, DSL.name("t_billing_pkey"), new TableField[] { TBilling.T_BILLING.PK }, true);
public static final UniqueKey<TBillingRecord> T_BILLING_SHORTCUT_KEY = Internal.createUniqueKey(TBilling.T_BILLING, DSL.name("t_billing_shortcut_key"), new TableField[] { TBilling.T_BILLING.SHORTCUT }, true);
public static final UniqueKey<TDoneRecord> T_DONE_PKEY = Internal.createUniqueKey(TDone.T_DONE, DSL.name("t_done_pkey"), new TableField[] { TDone.T_DONE.PK }, true);
public static final UniqueKey<TFavoriteRecord> T_FAVORITE_PKEY = Internal.createUniqueKey(TFavorite.T_FAVORITE, DSL.name("t_favorite_pkey"), new TableField[] { TFavorite.T_FAVORITE.PK_FAVORITE }, true);
public static final UniqueKey<TJobRecord> T_CATEGORY_NAME_KEY = Internal.createUniqueKey(TJob.T_JOB, DSL.name("t_category_name_key"), new TableField[] { TJob.T_JOB.NAME }, true);
public static final UniqueKey<TJobRecord> T_CATEGORY_PKEY = Internal.createUniqueKey(TJob.T_JOB, DSL.name("t_category_pkey"), new TableField[] { TJob.T_JOB.PK }, true);
public static final UniqueKey<TModuleRecord> T_JOB_NAME_KEY = Internal.createUniqueKey(TModule.T_MODULE, DSL.name("t_job_name_key"), new TableField[] { TModule.T_MODULE.NAME }, true);
@ -55,4 +58,9 @@ public class Keys {
public static final ForeignKey<TDoneRecord, TModuleRecord> T_DONE__T_DONE_FK_JOB_FKEY = Internal.createForeignKey(TDone.T_DONE, DSL.name("t_done_fk_job_fkey"), new TableField[] { TDone.T_DONE.FK_MODULE }, Keys.T_JOB_PKEY, new TableField[] { TModule.T_MODULE.PK }, true);
public static final ForeignKey<TDoneRecord, TLoginRecord> T_DONE__T_DONE_FK_LOGIN_FKEY = Internal.createForeignKey(TDone.T_DONE, DSL.name("t_done_fk_login_fkey"), new TableField[] { TDone.T_DONE.FK_LOGIN }, de.jottyfan.timetrack.db.profile.Keys.T_LOGIN_PKEY, new TableField[] { TLogin.T_LOGIN.PK }, true);
public static final ForeignKey<TDoneRecord, TProjectRecord> T_DONE__T_DONE_FK_PROJECT_FKEY = Internal.createForeignKey(TDone.T_DONE, DSL.name("t_done_fk_project_fkey"), new TableField[] { TDone.T_DONE.FK_PROJECT }, Keys.T_PROJECT_PKEY, new TableField[] { TProject.T_PROJECT.PK }, true);
public static final ForeignKey<TFavoriteRecord, TBillingRecord> T_FAVORITE__T_FAVORITE_FK_BILLING_FKEY = Internal.createForeignKey(TFavorite.T_FAVORITE, DSL.name("t_favorite_fk_billing_fkey"), new TableField[] { TFavorite.T_FAVORITE.FK_BILLING }, Keys.T_BILLING_PKEY, new TableField[] { TBilling.T_BILLING.PK }, true);
public static final ForeignKey<TFavoriteRecord, TJobRecord> T_FAVORITE__T_FAVORITE_FK_JOB_FKEY = Internal.createForeignKey(TFavorite.T_FAVORITE, DSL.name("t_favorite_fk_job_fkey"), new TableField[] { TFavorite.T_FAVORITE.FK_JOB }, Keys.T_CATEGORY_PKEY, new TableField[] { TJob.T_JOB.PK }, true);
public static final ForeignKey<TFavoriteRecord, TLoginRecord> T_FAVORITE__T_FAVORITE_FK_LOGIN_FKEY = Internal.createForeignKey(TFavorite.T_FAVORITE, DSL.name("t_favorite_fk_login_fkey"), new TableField[] { TFavorite.T_FAVORITE.FK_LOGIN }, de.jottyfan.timetrack.db.profile.Keys.T_LOGIN_PKEY, new TableField[] { TLogin.T_LOGIN.PK }, true);
public static final ForeignKey<TFavoriteRecord, TModuleRecord> T_FAVORITE__T_FAVORITE_FK_MODULE_FKEY = Internal.createForeignKey(TFavorite.T_FAVORITE, DSL.name("t_favorite_fk_module_fkey"), new TableField[] { TFavorite.T_FAVORITE.FK_MODULE }, Keys.T_JOB_PKEY, new TableField[] { TModule.T_MODULE.PK }, true);
public static final ForeignKey<TFavoriteRecord, TProjectRecord> T_FAVORITE__T_FAVORITE_FK_PROJECT_FKEY = Internal.createForeignKey(TFavorite.T_FAVORITE, DSL.name("t_favorite_fk_project_fkey"), new TableField[] { TFavorite.T_FAVORITE.FK_PROJECT }, Keys.T_PROJECT_PKEY, new TableField[] { TProject.T_PROJECT.PK }, true);
}

View File

@ -6,6 +6,7 @@ package de.jottyfan.timetrack.db.done;
import de.jottyfan.timetrack.db.done.tables.TBilling;
import de.jottyfan.timetrack.db.done.tables.TDone;
import de.jottyfan.timetrack.db.done.tables.TFavorite;
import de.jottyfan.timetrack.db.done.tables.TJob;
import de.jottyfan.timetrack.db.done.tables.TModule;
import de.jottyfan.timetrack.db.done.tables.TProject;
@ -16,6 +17,7 @@ import de.jottyfan.timetrack.db.done.tables.VDaysummary;
import de.jottyfan.timetrack.db.done.tables.VDone;
import de.jottyfan.timetrack.db.done.tables.VDuration;
import de.jottyfan.timetrack.db.done.tables.VEucanshare;
import de.jottyfan.timetrack.db.done.tables.VFavorite;
import de.jottyfan.timetrack.db.done.tables.VHamster;
import de.jottyfan.timetrack.db.done.tables.VHamstersummary;
import de.jottyfan.timetrack.db.done.tables.VJob;
@ -43,6 +45,11 @@ public class Tables {
*/
public static final TDone T_DONE = TDone.T_DONE;
/**
* The table <code>done.t_favorite</code>.
*/
public static final TFavorite T_FAVORITE = TFavorite.T_FAVORITE;
/**
* The table <code>done.t_job</code>.
*/
@ -93,6 +100,11 @@ public class Tables {
*/
public static final VEucanshare V_EUCANSHARE = VEucanshare.V_EUCANSHARE;
/**
* The table <code>done.v_favorite</code>.
*/
public static final VFavorite V_FAVORITE = VFavorite.V_FAVORITE;
/**
* The table <code>done.v_hamster</code>.
*/

View File

@ -0,0 +1,263 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.done.tables;
import de.jottyfan.timetrack.db.done.Done;
import de.jottyfan.timetrack.db.done.Keys;
import de.jottyfan.timetrack.db.done.tables.records.TFavoriteRecord;
import de.jottyfan.timetrack.db.profile.tables.TLogin;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.function.Function;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Function7;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Records;
import org.jooq.Row7;
import org.jooq.Schema;
import org.jooq.SelectField;
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 TFavorite extends TableImpl<TFavoriteRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>done.t_favorite</code>
*/
public static final TFavorite T_FAVORITE = new TFavorite();
/**
* The class holding records for this type
*/
@Override
public Class<TFavoriteRecord> getRecordType() {
return TFavoriteRecord.class;
}
/**
* The column <code>done.t_favorite.lastchange</code>.
*/
public final TableField<TFavoriteRecord, LocalDateTime> LASTCHANGE = createField(DSL.name("lastchange"), SQLDataType.LOCALDATETIME(6).defaultValue(DSL.field(DSL.raw("now()"), SQLDataType.LOCALDATETIME)), this, "");
/**
* The column <code>done.t_favorite.pk_favorite</code>.
*/
public final TableField<TFavoriteRecord, Integer> PK_FAVORITE = createField(DSL.name("pk_favorite"), SQLDataType.INTEGER.nullable(false).identity(true), this, "");
/**
* The column <code>done.t_favorite.fk_login</code>.
*/
public final TableField<TFavoriteRecord, Integer> FK_LOGIN = createField(DSL.name("fk_login"), SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>done.t_favorite.fk_project</code>.
*/
public final TableField<TFavoriteRecord, Integer> FK_PROJECT = createField(DSL.name("fk_project"), SQLDataType.INTEGER, this, "");
/**
* The column <code>done.t_favorite.fk_module</code>.
*/
public final TableField<TFavoriteRecord, Integer> FK_MODULE = createField(DSL.name("fk_module"), SQLDataType.INTEGER, this, "");
/**
* The column <code>done.t_favorite.fk_job</code>.
*/
public final TableField<TFavoriteRecord, Integer> FK_JOB = createField(DSL.name("fk_job"), SQLDataType.INTEGER, this, "");
/**
* The column <code>done.t_favorite.fk_billing</code>.
*/
public final TableField<TFavoriteRecord, Integer> FK_BILLING = createField(DSL.name("fk_billing"), SQLDataType.INTEGER, this, "");
private TFavorite(Name alias, Table<TFavoriteRecord> aliased) {
this(alias, aliased, null);
}
private TFavorite(Name alias, Table<TFavoriteRecord> aliased, Field<?>[] parameters) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
}
/**
* Create an aliased <code>done.t_favorite</code> table reference
*/
public TFavorite(String alias) {
this(DSL.name(alias), T_FAVORITE);
}
/**
* Create an aliased <code>done.t_favorite</code> table reference
*/
public TFavorite(Name alias) {
this(alias, T_FAVORITE);
}
/**
* Create a <code>done.t_favorite</code> table reference
*/
public TFavorite() {
this(DSL.name("t_favorite"), null);
}
public <O extends Record> TFavorite(Table<O> child, ForeignKey<O, TFavoriteRecord> key) {
super(child, key, T_FAVORITE);
}
@Override
public Schema getSchema() {
return aliased() ? null : Done.DONE;
}
@Override
public Identity<TFavoriteRecord, Integer> getIdentity() {
return (Identity<TFavoriteRecord, Integer>) super.getIdentity();
}
@Override
public UniqueKey<TFavoriteRecord> getPrimaryKey() {
return Keys.T_FAVORITE_PKEY;
}
@Override
public List<ForeignKey<TFavoriteRecord, ?>> getReferences() {
return Arrays.asList(Keys.T_FAVORITE__T_FAVORITE_FK_LOGIN_FKEY, Keys.T_FAVORITE__T_FAVORITE_FK_PROJECT_FKEY, Keys.T_FAVORITE__T_FAVORITE_FK_MODULE_FKEY, Keys.T_FAVORITE__T_FAVORITE_FK_JOB_FKEY, Keys.T_FAVORITE__T_FAVORITE_FK_BILLING_FKEY);
}
private transient TLogin _tLogin;
private transient TProject _tProject;
private transient TModule _tModule;
private transient TJob _tJob;
private transient TBilling _tBilling;
/**
* Get the implicit join path to the <code>profile.t_login</code> table.
*/
public TLogin tLogin() {
if (_tLogin == null)
_tLogin = new TLogin(this, Keys.T_FAVORITE__T_FAVORITE_FK_LOGIN_FKEY);
return _tLogin;
}
/**
* Get the implicit join path to the <code>done.t_project</code> table.
*/
public TProject tProject() {
if (_tProject == null)
_tProject = new TProject(this, Keys.T_FAVORITE__T_FAVORITE_FK_PROJECT_FKEY);
return _tProject;
}
/**
* Get the implicit join path to the <code>done.t_module</code> table.
*/
public TModule tModule() {
if (_tModule == null)
_tModule = new TModule(this, Keys.T_FAVORITE__T_FAVORITE_FK_MODULE_FKEY);
return _tModule;
}
/**
* Get the implicit join path to the <code>done.t_job</code> table.
*/
public TJob tJob() {
if (_tJob == null)
_tJob = new TJob(this, Keys.T_FAVORITE__T_FAVORITE_FK_JOB_FKEY);
return _tJob;
}
/**
* Get the implicit join path to the <code>done.t_billing</code> table.
*/
public TBilling tBilling() {
if (_tBilling == null)
_tBilling = new TBilling(this, Keys.T_FAVORITE__T_FAVORITE_FK_BILLING_FKEY);
return _tBilling;
}
@Override
public TFavorite as(String alias) {
return new TFavorite(DSL.name(alias), this);
}
@Override
public TFavorite as(Name alias) {
return new TFavorite(alias, this);
}
@Override
public TFavorite as(Table<?> alias) {
return new TFavorite(alias.getQualifiedName(), this);
}
/**
* Rename this table
*/
@Override
public TFavorite rename(String name) {
return new TFavorite(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public TFavorite rename(Name name) {
return new TFavorite(name, null);
}
/**
* Rename this table
*/
@Override
public TFavorite rename(Table<?> name) {
return new TFavorite(name.getQualifiedName(), null);
}
// -------------------------------------------------------------------------
// Row7 type methods
// -------------------------------------------------------------------------
@Override
public Row7<LocalDateTime, Integer, Integer, Integer, Integer, Integer, Integer> fieldsRow() {
return (Row7) super.fieldsRow();
}
/**
* Convenience mapping calling {@link SelectField#convertFrom(Function)}.
*/
public <U> SelectField<U> mapping(Function7<? super LocalDateTime, ? super Integer, ? super Integer, ? super Integer, ? super Integer, ? super Integer, ? super Integer, ? extends U> from) {
return convertFrom(Records.mapping(from));
}
/**
* Convenience mapping calling {@link SelectField#convertFrom(Class,
* Function)}.
*/
public <U> SelectField<U> mapping(Class<U> toType, Function7<? super LocalDateTime, ? super Integer, ? super Integer, ? super Integer, ? super Integer, ? super Integer, ? super Integer, ? extends U> from) {
return convertFrom(toType, Records.mapping(from));
}
}

View File

@ -0,0 +1,192 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.done.tables;
import de.jottyfan.timetrack.db.done.Done;
import de.jottyfan.timetrack.db.done.tables.records.VFavoriteRecord;
import java.util.function.Function;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Function6;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Records;
import org.jooq.Row6;
import org.jooq.Schema;
import org.jooq.SelectField;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
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 VFavorite extends TableImpl<VFavoriteRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>done.v_favorite</code>
*/
public static final VFavorite V_FAVORITE = new VFavorite();
/**
* The class holding records for this type
*/
@Override
public Class<VFavoriteRecord> getRecordType() {
return VFavoriteRecord.class;
}
/**
* The column <code>done.v_favorite.pk_favorite</code>.
*/
public final TableField<VFavoriteRecord, Integer> PK_FAVORITE = createField(DSL.name("pk_favorite"), SQLDataType.INTEGER, this, "");
/**
* The column <code>done.v_favorite.fk_login</code>.
*/
public final TableField<VFavoriteRecord, Integer> FK_LOGIN = createField(DSL.name("fk_login"), SQLDataType.INTEGER, this, "");
/**
* The column <code>done.v_favorite.project</code>.
*/
public final TableField<VFavoriteRecord, String> PROJECT = createField(DSL.name("project"), SQLDataType.CLOB, this, "");
/**
* The column <code>done.v_favorite.module</code>.
*/
public final TableField<VFavoriteRecord, String> MODULE = createField(DSL.name("module"), SQLDataType.CLOB, this, "");
/**
* The column <code>done.v_favorite.job</code>.
*/
public final TableField<VFavoriteRecord, String> JOB = createField(DSL.name("job"), SQLDataType.CLOB, this, "");
/**
* The column <code>done.v_favorite.billing</code>.
*/
public final TableField<VFavoriteRecord, String> BILLING = createField(DSL.name("billing"), SQLDataType.CLOB, this, "");
private VFavorite(Name alias, Table<VFavoriteRecord> aliased) {
this(alias, aliased, null);
}
private VFavorite(Name alias, Table<VFavoriteRecord> aliased, Field<?>[] parameters) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.view("""
create view "v_favorite" as SELECT f.pk_favorite,
f.fk_login,
p.name AS project,
m.name AS module,
j.name AS job,
b.name AS billing
FROM ((((done.t_favorite f
LEFT JOIN done.t_project p ON ((p.pk = f.fk_project)))
LEFT JOIN done.t_module m ON ((m.pk = f.fk_module)))
LEFT JOIN done.t_job j ON ((j.pk = f.fk_job)))
LEFT JOIN done.t_billing b ON ((b.pk = f.fk_billing)));
"""));
}
/**
* Create an aliased <code>done.v_favorite</code> table reference
*/
public VFavorite(String alias) {
this(DSL.name(alias), V_FAVORITE);
}
/**
* Create an aliased <code>done.v_favorite</code> table reference
*/
public VFavorite(Name alias) {
this(alias, V_FAVORITE);
}
/**
* Create a <code>done.v_favorite</code> table reference
*/
public VFavorite() {
this(DSL.name("v_favorite"), null);
}
public <O extends Record> VFavorite(Table<O> child, ForeignKey<O, VFavoriteRecord> key) {
super(child, key, V_FAVORITE);
}
@Override
public Schema getSchema() {
return aliased() ? null : Done.DONE;
}
@Override
public VFavorite as(String alias) {
return new VFavorite(DSL.name(alias), this);
}
@Override
public VFavorite as(Name alias) {
return new VFavorite(alias, this);
}
@Override
public VFavorite as(Table<?> alias) {
return new VFavorite(alias.getQualifiedName(), this);
}
/**
* Rename this table
*/
@Override
public VFavorite rename(String name) {
return new VFavorite(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public VFavorite rename(Name name) {
return new VFavorite(name, null);
}
/**
* Rename this table
*/
@Override
public VFavorite rename(Table<?> name) {
return new VFavorite(name.getQualifiedName(), null);
}
// -------------------------------------------------------------------------
// Row6 type methods
// -------------------------------------------------------------------------
@Override
public Row6<Integer, Integer, String, String, String, String> fieldsRow() {
return (Row6) super.fieldsRow();
}
/**
* Convenience mapping calling {@link SelectField#convertFrom(Function)}.
*/
public <U> SelectField<U> mapping(Function6<? super Integer, ? super Integer, ? super String, ? super String, ? super String, ? super String, ? extends U> from) {
return convertFrom(Records.mapping(from));
}
/**
* Convenience mapping calling {@link SelectField#convertFrom(Class,
* Function)}.
*/
public <U> SelectField<U> mapping(Class<U> toType, Function6<? super Integer, ? super Integer, ? super String, ? super String, ? super String, ? super String, ? extends U> from) {
return convertFrom(toType, Records.mapping(from));
}
}

View File

@ -0,0 +1,332 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.done.tables.records;
import de.jottyfan.timetrack.db.done.tables.TFavorite;
import java.time.LocalDateTime;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record7;
import org.jooq.Row7;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TFavoriteRecord extends UpdatableRecordImpl<TFavoriteRecord> implements Record7<LocalDateTime, Integer, Integer, Integer, Integer, Integer, Integer> {
private static final long serialVersionUID = 1L;
/**
* Setter for <code>done.t_favorite.lastchange</code>.
*/
public void setLastchange(LocalDateTime value) {
set(0, value);
}
/**
* Getter for <code>done.t_favorite.lastchange</code>.
*/
public LocalDateTime getLastchange() {
return (LocalDateTime) get(0);
}
/**
* Setter for <code>done.t_favorite.pk_favorite</code>.
*/
public void setPkFavorite(Integer value) {
set(1, value);
}
/**
* Getter for <code>done.t_favorite.pk_favorite</code>.
*/
public Integer getPkFavorite() {
return (Integer) get(1);
}
/**
* Setter for <code>done.t_favorite.fk_login</code>.
*/
public void setFkLogin(Integer value) {
set(2, value);
}
/**
* Getter for <code>done.t_favorite.fk_login</code>.
*/
public Integer getFkLogin() {
return (Integer) get(2);
}
/**
* Setter for <code>done.t_favorite.fk_project</code>.
*/
public void setFkProject(Integer value) {
set(3, value);
}
/**
* Getter for <code>done.t_favorite.fk_project</code>.
*/
public Integer getFkProject() {
return (Integer) get(3);
}
/**
* Setter for <code>done.t_favorite.fk_module</code>.
*/
public void setFkModule(Integer value) {
set(4, value);
}
/**
* Getter for <code>done.t_favorite.fk_module</code>.
*/
public Integer getFkModule() {
return (Integer) get(4);
}
/**
* Setter for <code>done.t_favorite.fk_job</code>.
*/
public void setFkJob(Integer value) {
set(5, value);
}
/**
* Getter for <code>done.t_favorite.fk_job</code>.
*/
public Integer getFkJob() {
return (Integer) get(5);
}
/**
* Setter for <code>done.t_favorite.fk_billing</code>.
*/
public void setFkBilling(Integer value) {
set(6, value);
}
/**
* Getter for <code>done.t_favorite.fk_billing</code>.
*/
public Integer getFkBilling() {
return (Integer) get(6);
}
// -------------------------------------------------------------------------
// Primary key information
// -------------------------------------------------------------------------
@Override
public Record1<Integer> key() {
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record7 type implementation
// -------------------------------------------------------------------------
@Override
public Row7<LocalDateTime, Integer, Integer, Integer, Integer, Integer, Integer> fieldsRow() {
return (Row7) super.fieldsRow();
}
@Override
public Row7<LocalDateTime, Integer, Integer, Integer, Integer, Integer, Integer> valuesRow() {
return (Row7) super.valuesRow();
}
@Override
public Field<LocalDateTime> field1() {
return TFavorite.T_FAVORITE.LASTCHANGE;
}
@Override
public Field<Integer> field2() {
return TFavorite.T_FAVORITE.PK_FAVORITE;
}
@Override
public Field<Integer> field3() {
return TFavorite.T_FAVORITE.FK_LOGIN;
}
@Override
public Field<Integer> field4() {
return TFavorite.T_FAVORITE.FK_PROJECT;
}
@Override
public Field<Integer> field5() {
return TFavorite.T_FAVORITE.FK_MODULE;
}
@Override
public Field<Integer> field6() {
return TFavorite.T_FAVORITE.FK_JOB;
}
@Override
public Field<Integer> field7() {
return TFavorite.T_FAVORITE.FK_BILLING;
}
@Override
public LocalDateTime component1() {
return getLastchange();
}
@Override
public Integer component2() {
return getPkFavorite();
}
@Override
public Integer component3() {
return getFkLogin();
}
@Override
public Integer component4() {
return getFkProject();
}
@Override
public Integer component5() {
return getFkModule();
}
@Override
public Integer component6() {
return getFkJob();
}
@Override
public Integer component7() {
return getFkBilling();
}
@Override
public LocalDateTime value1() {
return getLastchange();
}
@Override
public Integer value2() {
return getPkFavorite();
}
@Override
public Integer value3() {
return getFkLogin();
}
@Override
public Integer value4() {
return getFkProject();
}
@Override
public Integer value5() {
return getFkModule();
}
@Override
public Integer value6() {
return getFkJob();
}
@Override
public Integer value7() {
return getFkBilling();
}
@Override
public TFavoriteRecord value1(LocalDateTime value) {
setLastchange(value);
return this;
}
@Override
public TFavoriteRecord value2(Integer value) {
setPkFavorite(value);
return this;
}
@Override
public TFavoriteRecord value3(Integer value) {
setFkLogin(value);
return this;
}
@Override
public TFavoriteRecord value4(Integer value) {
setFkProject(value);
return this;
}
@Override
public TFavoriteRecord value5(Integer value) {
setFkModule(value);
return this;
}
@Override
public TFavoriteRecord value6(Integer value) {
setFkJob(value);
return this;
}
@Override
public TFavoriteRecord value7(Integer value) {
setFkBilling(value);
return this;
}
@Override
public TFavoriteRecord values(LocalDateTime value1, Integer value2, Integer value3, Integer value4, Integer value5, Integer value6, Integer value7) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
value7(value7);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached TFavoriteRecord
*/
public TFavoriteRecord() {
super(TFavorite.T_FAVORITE);
}
/**
* Create a detached, initialised TFavoriteRecord
*/
public TFavoriteRecord(LocalDateTime lastchange, Integer pkFavorite, Integer fkLogin, Integer fkProject, Integer fkModule, Integer fkJob, Integer fkBilling) {
super(TFavorite.T_FAVORITE);
setLastchange(lastchange);
setPkFavorite(pkFavorite);
setFkLogin(fkLogin);
setFkProject(fkProject);
setFkModule(fkModule);
setFkJob(fkJob);
setFkBilling(fkBilling);
resetChangedOnNotNull();
}
}

View File

@ -0,0 +1,283 @@
/*
* This file is generated by jOOQ.
*/
package de.jottyfan.timetrack.db.done.tables.records;
import de.jottyfan.timetrack.db.done.tables.VFavorite;
import org.jooq.Field;
import org.jooq.Record6;
import org.jooq.Row6;
import org.jooq.impl.TableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class VFavoriteRecord extends TableRecordImpl<VFavoriteRecord> implements Record6<Integer, Integer, String, String, String, String> {
private static final long serialVersionUID = 1L;
/**
* Setter for <code>done.v_favorite.pk_favorite</code>.
*/
public void setPkFavorite(Integer value) {
set(0, value);
}
/**
* Getter for <code>done.v_favorite.pk_favorite</code>.
*/
public Integer getPkFavorite() {
return (Integer) get(0);
}
/**
* Setter for <code>done.v_favorite.fk_login</code>.
*/
public void setFkLogin(Integer value) {
set(1, value);
}
/**
* Getter for <code>done.v_favorite.fk_login</code>.
*/
public Integer getFkLogin() {
return (Integer) get(1);
}
/**
* Setter for <code>done.v_favorite.project</code>.
*/
public void setProject(String value) {
set(2, value);
}
/**
* Getter for <code>done.v_favorite.project</code>.
*/
public String getProject() {
return (String) get(2);
}
/**
* Setter for <code>done.v_favorite.module</code>.
*/
public void setModule(String value) {
set(3, value);
}
/**
* Getter for <code>done.v_favorite.module</code>.
*/
public String getModule() {
return (String) get(3);
}
/**
* Setter for <code>done.v_favorite.job</code>.
*/
public void setJob(String value) {
set(4, value);
}
/**
* Getter for <code>done.v_favorite.job</code>.
*/
public String getJob() {
return (String) get(4);
}
/**
* Setter for <code>done.v_favorite.billing</code>.
*/
public void setBilling(String value) {
set(5, value);
}
/**
* Getter for <code>done.v_favorite.billing</code>.
*/
public String getBilling() {
return (String) get(5);
}
// -------------------------------------------------------------------------
// Record6 type implementation
// -------------------------------------------------------------------------
@Override
public Row6<Integer, Integer, String, String, String, String> fieldsRow() {
return (Row6) super.fieldsRow();
}
@Override
public Row6<Integer, Integer, String, String, String, String> valuesRow() {
return (Row6) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return VFavorite.V_FAVORITE.PK_FAVORITE;
}
@Override
public Field<Integer> field2() {
return VFavorite.V_FAVORITE.FK_LOGIN;
}
@Override
public Field<String> field3() {
return VFavorite.V_FAVORITE.PROJECT;
}
@Override
public Field<String> field4() {
return VFavorite.V_FAVORITE.MODULE;
}
@Override
public Field<String> field5() {
return VFavorite.V_FAVORITE.JOB;
}
@Override
public Field<String> field6() {
return VFavorite.V_FAVORITE.BILLING;
}
@Override
public Integer component1() {
return getPkFavorite();
}
@Override
public Integer component2() {
return getFkLogin();
}
@Override
public String component3() {
return getProject();
}
@Override
public String component4() {
return getModule();
}
@Override
public String component5() {
return getJob();
}
@Override
public String component6() {
return getBilling();
}
@Override
public Integer value1() {
return getPkFavorite();
}
@Override
public Integer value2() {
return getFkLogin();
}
@Override
public String value3() {
return getProject();
}
@Override
public String value4() {
return getModule();
}
@Override
public String value5() {
return getJob();
}
@Override
public String value6() {
return getBilling();
}
@Override
public VFavoriteRecord value1(Integer value) {
setPkFavorite(value);
return this;
}
@Override
public VFavoriteRecord value2(Integer value) {
setFkLogin(value);
return this;
}
@Override
public VFavoriteRecord value3(String value) {
setProject(value);
return this;
}
@Override
public VFavoriteRecord value4(String value) {
setModule(value);
return this;
}
@Override
public VFavoriteRecord value5(String value) {
setJob(value);
return this;
}
@Override
public VFavoriteRecord value6(String value) {
setBilling(value);
return this;
}
@Override
public VFavoriteRecord values(Integer value1, Integer value2, String value3, String value4, String value5, String value6) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached VFavoriteRecord
*/
public VFavoriteRecord() {
super(VFavorite.V_FAVORITE);
}
/**
* Create a detached, initialised VFavoriteRecord
*/
public VFavoriteRecord(Integer pkFavorite, Integer fkLogin, String project, String module, String job, String billing) {
super(VFavorite.V_FAVORITE);
setPkFavorite(pkFavorite);
setFkLogin(fkLogin);
setProject(project);
setModule(module);
setJob(job);
setBilling(billing);
resetChangedOnNotNull();
}
}

View File

@ -38,6 +38,24 @@ create table done.t_done (
fk_billing integer references done.t_billing(pk)
);
create table done.t_favorite (
lastchange timestamp without time zone default now(),
pk_favorite integer not null primary key generated always as identity,
fk_login integer not null references profile.t_login(pk),
fk_project integer references done.t_project(pk),
fk_module integer references done.t_module(pk),
fk_job integer references done.t_job(pk),
fk_billing integer references done.t_billing(pk)
);
create view done.v_favorite as
select f.pk_favorite, f.fk_login, p.name as project, m.name as module, j.name as job, b.name as billing
from done.t_favorite f
left join done.t_project p on p.pk = f.fk_project
left join done.t_module m on m.pk = f.fk_module
left join done.t_job j on j.pk = f.fk_job
left join done.t_billing b on b.pk = f.fk_billing;
create view done.v_billing as
with x(total) as (
select coalesce(nullif(count(1), 0), 1) as count
@ -302,6 +320,8 @@ grant select,insert,delete,update on table done.t_done to timetrack;
grant select,insert,delete,update on table done.t_job to timetrack;
grant select,insert,delete,update on table done.t_module to timetrack;
grant select,insert,delete,update on table done.t_project to timetrack;
grant select,insert,delete,update on table done.t_favorite to timetrack;
grant select on table done.v_favorite to timetrack;
grant select on table done.v_billing to timetrack;
grant select on table done.v_done to timetrack;
grant select on table done.v_duration to timetrack;