enhanced view

This commit is contained in:
Jottyfan
2023-12-16 21:32:04 +01:00
parent 5ca0b3f7fa
commit b46d3d05c0
27 changed files with 98 additions and 1611 deletions

View File

@ -6,12 +6,13 @@
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17/">
<classpathentry kind="src" output="bin/main" path="src/main/resources">
<attributes>
<attribute name="module" value="true"/>
<attribute name="gradle_scope" value="main"/>
<attribute name="gradle_used_by_scope" value="main,test"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17/"/>
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
<classpathentry kind="output" path="bin/default"/>
</classpath>

View File

@ -1,2 +1,13 @@
arguments=
auto.sync=false
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
java.home=
jvm.arguments=
offline.mode=false
override.workspace.settings=false
show.console.view=false
show.executions.view=false

View File

@ -22,7 +22,7 @@ apply plugin: 'java'
apply plugin: 'maven-publish'
group = 'de.jottyfan'
version = '3'
version = '4'
description = """bicolib"""

View File

@ -16,7 +16,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row4;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -174,13 +173,4 @@ public class TLesson extends TableImpl<TLessonRecord> {
public TLesson rename(Name name) {
return new TLesson(name, null);
}
// -------------------------------------------------------------------------
// Row4 type methods
// -------------------------------------------------------------------------
@Override
public Row4<Integer, Integer, Integer, String> fieldsRow() {
return (Row4) super.fieldsRow();
}
}

View File

@ -16,7 +16,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row3;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -169,13 +168,4 @@ public class TLessonSubject extends TableImpl<TLessonSubjectRecord> {
public TLessonSubject rename(Name name) {
return new TLessonSubject(name, null);
}
// -------------------------------------------------------------------------
// Row3 type methods
// -------------------------------------------------------------------------
@Override
public Row3<Integer, Integer, Integer> fieldsRow() {
return (Row3) super.fieldsRow();
}
}

View File

@ -16,7 +16,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row4;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -146,13 +145,4 @@ public class TPerson extends TableImpl<TPersonRecord> {
public TPerson rename(Name name) {
return new TPerson(name, null);
}
// -------------------------------------------------------------------------
// Row4 type methods
// -------------------------------------------------------------------------
@Override
public Row4<Integer, String, String, String> fieldsRow() {
return (Row4) super.fieldsRow();
}
}

View File

@ -16,7 +16,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row3;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -141,13 +140,4 @@ public class TProfile extends TableImpl<TProfileRecord> {
public TProfile rename(Name name) {
return new TProfile(name, null);
}
// -------------------------------------------------------------------------
// Row3 type methods
// -------------------------------------------------------------------------
@Override
public Row3<Integer, String, String> fieldsRow() {
return (Row3) super.fieldsRow();
}
}

View File

@ -17,7 +17,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row3;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -142,13 +141,4 @@ public class TSlot extends TableImpl<TSlotRecord> {
public TSlot rename(Name name) {
return new TSlot(name, null);
}
// -------------------------------------------------------------------------
// Row3 type methods
// -------------------------------------------------------------------------
@Override
public Row3<Integer, LocalDate, String> fieldsRow() {
return (Row3) super.fieldsRow();
}
}

View File

@ -16,7 +16,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row2;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -136,13 +135,4 @@ public class TSource extends TableImpl<TSourceRecord> {
public TSource rename(Name name) {
return new TSource(name, null);
}
// -------------------------------------------------------------------------
// Row2 type methods
// -------------------------------------------------------------------------
@Override
public Row2<Integer, String> fieldsRow() {
return (Row2) super.fieldsRow();
}
}

View File

@ -16,7 +16,6 @@ import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row9;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -183,13 +182,4 @@ public class TSubject extends TableImpl<TSubjectRecord> {
public TSubject rename(Name name) {
return new TSubject(name, null);
}
// -------------------------------------------------------------------------
// Row9 type methods
// -------------------------------------------------------------------------
@Override
public Row9<Integer, Integer, String, String, String, String, String, String, Integer> fieldsRow() {
return (Row9) super.fieldsRow();
}
}

View File

@ -13,7 +13,6 @@ import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row18;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -197,13 +196,4 @@ public class VCalendar extends TableImpl<VCalendarRecord> {
public VCalendar rename(Name name) {
return new VCalendar(name, null);
}
// -------------------------------------------------------------------------
// Row18 type methods
// -------------------------------------------------------------------------
@Override
public Row18<LocalDate, String, String, String, String, String, String, String, String, String, String, String, Integer, Integer, Integer, Integer, Integer, Integer> fieldsRow() {
return (Row18) super.fieldsRow();
}
}

View File

@ -13,7 +13,6 @@ import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row5;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -44,6 +43,11 @@ public class VLesson extends TableImpl<VLessonRecord> {
return VLessonRecord.class;
}
/**
* The column <code>public.v_lesson.pk_subject</code>.
*/
public final TableField<VLessonRecord, Integer> PK_SUBJECT = createField(DSL.name("pk_subject"), SQLDataType.INTEGER, this, "");
/**
* The column <code>public.v_lesson.source_name</code>.
*/
@ -132,13 +136,4 @@ public class VLesson extends TableImpl<VLessonRecord> {
public VLesson rename(Name name) {
return new VLesson(name, null);
}
// -------------------------------------------------------------------------
// Row5 type methods
// -------------------------------------------------------------------------
@Override
public Row5<String, String, String, LocalDate[], Integer> fieldsRow() {
return (Row5) super.fieldsRow();
}
}

View File

@ -11,7 +11,6 @@ import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row4;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -125,13 +124,4 @@ public class VLessonMissing extends TableImpl<VLessonMissingRecord> {
public VLessonMissing rename(Name name) {
return new VLessonMissing(name, null);
}
// -------------------------------------------------------------------------
// Row4 type methods
// -------------------------------------------------------------------------
@Override
public Row4<String, String, String, Integer> fieldsRow() {
return (Row4) super.fieldsRow();
}
}

View File

@ -11,7 +11,6 @@ import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row1;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
@ -110,13 +109,4 @@ public class VVersion extends TableImpl<VVersionRecord> {
public VVersion rename(Name name) {
return new VVersion(name, null);
}
// -------------------------------------------------------------------------
// Row1 type methods
// -------------------------------------------------------------------------
@Override
public Row1<Integer> fieldsRow() {
return (Row1) super.fieldsRow();
}
}

View File

@ -17,6 +17,7 @@ public class VLesson implements Serializable {
private static final long serialVersionUID = 1L;
private final Integer pkSubject;
private final String sourceName;
private final String theme;
private final String subtheme;
@ -24,6 +25,7 @@ public class VLesson implements Serializable {
private final Integer orderNr;
public VLesson(VLesson value) {
this.pkSubject = value.pkSubject;
this.sourceName = value.sourceName;
this.theme = value.theme;
this.subtheme = value.subtheme;
@ -32,12 +34,14 @@ public class VLesson implements Serializable {
}
public VLesson(
Integer pkSubject,
String sourceName,
String theme,
String subtheme,
LocalDate[] slots,
Integer orderNr
) {
this.pkSubject = pkSubject;
this.sourceName = sourceName;
this.theme = theme;
this.subtheme = subtheme;
@ -45,6 +49,13 @@ public class VLesson implements Serializable {
this.orderNr = orderNr;
}
/**
* Getter for <code>public.v_lesson.pk_subject</code>.
*/
public Integer getPkSubject() {
return this.pkSubject;
}
/**
* Getter for <code>public.v_lesson.source_name</code>.
*/
@ -89,6 +100,12 @@ public class VLesson implements Serializable {
if (getClass() != obj.getClass())
return false;
final VLesson other = (VLesson) obj;
if (pkSubject == null) {
if (other.pkSubject != null)
return false;
}
else if (!pkSubject.equals(other.pkSubject))
return false;
if (sourceName == null) {
if (other.sourceName != null)
return false;
@ -126,6 +143,7 @@ public class VLesson implements Serializable {
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((this.pkSubject == null) ? 0 : this.pkSubject.hashCode());
result = prime * result + ((this.sourceName == null) ? 0 : this.sourceName.hashCode());
result = prime * result + ((this.theme == null) ? 0 : this.theme.hashCode());
result = prime * result + ((this.subtheme == null) ? 0 : this.subtheme.hashCode());
@ -138,7 +156,8 @@ public class VLesson implements Serializable {
public String toString() {
StringBuilder sb = new StringBuilder("VLesson (");
sb.append(sourceName);
sb.append(pkSubject);
sb.append(", ").append(sourceName);
sb.append(", ").append(theme);
sb.append(", ").append(subtheme);
sb.append(", ").append(Arrays.toString(slots));

View File

@ -6,10 +6,7 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.TLesson;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record4;
import org.jooq.Row4;
import org.jooq.impl.UpdatableRecordImpl;
@ -17,7 +14,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TLessonRecord extends UpdatableRecordImpl<TLessonRecord> implements Record4<Integer, Integer, Integer, String> {
public class TLessonRecord extends UpdatableRecordImpl<TLessonRecord> {
private static final long serialVersionUID = 1L;
@ -90,113 +87,6 @@ public class TLessonRecord extends UpdatableRecordImpl<TLessonRecord> implements
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record4 type implementation
// -------------------------------------------------------------------------
@Override
public Row4<Integer, Integer, Integer, String> fieldsRow() {
return (Row4) super.fieldsRow();
}
@Override
public Row4<Integer, Integer, Integer, String> valuesRow() {
return (Row4) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TLesson.T_LESSON.PK_LESSON;
}
@Override
public Field<Integer> field2() {
return TLesson.T_LESSON.FK_SLOT;
}
@Override
public Field<Integer> field3() {
return TLesson.T_LESSON.FK_PERSON;
}
@Override
public Field<String> field4() {
return TLesson.T_LESSON.NOTES;
}
@Override
public Integer component1() {
return getPkLesson();
}
@Override
public Integer component2() {
return getFkSlot();
}
@Override
public Integer component3() {
return getFkPerson();
}
@Override
public String component4() {
return getNotes();
}
@Override
public Integer value1() {
return getPkLesson();
}
@Override
public Integer value2() {
return getFkSlot();
}
@Override
public Integer value3() {
return getFkPerson();
}
@Override
public String value4() {
return getNotes();
}
@Override
public TLessonRecord value1(Integer value) {
setPkLesson(value);
return this;
}
@Override
public TLessonRecord value2(Integer value) {
setFkSlot(value);
return this;
}
@Override
public TLessonRecord value3(Integer value) {
setFkPerson(value);
return this;
}
@Override
public TLessonRecord value4(String value) {
setNotes(value);
return this;
}
@Override
public TLessonRecord values(Integer value1, Integer value2, Integer value3, String value4) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -6,10 +6,7 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.TLessonSubject;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record3;
import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;
@ -17,7 +14,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TLessonSubjectRecord extends UpdatableRecordImpl<TLessonSubjectRecord> implements Record3<Integer, Integer, Integer> {
public class TLessonSubjectRecord extends UpdatableRecordImpl<TLessonSubjectRecord> {
private static final long serialVersionUID = 1L;
@ -75,91 +72,6 @@ public class TLessonSubjectRecord extends UpdatableRecordImpl<TLessonSubjectReco
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record3 type implementation
// -------------------------------------------------------------------------
@Override
public Row3<Integer, Integer, Integer> fieldsRow() {
return (Row3) super.fieldsRow();
}
@Override
public Row3<Integer, Integer, Integer> valuesRow() {
return (Row3) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TLessonSubject.T_LESSON_SUBJECT.PK_LESSON_SUBJECT;
}
@Override
public Field<Integer> field2() {
return TLessonSubject.T_LESSON_SUBJECT.FK_LESSON;
}
@Override
public Field<Integer> field3() {
return TLessonSubject.T_LESSON_SUBJECT.FK_SUBJECT;
}
@Override
public Integer component1() {
return getPkLessonSubject();
}
@Override
public Integer component2() {
return getFkLesson();
}
@Override
public Integer component3() {
return getFkSubject();
}
@Override
public Integer value1() {
return getPkLessonSubject();
}
@Override
public Integer value2() {
return getFkLesson();
}
@Override
public Integer value3() {
return getFkSubject();
}
@Override
public TLessonSubjectRecord value1(Integer value) {
setPkLessonSubject(value);
return this;
}
@Override
public TLessonSubjectRecord value2(Integer value) {
setFkLesson(value);
return this;
}
@Override
public TLessonSubjectRecord value3(Integer value) {
setFkSubject(value);
return this;
}
@Override
public TLessonSubjectRecord values(Integer value1, Integer value2, Integer value3) {
value1(value1);
value2(value2);
value3(value3);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -6,10 +6,7 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.TPerson;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record4;
import org.jooq.Row4;
import org.jooq.impl.UpdatableRecordImpl;
@ -17,7 +14,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TPersonRecord extends UpdatableRecordImpl<TPersonRecord> implements Record4<Integer, String, String, String> {
public class TPersonRecord extends UpdatableRecordImpl<TPersonRecord> {
private static final long serialVersionUID = 1L;
@ -90,113 +87,6 @@ public class TPersonRecord extends UpdatableRecordImpl<TPersonRecord> implements
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record4 type implementation
// -------------------------------------------------------------------------
@Override
public Row4<Integer, String, String, String> fieldsRow() {
return (Row4) super.fieldsRow();
}
@Override
public Row4<Integer, String, String, String> valuesRow() {
return (Row4) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TPerson.T_PERSON.PK_PERSON;
}
@Override
public Field<String> field2() {
return TPerson.T_PERSON.FORENAME;
}
@Override
public Field<String> field3() {
return TPerson.T_PERSON.SURNAME;
}
@Override
public Field<String> field4() {
return TPerson.T_PERSON.ABBREVIATION;
}
@Override
public Integer component1() {
return getPkPerson();
}
@Override
public String component2() {
return getForename();
}
@Override
public String component3() {
return getSurname();
}
@Override
public String component4() {
return getAbbreviation();
}
@Override
public Integer value1() {
return getPkPerson();
}
@Override
public String value2() {
return getForename();
}
@Override
public String value3() {
return getSurname();
}
@Override
public String value4() {
return getAbbreviation();
}
@Override
public TPersonRecord value1(Integer value) {
setPkPerson(value);
return this;
}
@Override
public TPersonRecord value2(String value) {
setForename(value);
return this;
}
@Override
public TPersonRecord value3(String value) {
setSurname(value);
return this;
}
@Override
public TPersonRecord value4(String value) {
setAbbreviation(value);
return this;
}
@Override
public TPersonRecord values(Integer value1, String value2, String value3, String value4) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -6,10 +6,7 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.TProfile;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record3;
import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;
@ -17,7 +14,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TProfileRecord extends UpdatableRecordImpl<TProfileRecord> implements Record3<Integer, String, String> {
public class TProfileRecord extends UpdatableRecordImpl<TProfileRecord> {
private static final long serialVersionUID = 1L;
@ -75,91 +72,6 @@ public class TProfileRecord extends UpdatableRecordImpl<TProfileRecord> implemen
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record3 type implementation
// -------------------------------------------------------------------------
@Override
public Row3<Integer, String, String> fieldsRow() {
return (Row3) super.fieldsRow();
}
@Override
public Row3<Integer, String, String> valuesRow() {
return (Row3) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TProfile.T_PROFILE.ID;
}
@Override
public Field<String> field2() {
return TProfile.T_PROFILE.USERNAME;
}
@Override
public Field<String> field3() {
return TProfile.T_PROFILE.THEME;
}
@Override
public Integer component1() {
return getId();
}
@Override
public String component2() {
return getUsername();
}
@Override
public String component3() {
return getTheme();
}
@Override
public Integer value1() {
return getId();
}
@Override
public String value2() {
return getUsername();
}
@Override
public String value3() {
return getTheme();
}
@Override
public TProfileRecord value1(Integer value) {
setId(value);
return this;
}
@Override
public TProfileRecord value2(String value) {
setUsername(value);
return this;
}
@Override
public TProfileRecord value3(String value) {
setTheme(value);
return this;
}
@Override
public TProfileRecord values(Integer value1, String value2, String value3) {
value1(value1);
value2(value2);
value3(value3);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -8,10 +8,7 @@ import de.jottyfan.bico.db.tables.TSlot;
import java.time.LocalDate;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record3;
import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;
@ -19,7 +16,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TSlotRecord extends UpdatableRecordImpl<TSlotRecord> implements Record3<Integer, LocalDate, String> {
public class TSlotRecord extends UpdatableRecordImpl<TSlotRecord> {
private static final long serialVersionUID = 1L;
@ -77,91 +74,6 @@ public class TSlotRecord extends UpdatableRecordImpl<TSlotRecord> implements Rec
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record3 type implementation
// -------------------------------------------------------------------------
@Override
public Row3<Integer, LocalDate, String> fieldsRow() {
return (Row3) super.fieldsRow();
}
@Override
public Row3<Integer, LocalDate, String> valuesRow() {
return (Row3) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TSlot.T_SLOT.PK_SLOT;
}
@Override
public Field<LocalDate> field2() {
return TSlot.T_SLOT.SLOT_DAY;
}
@Override
public Field<String> field3() {
return TSlot.T_SLOT.NOTE;
}
@Override
public Integer component1() {
return getPkSlot();
}
@Override
public LocalDate component2() {
return getSlotDay();
}
@Override
public String component3() {
return getNote();
}
@Override
public Integer value1() {
return getPkSlot();
}
@Override
public LocalDate value2() {
return getSlotDay();
}
@Override
public String value3() {
return getNote();
}
@Override
public TSlotRecord value1(Integer value) {
setPkSlot(value);
return this;
}
@Override
public TSlotRecord value2(LocalDate value) {
setSlotDay(value);
return this;
}
@Override
public TSlotRecord value3(String value) {
setNote(value);
return this;
}
@Override
public TSlotRecord values(Integer value1, LocalDate value2, String value3) {
value1(value1);
value2(value2);
value3(value3);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -6,10 +6,7 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.TSource;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record2;
import org.jooq.Row2;
import org.jooq.impl.UpdatableRecordImpl;
@ -17,7 +14,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TSourceRecord extends UpdatableRecordImpl<TSourceRecord> implements Record2<Integer, String> {
public class TSourceRecord extends UpdatableRecordImpl<TSourceRecord> {
private static final long serialVersionUID = 1L;
@ -60,69 +57,6 @@ public class TSourceRecord extends UpdatableRecordImpl<TSourceRecord> implements
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record2 type implementation
// -------------------------------------------------------------------------
@Override
public Row2<Integer, String> fieldsRow() {
return (Row2) super.fieldsRow();
}
@Override
public Row2<Integer, String> valuesRow() {
return (Row2) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TSource.T_SOURCE.PK_SOURCE;
}
@Override
public Field<String> field2() {
return TSource.T_SOURCE.NAME;
}
@Override
public Integer component1() {
return getPkSource();
}
@Override
public String component2() {
return getName();
}
@Override
public Integer value1() {
return getPkSource();
}
@Override
public String value2() {
return getName();
}
@Override
public TSourceRecord value1(Integer value) {
setPkSource(value);
return this;
}
@Override
public TSourceRecord value2(String value) {
setName(value);
return this;
}
@Override
public TSourceRecord values(Integer value1, String value2) {
value1(value1);
value2(value2);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -6,10 +6,7 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.TSubject;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record9;
import org.jooq.Row9;
import org.jooq.impl.UpdatableRecordImpl;
@ -17,7 +14,7 @@ import org.jooq.impl.UpdatableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class TSubjectRecord extends UpdatableRecordImpl<TSubjectRecord> implements Record9<Integer, Integer, String, String, String, String, String, String, Integer> {
public class TSubjectRecord extends UpdatableRecordImpl<TSubjectRecord> {
private static final long serialVersionUID = 1L;
@ -165,223 +162,6 @@ public class TSubjectRecord extends UpdatableRecordImpl<TSubjectRecord> implemen
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record9 type implementation
// -------------------------------------------------------------------------
@Override
public Row9<Integer, Integer, String, String, String, String, String, String, Integer> fieldsRow() {
return (Row9) super.fieldsRow();
}
@Override
public Row9<Integer, Integer, String, String, String, String, String, String, Integer> valuesRow() {
return (Row9) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return TSubject.T_SUBJECT.PK_SUBJECT;
}
@Override
public Field<Integer> field2() {
return TSubject.T_SUBJECT.FK_SOURCE;
}
@Override
public Field<String> field3() {
return TSubject.T_SUBJECT.THEME;
}
@Override
public Field<String> field4() {
return TSubject.T_SUBJECT.SUBTHEME;
}
@Override
public Field<String> field5() {
return TSubject.T_SUBJECT.BOOK_PAGES;
}
@Override
public Field<String> field6() {
return TSubject.T_SUBJECT.WORKSHEETS;
}
@Override
public Field<String> field7() {
return TSubject.T_SUBJECT.BIBLEVERSE;
}
@Override
public Field<String> field8() {
return TSubject.T_SUBJECT.NOTES;
}
@Override
public Field<Integer> field9() {
return TSubject.T_SUBJECT.ORDER_NR;
}
@Override
public Integer component1() {
return getPkSubject();
}
@Override
public Integer component2() {
return getFkSource();
}
@Override
public String component3() {
return getTheme();
}
@Override
public String component4() {
return getSubtheme();
}
@Override
public String component5() {
return getBookPages();
}
@Override
public String component6() {
return getWorksheets();
}
@Override
public String component7() {
return getBibleverse();
}
@Override
public String component8() {
return getNotes();
}
@Override
public Integer component9() {
return getOrderNr();
}
@Override
public Integer value1() {
return getPkSubject();
}
@Override
public Integer value2() {
return getFkSource();
}
@Override
public String value3() {
return getTheme();
}
@Override
public String value4() {
return getSubtheme();
}
@Override
public String value5() {
return getBookPages();
}
@Override
public String value6() {
return getWorksheets();
}
@Override
public String value7() {
return getBibleverse();
}
@Override
public String value8() {
return getNotes();
}
@Override
public Integer value9() {
return getOrderNr();
}
@Override
public TSubjectRecord value1(Integer value) {
setPkSubject(value);
return this;
}
@Override
public TSubjectRecord value2(Integer value) {
setFkSource(value);
return this;
}
@Override
public TSubjectRecord value3(String value) {
setTheme(value);
return this;
}
@Override
public TSubjectRecord value4(String value) {
setSubtheme(value);
return this;
}
@Override
public TSubjectRecord value5(String value) {
setBookPages(value);
return this;
}
@Override
public TSubjectRecord value6(String value) {
setWorksheets(value);
return this;
}
@Override
public TSubjectRecord value7(String value) {
setBibleverse(value);
return this;
}
@Override
public TSubjectRecord value8(String value) {
setNotes(value);
return this;
}
@Override
public TSubjectRecord value9(Integer value) {
setOrderNr(value);
return this;
}
@Override
public TSubjectRecord values(Integer value1, Integer value2, String value3, String value4, String value5, String value6, String value7, String value8, Integer value9) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
value7(value7);
value8(value8);
value9(value9);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -8,9 +8,6 @@ import de.jottyfan.bico.db.tables.VCalendar;
import java.time.LocalDate;
import org.jooq.Field;
import org.jooq.Record18;
import org.jooq.Row18;
import org.jooq.impl.TableRecordImpl;
@ -18,7 +15,7 @@ import org.jooq.impl.TableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class VCalendarRecord extends TableRecordImpl<VCalendarRecord> implements Record18<LocalDate, String, String, String, String, String, String, String, String, String, String, String, Integer, Integer, Integer, Integer, Integer, Integer> {
public class VCalendarRecord extends TableRecordImpl<VCalendarRecord> {
private static final long serialVersionUID = 1L;
@ -292,421 +289,6 @@ public class VCalendarRecord extends TableRecordImpl<VCalendarRecord> implements
return (Integer) get(17);
}
// -------------------------------------------------------------------------
// Record18 type implementation
// -------------------------------------------------------------------------
@Override
public Row18<LocalDate, String, String, String, String, String, String, String, String, String, String, String, Integer, Integer, Integer, Integer, Integer, Integer> fieldsRow() {
return (Row18) super.fieldsRow();
}
@Override
public Row18<LocalDate, String, String, String, String, String, String, String, String, String, String, String, Integer, Integer, Integer, Integer, Integer, Integer> valuesRow() {
return (Row18) super.valuesRow();
}
@Override
public Field<LocalDate> field1() {
return VCalendar.V_CALENDAR.SLOT_DAY;
}
@Override
public Field<String> field2() {
return VCalendar.V_CALENDAR.FULLNAME;
}
@Override
public Field<String> field3() {
return VCalendar.V_CALENDAR.ABBREVIATION;
}
@Override
public Field<String> field4() {
return VCalendar.V_CALENDAR.SOURCE_NAME;
}
@Override
public Field<String> field5() {
return VCalendar.V_CALENDAR.THEME;
}
@Override
public Field<String> field6() {
return VCalendar.V_CALENDAR.SUBTHEME;
}
@Override
public Field<String> field7() {
return VCalendar.V_CALENDAR.BOOK_PAGES;
}
@Override
public Field<String> field8() {
return VCalendar.V_CALENDAR.WORKSHEETS;
}
@Override
public Field<String> field9() {
return VCalendar.V_CALENDAR.BIBLEVERSE;
}
@Override
public Field<String> field10() {
return VCalendar.V_CALENDAR.SUBJECT_NOTES;
}
@Override
public Field<String> field11() {
return VCalendar.V_CALENDAR.LESSON_NOTES;
}
@Override
public Field<String> field12() {
return VCalendar.V_CALENDAR.SLOT_NOTES;
}
@Override
public Field<Integer> field13() {
return VCalendar.V_CALENDAR.PK_SLOT;
}
@Override
public Field<Integer> field14() {
return VCalendar.V_CALENDAR.PK_LESSON;
}
@Override
public Field<Integer> field15() {
return VCalendar.V_CALENDAR.PK_LESSON_SUBJECT;
}
@Override
public Field<Integer> field16() {
return VCalendar.V_CALENDAR.PK_PERSON;
}
@Override
public Field<Integer> field17() {
return VCalendar.V_CALENDAR.PK_SUBJECT;
}
@Override
public Field<Integer> field18() {
return VCalendar.V_CALENDAR.PK_SOURCE;
}
@Override
public LocalDate component1() {
return getSlotDay();
}
@Override
public String component2() {
return getFullname();
}
@Override
public String component3() {
return getAbbreviation();
}
@Override
public String component4() {
return getSourceName();
}
@Override
public String component5() {
return getTheme();
}
@Override
public String component6() {
return getSubtheme();
}
@Override
public String component7() {
return getBookPages();
}
@Override
public String component8() {
return getWorksheets();
}
@Override
public String component9() {
return getBibleverse();
}
@Override
public String component10() {
return getSubjectNotes();
}
@Override
public String component11() {
return getLessonNotes();
}
@Override
public String component12() {
return getSlotNotes();
}
@Override
public Integer component13() {
return getPkSlot();
}
@Override
public Integer component14() {
return getPkLesson();
}
@Override
public Integer component15() {
return getPkLessonSubject();
}
@Override
public Integer component16() {
return getPkPerson();
}
@Override
public Integer component17() {
return getPkSubject();
}
@Override
public Integer component18() {
return getPkSource();
}
@Override
public LocalDate value1() {
return getSlotDay();
}
@Override
public String value2() {
return getFullname();
}
@Override
public String value3() {
return getAbbreviation();
}
@Override
public String value4() {
return getSourceName();
}
@Override
public String value5() {
return getTheme();
}
@Override
public String value6() {
return getSubtheme();
}
@Override
public String value7() {
return getBookPages();
}
@Override
public String value8() {
return getWorksheets();
}
@Override
public String value9() {
return getBibleverse();
}
@Override
public String value10() {
return getSubjectNotes();
}
@Override
public String value11() {
return getLessonNotes();
}
@Override
public String value12() {
return getSlotNotes();
}
@Override
public Integer value13() {
return getPkSlot();
}
@Override
public Integer value14() {
return getPkLesson();
}
@Override
public Integer value15() {
return getPkLessonSubject();
}
@Override
public Integer value16() {
return getPkPerson();
}
@Override
public Integer value17() {
return getPkSubject();
}
@Override
public Integer value18() {
return getPkSource();
}
@Override
public VCalendarRecord value1(LocalDate value) {
setSlotDay(value);
return this;
}
@Override
public VCalendarRecord value2(String value) {
setFullname(value);
return this;
}
@Override
public VCalendarRecord value3(String value) {
setAbbreviation(value);
return this;
}
@Override
public VCalendarRecord value4(String value) {
setSourceName(value);
return this;
}
@Override
public VCalendarRecord value5(String value) {
setTheme(value);
return this;
}
@Override
public VCalendarRecord value6(String value) {
setSubtheme(value);
return this;
}
@Override
public VCalendarRecord value7(String value) {
setBookPages(value);
return this;
}
@Override
public VCalendarRecord value8(String value) {
setWorksheets(value);
return this;
}
@Override
public VCalendarRecord value9(String value) {
setBibleverse(value);
return this;
}
@Override
public VCalendarRecord value10(String value) {
setSubjectNotes(value);
return this;
}
@Override
public VCalendarRecord value11(String value) {
setLessonNotes(value);
return this;
}
@Override
public VCalendarRecord value12(String value) {
setSlotNotes(value);
return this;
}
@Override
public VCalendarRecord value13(Integer value) {
setPkSlot(value);
return this;
}
@Override
public VCalendarRecord value14(Integer value) {
setPkLesson(value);
return this;
}
@Override
public VCalendarRecord value15(Integer value) {
setPkLessonSubject(value);
return this;
}
@Override
public VCalendarRecord value16(Integer value) {
setPkPerson(value);
return this;
}
@Override
public VCalendarRecord value17(Integer value) {
setPkSubject(value);
return this;
}
@Override
public VCalendarRecord value18(Integer value) {
setPkSource(value);
return this;
}
@Override
public VCalendarRecord values(LocalDate value1, String value2, String value3, String value4, String value5, String value6, String value7, String value8, String value9, String value10, String value11, String value12, Integer value13, Integer value14, Integer value15, Integer value16, Integer value17, Integer value18) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
value7(value7);
value8(value8);
value9(value9);
value10(value10);
value11(value11);
value12(value12);
value13(value13);
value14(value14);
value15(value15);
value16(value16);
value17(value17);
value18(value18);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -6,9 +6,6 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.VLessonMissing;
import org.jooq.Field;
import org.jooq.Record4;
import org.jooq.Row4;
import org.jooq.impl.TableRecordImpl;
@ -16,7 +13,7 @@ import org.jooq.impl.TableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class VLessonMissingRecord extends TableRecordImpl<VLessonMissingRecord> implements Record4<String, String, String, Integer> {
public class VLessonMissingRecord extends TableRecordImpl<VLessonMissingRecord> {
private static final long serialVersionUID = 1L;
@ -80,113 +77,6 @@ public class VLessonMissingRecord extends TableRecordImpl<VLessonMissingRecord>
return (Integer) get(3);
}
// -------------------------------------------------------------------------
// Record4 type implementation
// -------------------------------------------------------------------------
@Override
public Row4<String, String, String, Integer> fieldsRow() {
return (Row4) super.fieldsRow();
}
@Override
public Row4<String, String, String, Integer> valuesRow() {
return (Row4) super.valuesRow();
}
@Override
public Field<String> field1() {
return VLessonMissing.V_LESSON_MISSING.SOURCE_NAME;
}
@Override
public Field<String> field2() {
return VLessonMissing.V_LESSON_MISSING.THEME;
}
@Override
public Field<String> field3() {
return VLessonMissing.V_LESSON_MISSING.SUBTHEME;
}
@Override
public Field<Integer> field4() {
return VLessonMissing.V_LESSON_MISSING.ORDER_NR;
}
@Override
public String component1() {
return getSourceName();
}
@Override
public String component2() {
return getTheme();
}
@Override
public String component3() {
return getSubtheme();
}
@Override
public Integer component4() {
return getOrderNr();
}
@Override
public String value1() {
return getSourceName();
}
@Override
public String value2() {
return getTheme();
}
@Override
public String value3() {
return getSubtheme();
}
@Override
public Integer value4() {
return getOrderNr();
}
@Override
public VLessonMissingRecord value1(String value) {
setSourceName(value);
return this;
}
@Override
public VLessonMissingRecord value2(String value) {
setTheme(value);
return this;
}
@Override
public VLessonMissingRecord value3(String value) {
setSubtheme(value);
return this;
}
@Override
public VLessonMissingRecord value4(Integer value) {
setOrderNr(value);
return this;
}
@Override
public VLessonMissingRecord values(String value1, String value2, String value3, Integer value4) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

View File

@ -8,9 +8,6 @@ import de.jottyfan.bico.db.tables.VLesson;
import java.time.LocalDate;
import org.jooq.Field;
import org.jooq.Record5;
import org.jooq.Row5;
import org.jooq.impl.TableRecordImpl;
@ -18,15 +15,30 @@ import org.jooq.impl.TableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Record5<String, String, String, LocalDate[], Integer> {
public class VLessonRecord extends TableRecordImpl<VLessonRecord> {
private static final long serialVersionUID = 1L;
/**
* Setter for <code>public.v_lesson.pk_subject</code>.
*/
public VLessonRecord setPkSubject(Integer value) {
set(0, value);
return this;
}
/**
* Getter for <code>public.v_lesson.pk_subject</code>.
*/
public Integer getPkSubject() {
return (Integer) get(0);
}
/**
* Setter for <code>public.v_lesson.source_name</code>.
*/
public VLessonRecord setSourceName(String value) {
set(0, value);
set(1, value);
return this;
}
@ -34,14 +46,14 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
* Getter for <code>public.v_lesson.source_name</code>.
*/
public String getSourceName() {
return (String) get(0);
return (String) get(1);
}
/**
* Setter for <code>public.v_lesson.theme</code>.
*/
public VLessonRecord setTheme(String value) {
set(1, value);
set(2, value);
return this;
}
@ -49,14 +61,14 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
* Getter for <code>public.v_lesson.theme</code>.
*/
public String getTheme() {
return (String) get(1);
return (String) get(2);
}
/**
* Setter for <code>public.v_lesson.subtheme</code>.
*/
public VLessonRecord setSubtheme(String value) {
set(2, value);
set(3, value);
return this;
}
@ -64,14 +76,14 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
* Getter for <code>public.v_lesson.subtheme</code>.
*/
public String getSubtheme() {
return (String) get(2);
return (String) get(3);
}
/**
* Setter for <code>public.v_lesson.slots</code>.
*/
public VLessonRecord setSlots(LocalDate[] value) {
set(3, value);
set(4, value);
return this;
}
@ -79,14 +91,14 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
* Getter for <code>public.v_lesson.slots</code>.
*/
public LocalDate[] getSlots() {
return (LocalDate[]) get(3);
return (LocalDate[]) get(4);
}
/**
* Setter for <code>public.v_lesson.order_nr</code>.
*/
public VLessonRecord setOrderNr(Integer value) {
set(4, value);
set(5, value);
return this;
}
@ -94,136 +106,7 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
* Getter for <code>public.v_lesson.order_nr</code>.
*/
public Integer getOrderNr() {
return (Integer) get(4);
}
// -------------------------------------------------------------------------
// Record5 type implementation
// -------------------------------------------------------------------------
@Override
public Row5<String, String, String, LocalDate[], Integer> fieldsRow() {
return (Row5) super.fieldsRow();
}
@Override
public Row5<String, String, String, LocalDate[], Integer> valuesRow() {
return (Row5) super.valuesRow();
}
@Override
public Field<String> field1() {
return VLesson.V_LESSON.SOURCE_NAME;
}
@Override
public Field<String> field2() {
return VLesson.V_LESSON.THEME;
}
@Override
public Field<String> field3() {
return VLesson.V_LESSON.SUBTHEME;
}
@Override
public Field<LocalDate[]> field4() {
return VLesson.V_LESSON.SLOTS;
}
@Override
public Field<Integer> field5() {
return VLesson.V_LESSON.ORDER_NR;
}
@Override
public String component1() {
return getSourceName();
}
@Override
public String component2() {
return getTheme();
}
@Override
public String component3() {
return getSubtheme();
}
@Override
public LocalDate[] component4() {
return getSlots();
}
@Override
public Integer component5() {
return getOrderNr();
}
@Override
public String value1() {
return getSourceName();
}
@Override
public String value2() {
return getTheme();
}
@Override
public String value3() {
return getSubtheme();
}
@Override
public LocalDate[] value4() {
return getSlots();
}
@Override
public Integer value5() {
return getOrderNr();
}
@Override
public VLessonRecord value1(String value) {
setSourceName(value);
return this;
}
@Override
public VLessonRecord value2(String value) {
setTheme(value);
return this;
}
@Override
public VLessonRecord value3(String value) {
setSubtheme(value);
return this;
}
@Override
public VLessonRecord value4(LocalDate[] value) {
setSlots(value);
return this;
}
@Override
public VLessonRecord value5(Integer value) {
setOrderNr(value);
return this;
}
@Override
public VLessonRecord values(String value1, String value2, String value3, LocalDate[] value4, Integer value5) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
return this;
return (Integer) get(5);
}
// -------------------------------------------------------------------------
@ -240,9 +123,10 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
/**
* Create a detached, initialised VLessonRecord
*/
public VLessonRecord(String sourceName, String theme, String subtheme, LocalDate[] slots, Integer orderNr) {
public VLessonRecord(Integer pkSubject, String sourceName, String theme, String subtheme, LocalDate[] slots, Integer orderNr) {
super(VLesson.V_LESSON);
setPkSubject(pkSubject);
setSourceName(sourceName);
setTheme(theme);
setSubtheme(subtheme);
@ -257,6 +141,7 @@ public class VLessonRecord extends TableRecordImpl<VLessonRecord> implements Rec
super(VLesson.V_LESSON);
if (value != null) {
setPkSubject(value.getPkSubject());
setSourceName(value.getSourceName());
setTheme(value.getTheme());
setSubtheme(value.getSubtheme());

View File

@ -6,9 +6,6 @@ package de.jottyfan.bico.db.tables.records;
import de.jottyfan.bico.db.tables.VVersion;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Row1;
import org.jooq.impl.TableRecordImpl;
@ -16,7 +13,7 @@ import org.jooq.impl.TableRecordImpl;
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class VVersionRecord extends TableRecordImpl<VVersionRecord> implements Record1<Integer> {
public class VVersionRecord extends TableRecordImpl<VVersionRecord> {
private static final long serialVersionUID = 1L;
@ -35,47 +32,6 @@ public class VVersionRecord extends TableRecordImpl<VVersionRecord> implements R
return (Integer) get(0);
}
// -------------------------------------------------------------------------
// Record1 type implementation
// -------------------------------------------------------------------------
@Override
public Row1<Integer> fieldsRow() {
return (Row1) super.fieldsRow();
}
@Override
public Row1<Integer> valuesRow() {
return (Row1) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return VVersion.V_VERSION.VERSION;
}
@Override
public Integer component1() {
return getVersion();
}
@Override
public Integer value1() {
return getVersion();
}
@Override
public VVersionRecord value1(Integer value) {
setVersion(value);
return this;
}
@Override
public VVersionRecord values(Integer value1) {
value1(value1);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------

18
src/main/resources/v4.sql Normal file
View File

@ -0,0 +1,18 @@
drop view v_lesson;
create view public.v_lesson as
select su.pk_lesson
s.name as source_name,
su.theme,
su.subtheme,
array_agg(d.slot_day) as slots,
su.order_nr
from public.t_subject su
left join public.t_source s on s.pk_source = su.fk_source
left join public.t_lesson_subject ls on ls.fk_subject = su.pk_subject
left join public.t_lesson l on l.pk_lesson = ls.fk_lesson
left join public.t_slot d on d.pk_slot = l.fk_slot
group by su.pk_lesson, s.name, su.theme, su.subtheme, su.order_nr;
create or replace view v_version as
select 4 as version;