diff --git a/repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QSqlMetamodelTest.java b/repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QSqlMetamodelTest.java
deleted file mode 100644
index 5ba90f1524a..00000000000
--- a/repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QSqlMetamodelTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2010-2020 Evolveum and contributors
- *
- * This work is dual-licensed under the Apache License 2.0
- * and European Union Public License. See LICENSE file for details.
- */
-package com.evolveum.midpoint.repo.sql;
-
-import static com.querydsl.core.types.PathMetadataFactory.forVariable;
-import static org.assertj.core.api.Assertions.assertThat;
-
-import java.sql.Types;
-
-import com.querydsl.core.types.Path;
-import com.querydsl.core.types.dsl.NumberPath;
-import com.querydsl.core.types.dsl.StringPath;
-import com.querydsl.sql.*;
-import org.testng.annotations.Test;
-
-import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase;
-import com.evolveum.midpoint.repo.sql.pure.SqlTableMetamodel;
-import com.evolveum.midpoint.tools.testng.AbstractUnitTest;
-
-/**
- * Tests of Q-classes behavior and their support of extension columns.
- * Q-classes have two different set of metadata:
- *
- * - The static one that is added by midPoint,
- * typically accessible via static {@code METAMODEL} field.
- * - The non-static metadata managed by Querydsl, providing methods like
- * {@link RelationalPath#getColumns()} or {@link RelationalPath#getMetadata(Path)}.
- *
- * Both these models must be in sync.
- *
- * For non-static metadata are mapped paired with {@link Path}, which normally designates property
- * on the matching bean, but for dynamic extension attributes column name is used as property name.
- * This is fine for SQLs not selecting the entity via single entity path but using the column paths.
- */
-// TODO MID-6319 reconsider metamodel (now mapping) test related to extension columns
-public class QSqlMetamodelTest extends AbstractUnitTest {
-
- // Demo entity, implemented without backing bean (has itself as type parameter)
- private static class QTestEntity extends FlexibleRelationalPathBase {
-
- // two fixed columns, extensions will be added later
- public static final ColumnMetadata ID =
- ColumnMetadata.named("ID").ofType(Types.BIGINT).withSize(19).notNull();
- public static final ColumnMetadata NAME =
- ColumnMetadata.named("NAME").ofType(Types.VARCHAR).withSize(255);
-
- // TODO consider where this metamodel should go and whether it should have all columns or just extensions (ExtensionColumns class)
- // metamodel with pre-defined columns, shared for all instances of this Q-class
- public static final SqlTableMetamodel METAMODEL =
- new SqlTableMetamodel<>("TEST_TABLE", QTestEntity.class, ID, NAME);
-
- public final NumberPath id = addMetadata(createNumber("id", Long.class), ID);
- public final StringPath name = addMetadata(createString("name"), NAME);
-
- public QTestEntity(String variable) {
- super(QTestEntity.class, forVariable(variable), "SCHEMA", "TEST_TABLE");
- }
- }
-
- @Test
- public void test100EntityWithoutExtensions() {
- when("default entity is created");
- QTestEntity te = new QTestEntity("te");
-
- then("only predefined fields are in metamodels");
-// assertThat(te.getTableMetamodel().columnNames()).hasSize(2);
- // internal metamodel mapping paths -> columns
- assertThat(te.getColumns()).hasSize(2);
- }
-
- @Test
- public void test200EntityWithExtensionRegisteredBeforeEntityPathCreation() {
- when("extension is registered and default entity is created afterwards");
- QTestEntity.METAMODEL.add(ColumnMetadata.named("EXT_INFO").ofType(Types.VARCHAR));
- QTestEntity te = new QTestEntity("te");
-
- then("metamodels contain extension column in addition to the predefined ones");
-// assertThat(te.getTableMetamodel().columnNames()).hasSize(3);
- assertThat(te.getColumns()).hasSize(3);
- }
-
- @Test
- public void test300() {
- QTestEntity te = new QTestEntity("te");
- SQLQuery> query = new SQLQueryFactory(SQLTemplates.DEFAULT, null)
- .select(te.all())
- .from(te);
- System.out.println("query = " + query);
-
- // TODO check it has three columns in FROM
- query.getMetadata().getProjection();
- }
-}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java
index b9717d17f0c..e2caedfca21 100644
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/FlexibleRelationalPathBase.java
@@ -1,10 +1,12 @@
package com.evolveum.midpoint.repo.sql.pure;
+import java.sql.Blob;
import java.time.Instant;
import com.querydsl.core.types.PathMetadata;
import com.querydsl.core.types.dsl.DateTimePath;
import com.querydsl.core.types.dsl.NumberPath;
+import com.querydsl.core.types.dsl.SimplePath;
import com.querydsl.core.types.dsl.StringPath;
import com.querydsl.sql.ColumnMetadata;
import com.querydsl.sql.RelationalPathBase;
@@ -83,4 +85,12 @@ protected DateTimePath createInstant(
String property, ColumnMetadata columnMetadata) {
return createDateTime(property, Instant.class, columnMetadata);
}
+
+ /**
+ * Creates BLOB path for a property and registers column metadata for it.
+ */
+ protected SimplePath createBlob(
+ String property, ColumnMetadata columnMetadata) {
+ return addMetadata(createSimple(property, java.sql.Blob.class), columnMetadata);
+ }
}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java
index 684719d6a64..9be95909d25 100644
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlGeneration.java
@@ -2,8 +2,6 @@
import static com.querydsl.core.group.GroupBy.groupBy;
-import static com.evolveum.midpoint.repo.sql.pure.querymodel.QAuditDelta.M_AUDIT_DELTA;
-
import java.sql.Connection;
import java.sql.SQLException;
import java.util.*;
@@ -21,6 +19,7 @@
import org.jetbrains.annotations.Nullable;
import com.evolveum.midpoint.repo.sql.pure.mapping.QAuditEventRecordMapping;
+import com.evolveum.midpoint.repo.sql.pure.querymodel.QAuditDelta;
import com.evolveum.midpoint.repo.sql.pure.querymodel.QAuditEventRecord;
import com.evolveum.midpoint.repo.sql.pure.querymodel.beans.MAuditDelta;
import com.evolveum.midpoint.repo.sql.pure.querymodel.beans.MAuditEventRecord;
@@ -107,8 +106,9 @@ private static void examples() throws SQLException, QueryException {
.from(aer)
.fetchCount());
+ QAuditDelta ad = new QAuditDelta("mad");
SQLQuery query = newQuery(conn)
- .select(aer, M_AUDIT_DELTA)
+ .select(aer, ad)
// .select(M_AUDIT_EVENT.id, M_AUDIT_DELTA.checksum)
// .from(M_AUDIT_EVENT)
// leftJoin if we want also events without deltas
@@ -116,30 +116,30 @@ private static void examples() throws SQLException, QueryException {
// alternatively:
// .join(M_AUDIT_DELTA).on(M_AUDIT_DELTA.recordId.eq(M_AUDIT_EVENT.id))
// .orderBy(M_AUDIT_EVENT.id.asc())
- .from(aer, M_AUDIT_DELTA)
- .where(aer.id.eq(M_AUDIT_DELTA.recordId)) // this replaces "join-on", but only inner
+ .from(aer, ad)
+ .where(aer.id.eq(ad.recordId)) // this replaces "join-on", but only inner
.where(aer.id.eq(452L)); // "Works on my computer! :-)"
List result = query.fetch();
System.out.println("result = " + result);
System.out.println("\nsize: " + result.size());
- System.out.println("\ncount: " + query.transform(groupBy(aer.id).as(M_AUDIT_DELTA.count())));
- Map, ?> transform = query.transform(GroupBy.groupBy(aer.id).as(GroupBy.list(M_AUDIT_DELTA)));
+ System.out.println("\ncount: " + query.transform(groupBy(aer.id).as(ad.count())));
+ Map, ?> transform = query.transform(GroupBy.groupBy(aer.id).as(GroupBy.list(ad)));
System.out.println("transform = " + transform);
// "manual" transformation of one-to-many to proper graph
List plainResult = newQuery(conn)
- .select(aer, M_AUDIT_DELTA)
+ .select(aer, ad)
.from(aer)
- .leftJoin(aer._auditDeltaFk, M_AUDIT_DELTA)
+ .leftJoin(aer._auditDeltaFk, ad)
// alternatively:
// .leftJoin(M_AUDIT_DELTA).on(M_AUDIT_DELTA.recordId.eq(M_AUDIT_EVENT.id))
// .orderBy(M_AUDIT_EVENT.id.asc())
.where(aer.id.eq(452L))
.fetch();
Map> resultMap =
- mapOneToMany(plainResult, aer, M_AUDIT_DELTA, (o, m) -> o.addDelta(m));
+ mapOneToMany(plainResult, aer, ad, (o, m) -> o.addDelta(m));
System.out.println("\nFinal result" + resultMap);
System.out.println("deltas for 1st item: " + resultMap.keySet().iterator().next().deltas);
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlTableMetamodel.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlTableMetamodel.java
deleted file mode 100644
index 6e1611eb995..00000000000
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/SqlTableMetamodel.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2010-2020 Evolveum and contributors
- *
- * This work is dual-licensed under the Apache License 2.0
- * and European Union Public License. See LICENSE file for details.
- */
-package com.evolveum.midpoint.repo.sql.pure;
-
-import java.util.*;
-
-import com.querydsl.sql.ColumnMetadata;
-import com.querydsl.sql.RelationalPathBase;
-
-/**
- * Describes metamodel for table columns and their relations to Prism type properties.
- * Builder can be separated, but I don't think it's necessary for our usage.
- */
-public class SqlTableMetamodel> {
-
- private final String tableName;
- private final Class type;
-
- private Map columns = new LinkedHashMap<>();
-
- /**
- * Creates metamodel for the table described by designated type (Q-class).
- * Allows registration of any number of columns - typically used for static properties
- * (non-extensions).
- */
- public SqlTableMetamodel(String tableName, Class type, ColumnMetadata... columns) {
- this.tableName = tableName;
- this.type = type;
- for (ColumnMetadata column : columns) {
- this.columns.put(column.getName(), column);
- }
- }
-
- /**
- * Registers additional column metadata - typically used for extension columns.
- */
- public SqlTableMetamodel add(ColumnMetadata column) {
- columns.put(column.getName(), column);
- return this;
- }
-
- public Collection columnNames() {
- return Collections.unmodifiableSet(columns.keySet());
- }
-
- public Set> columnMetadataEntries() {
- return Collections.unmodifiableSet(columns.entrySet());
- }
-
- public ColumnMetadata getColumnMetadata(String name) {
- return columns.get(name);
- }
-}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java
index cd0e74589b4..329acf1d94e 100644
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditDelta.java
@@ -10,8 +10,6 @@
import java.sql.Types;
-import com.querydsl.core.types.Path;
-import com.querydsl.core.types.PathMetadata;
import com.querydsl.core.types.dsl.NumberPath;
import com.querydsl.core.types.dsl.SimplePath;
import com.querydsl.core.types.dsl.StringPath;
@@ -21,74 +19,64 @@
import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase;
import com.evolveum.midpoint.repo.sql.pure.querymodel.beans.MAuditDelta;
-import com.evolveum.midpoint.repo.sql.pure.SqlTableMetamodel;
+/**
+ * Querydsl query type for M_AUDIT_DELTA table.
+ */
+@SuppressWarnings("unused")
public class QAuditDelta extends FlexibleRelationalPathBase {
private static final long serialVersionUID = -231012375;
- public static final SqlTableMetamodel METAMODEL =
- new SqlTableMetamodel<>("M_AUDIT_DELTA", QAuditDelta.class);
-
- public static final QAuditDelta M_AUDIT_DELTA = new QAuditDelta("M_AUDIT_DELTA");
-
- public static final ColumnMetadata CHECKSUM = ColumnMetadata.named("CHECKSUM")
- .withIndex(1).ofType(Types.VARCHAR).withSize(32).notNull();
+ public static final String TABLE_NAME = "M_AUDIT_DELTA";
+
+ public static final ColumnMetadata CHECKSUM =
+ ColumnMetadata.named("CHECKSUM").ofType(Types.VARCHAR).withSize(32).notNull();
+ public static final ColumnMetadata DELTA =
+ ColumnMetadata.named("DELTA").ofType(Types.BLOB).withSize(2147483647);
+ public static final ColumnMetadata DELTA_OID =
+ ColumnMetadata.named("DELTAOID").ofType(Types.VARCHAR).withSize(36);
+ public static final ColumnMetadata DELTA_TYPE =
+ ColumnMetadata.named("DELTATYPE").ofType(Types.INTEGER).withSize(10);
+ public static final ColumnMetadata FULL_RESULT =
+ ColumnMetadata.named("FULLRESULT").ofType(Types.BLOB).withSize(2147483647);
+ public static final ColumnMetadata OBJECT_NAME_NORM =
+ ColumnMetadata.named("OBJECTNAME_NORM").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata OBJECT_NAME_ORIG =
+ ColumnMetadata.named("OBJECTNAME_ORIG").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata RECORD_ID =
+ ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19).notNull();
+ public static final ColumnMetadata RESOURCE_NAME_NORM =
+ ColumnMetadata.named("RESOURCENAME_NORM").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata RESOURCE_NAME_ORIG =
+ ColumnMetadata.named("RESOURCENAME_ORIG").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata RESOURCE_OID =
+ ColumnMetadata.named("RESOURCEOID").ofType(Types.VARCHAR).withSize(36);
+ public static final ColumnMetadata STATUS =
+ ColumnMetadata.named("STATUS").ofType(Types.INTEGER).withSize(10);
// columns and relations
- public final StringPath checksum = createString("checksum");
- public final SimplePath delta = createSimple("delta", java.sql.Blob.class);
- public final StringPath deltaoid = createString("deltaoid");
- public final NumberPath deltatype = createNumber("deltatype", Integer.class);
- public final SimplePath fullresult = createSimple("fullresult", java.sql.Blob.class);
- public final StringPath objectnameNorm = createString("objectnameNorm");
- public final StringPath objectnameOrig = createString("objectnameOrig");
- public final NumberPath recordId = createNumber("recordId", Long.class);
- public final StringPath resourcenameNorm = createString("resourcenameNorm");
- public final StringPath resourcenameOrig = createString("resourcenameOrig");
- public final StringPath resourceoid = createString("resourceoid");
- public final NumberPath status = createNumber("status", Integer.class);
+ public final StringPath checksum = createString("checksum", CHECKSUM);
+ public final SimplePath delta = createBlob("delta", DELTA);
+ public final StringPath deltaOid = createString("deltaOid", DELTA_OID);
+ public final NumberPath deltaType = createInteger("deltaType", DELTA_TYPE);
+ public final SimplePath fullResult = createBlob("fullResult", FULL_RESULT);
+ public final StringPath objectNameNorm = createString("objectNameNorm", OBJECT_NAME_NORM);
+ public final StringPath objectNameOrig = createString("objectNameOrig", OBJECT_NAME_ORIG);
+ public final NumberPath recordId = createLong("recordId", RECORD_ID);
+ public final StringPath resourceNameNorm = createString("resourceNameNorm", RESOURCE_NAME_NORM);
+ public final StringPath resourceNameOrig = createString("resourceNameOrig", RESOURCE_NAME_ORIG);
+ public final StringPath resourceOid = createString("resourceOid", RESOURCE_OID);
+ public final NumberPath status = createInteger("status", STATUS);
public final PrimaryKey constraint85 = createPrimaryKey(checksum, recordId);
public final ForeignKey auditDeltaFk = createForeignKey(recordId, "ID");
public QAuditDelta(String variable) {
- super(MAuditDelta.class, forVariable(variable), "PUBLIC", "M_AUDIT_DELTA");
- addMetadata();
+ this(variable, "PUBLIC", TABLE_NAME);
}
public QAuditDelta(String variable, String schema, String table) {
super(MAuditDelta.class, forVariable(variable), schema, table);
- addMetadata();
- }
-
- public QAuditDelta(String variable, String schema) {
- super(MAuditDelta.class, forVariable(variable), schema, "M_AUDIT_DELTA");
- addMetadata();
- }
-
- public QAuditDelta(Path extends MAuditDelta> path) {
- super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_DELTA");
- addMetadata();
- }
-
- public QAuditDelta(PathMetadata metadata) {
- super(MAuditDelta.class, metadata, "PUBLIC", "M_AUDIT_DELTA");
- addMetadata();
- }
-
- public void addMetadata() {
- addMetadata(checksum, CHECKSUM);
- addMetadata(delta, ColumnMetadata.named("DELTA").withIndex(3).ofType(Types.BLOB).withSize(2147483647));
- addMetadata(deltaoid, ColumnMetadata.named("DELTAOID").withIndex(4).ofType(Types.VARCHAR).withSize(36));
- addMetadata(deltatype, ColumnMetadata.named("DELTATYPE").withIndex(5).ofType(Types.INTEGER).withSize(10));
- addMetadata(fullresult, ColumnMetadata.named("FULLRESULT").withIndex(6).ofType(Types.BLOB).withSize(2147483647));
- addMetadata(objectnameNorm, ColumnMetadata.named("OBJECTNAME_NORM").withIndex(7).ofType(Types.VARCHAR).withSize(255));
- addMetadata(objectnameOrig, ColumnMetadata.named("OBJECTNAME_ORIG").withIndex(8).ofType(Types.VARCHAR).withSize(255));
- addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(2).ofType(Types.BIGINT).withSize(19).notNull());
- addMetadata(resourcenameNorm, ColumnMetadata.named("RESOURCENAME_NORM").withIndex(9).ofType(Types.VARCHAR).withSize(255));
- addMetadata(resourcenameOrig, ColumnMetadata.named("RESOURCENAME_ORIG").withIndex(10).ofType(Types.VARCHAR).withSize(255));
- addMetadata(resourceoid, ColumnMetadata.named("RESOURCEOID").withIndex(11).ofType(Types.VARCHAR).withSize(36));
- addMetadata(status, ColumnMetadata.named("STATUS").withIndex(12).ofType(Types.INTEGER).withSize(10));
}
}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java
index 45f405cc523..2c0e87c505c 100644
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditEventRecord.java
@@ -125,11 +125,11 @@ public class QAuditEventRecord extends FlexibleRelationalPathBase timestamp = createInstant("timestamp", TIMESTAMP);
public final PrimaryKey constraint85c = createPrimaryKey(id);
- public final ForeignKey _auditItemFk = createInvForeignKey(id, "RECORD_ID");
+ public final ForeignKey _auditItemFk = createInvForeignKey(id, "RECORD_ID");
public final ForeignKey _auditPropValueFk = createInvForeignKey(id, "RECORD_ID");
public final ForeignKey _auditDeltaFk = createInvForeignKey(id, "RECORD_ID");
- public final ForeignKey _auditRefValueFk = createInvForeignKey(id, "RECORD_ID");
- public final ForeignKey _auditResourceFk = createInvForeignKey(id, "RECORD_ID");
+ public final ForeignKey _auditRefValueFk = createInvForeignKey(id, "RECORD_ID");
+ public final ForeignKey _auditResourceFk = createInvForeignKey(id, "RECORD_ID");
public QAuditEventRecord(String variable) {
this(variable, "PUBLIC", TABLE_NAME);
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditItem.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditItem.java
new file mode 100644
index 00000000000..e9b0e8b55ce
--- /dev/null
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditItem.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010-2020 Evolveum and contributors
+ *
+ * This work is dual-licensed under the Apache License 2.0
+ * and European Union Public License. See LICENSE file for details.
+ */
+package com.evolveum.midpoint.repo.sql.pure.querymodel;
+
+import static com.querydsl.core.types.PathMetadataFactory.forVariable;
+
+import java.sql.Types;
+
+import com.querydsl.core.types.dsl.NumberPath;
+import com.querydsl.core.types.dsl.StringPath;
+import com.querydsl.sql.ColumnMetadata;
+import com.querydsl.sql.ForeignKey;
+import com.querydsl.sql.PrimaryKey;
+
+import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase;
+
+/**
+ * Querydsl query type for M_AUDIT_ITEM table.
+ */
+@SuppressWarnings("unused")
+public class QAuditItem extends FlexibleRelationalPathBase {
+
+ private static final long serialVersionUID = -838572862;
+
+ public static final String TABLE_NAME = "M_AUDIT_ITEM";
+
+ public static final ColumnMetadata CHANGED_ITEM_PATH =
+ ColumnMetadata.named("CHANGEDITEMPATH").ofType(Types.VARCHAR).withSize(255).notNull();
+ public static final ColumnMetadata RECORD_ID =
+ ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19).notNull();
+
+ public final NumberPath recordId = createLong("recordId", RECORD_ID);
+ public final StringPath changedItemPath = createString("changedItemPath", CHANGED_ITEM_PATH);
+
+ public final PrimaryKey constraint1 = createPrimaryKey(changedItemPath, recordId);
+ public final ForeignKey auditItemFk = createForeignKey(recordId, "ID");
+
+ public QAuditItem(String variable) {
+ this(variable, "PUBLIC", TABLE_NAME);
+ }
+
+ public QAuditItem(String variable, String schema, String table) {
+ super(QAuditItem.class, forVariable(variable), schema, table);
+ }
+}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java
index 5becfd3f95b..6c85fff4471 100644
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditPropertyValue.java
@@ -22,6 +22,7 @@
/**
* Querydsl query type for M_AUDIT_PROP_VALUE table.
*/
+@SuppressWarnings("unused")
public class QAuditPropertyValue extends FlexibleRelationalPathBase {
private static final long serialVersionUID = -1656131713;
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditRefValue.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditRefValue.java
new file mode 100644
index 00000000000..a587bcc3ffc
--- /dev/null
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditRefValue.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2010-2020 Evolveum and contributors
+ *
+ * This work is dual-licensed under the Apache License 2.0
+ * and European Union Public License. See LICENSE file for details.
+ */
+package com.evolveum.midpoint.repo.sql.pure.querymodel;
+
+import static com.querydsl.core.types.PathMetadataFactory.forVariable;
+
+import java.sql.Types;
+
+import com.querydsl.core.types.dsl.NumberPath;
+import com.querydsl.core.types.dsl.StringPath;
+import com.querydsl.sql.ColumnMetadata;
+import com.querydsl.sql.ForeignKey;
+import com.querydsl.sql.PrimaryKey;
+
+import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase;
+
+/**
+ * Querydsl query type for M_AUDIT_REF_VALUE table.
+ */
+@SuppressWarnings("unused")
+public class QAuditRefValue extends FlexibleRelationalPathBase {
+
+ private static final long serialVersionUID = 1173079757;
+
+ public static final String TABLE_NAME = "M_AUDIT_REF_VALUE";
+
+ public static final ColumnMetadata ID =
+ ColumnMetadata.named("ID").ofType(Types.BIGINT).withSize(19).notNull();
+ public static final ColumnMetadata NAME =
+ ColumnMetadata.named("NAME").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata OID =
+ ColumnMetadata.named("OID").ofType(Types.VARCHAR).withSize(36);
+ public static final ColumnMetadata RECORD_ID =
+ ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19);
+ public static final ColumnMetadata TARGET_NAME_NORM =
+ ColumnMetadata.named("TARGETNAME_NORM").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata TARGET_NAME_ORIG =
+ ColumnMetadata.named("TARGETNAME_ORIG").ofType(Types.VARCHAR).withSize(255);
+ public static final ColumnMetadata TYPE =
+ ColumnMetadata.named("TYPE").ofType(Types.VARCHAR).withSize(255);
+
+ public final NumberPath id = createLong("id", ID);
+ public final StringPath name = createString("name", NAME);
+ public final StringPath oid = createString("oid", OID);
+ public final NumberPath recordId = createLong("recordId", RECORD_ID);
+ public final StringPath targetNameNorm = createString("targetNameNorm", TARGET_NAME_NORM);
+ public final StringPath targetNameOrig = createString("targetNameOrig", TARGET_NAME_ORIG);
+ public final StringPath type = createString("type", TYPE);
+
+ public final PrimaryKey constraint7 = createPrimaryKey(id);
+ public final ForeignKey auditRefValueFk = createForeignKey(recordId, "ID");
+
+ public QAuditRefValue(String variable) {
+ this(variable, "PUBLIC", TABLE_NAME);
+ }
+
+ public QAuditRefValue(String variable, String schema, String table) {
+ super(QAuditRefValue.class, forVariable(variable), schema, table);
+ }
+}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditResource.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditResource.java
new file mode 100644
index 00000000000..08b7c2d6c91
--- /dev/null
+++ b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QAuditResource.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010-2020 Evolveum and contributors
+ *
+ * This work is dual-licensed under the Apache License 2.0
+ * and European Union Public License. See LICENSE file for details.
+ */
+package com.evolveum.midpoint.repo.sql.pure.querymodel;
+
+import static com.querydsl.core.types.PathMetadataFactory.forVariable;
+
+import java.sql.Types;
+
+import com.querydsl.core.types.dsl.NumberPath;
+import com.querydsl.core.types.dsl.StringPath;
+import com.querydsl.sql.ColumnMetadata;
+import com.querydsl.sql.ForeignKey;
+import com.querydsl.sql.PrimaryKey;
+
+import com.evolveum.midpoint.repo.sql.pure.FlexibleRelationalPathBase;
+
+/**
+ * Querydsl query type for M_AUDIT_RESOURCE table.
+ */
+@SuppressWarnings("unused")
+public class QAuditResource extends FlexibleRelationalPathBase {
+
+ private static final long serialVersionUID = 1568947773;
+
+ public static final String TABLE_NAME = "M_AUDIT_RESOURCE";
+
+ public static final ColumnMetadata RECORD_ID =
+ ColumnMetadata.named("RECORD_ID").ofType(Types.BIGINT).withSize(19).notNull();
+ public static final ColumnMetadata RESOURCE_OID =
+ ColumnMetadata.named("RESOURCEOID").ofType(Types.VARCHAR).withSize(255).notNull();
+
+ public final NumberPath recordId = createLong("recordId", RECORD_ID);
+ public final StringPath resourceOid = createString("resourceOid", RESOURCE_OID);
+
+ public final PrimaryKey constraint84 = createPrimaryKey(recordId, resourceOid);
+ public final ForeignKey auditResourceFk = createForeignKey(recordId, "ID");
+
+ public QAuditResource(String variable) {
+ this(variable, "PUBLIC", TABLE_NAME);
+ }
+
+ public QAuditResource(String variable, String schema, String table) {
+ super(QAuditResource.class, forVariable(variable), schema, table);
+ }
+}
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditItem.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditItem.java
deleted file mode 100644
index 4ba919fb8bf..00000000000
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditItem.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2010-2020 Evolveum and contributors
- *
- * This work is dual-licensed under the Apache License 2.0
- * and European Union Public License. See LICENSE file for details.
- */
-package com.evolveum.midpoint.repo.sql.pure.querymodel;
-
-import static com.querydsl.core.types.PathMetadataFactory.*;
-
-import com.querydsl.core.types.dsl.*;
-
-import com.querydsl.core.types.PathMetadata;
-import javax.annotation.Generated;
-import com.querydsl.core.types.Path;
-
-import com.querydsl.sql.ColumnMetadata;
-import java.sql.Types;
-
-
-
-
-/**
- * QMAuditItem is a Querydsl query type for QMAuditItem
- */
-@Generated("com.querydsl.sql.codegen.MetaDataSerializer")
-public class QMAuditItem extends com.querydsl.sql.RelationalPathBase {
-
- private static final long serialVersionUID = -838572862;
-
- public static final QMAuditItem mAuditItem = new QMAuditItem("M_AUDIT_ITEM");
-
- public final StringPath changeditempath = createString("changeditempath");
-
- public final NumberPath recordId = createNumber("recordId", Long.class);
-
- public final com.querydsl.sql.PrimaryKey constraint1 = createPrimaryKey(changeditempath, recordId);
-
- public final com.querydsl.sql.ForeignKey auditItemFk = createForeignKey(recordId, "ID");
-
- public QMAuditItem(String variable) {
- super(QMAuditItem.class, forVariable(variable), "PUBLIC", "M_AUDIT_ITEM");
- addMetadata();
- }
-
- public QMAuditItem(String variable, String schema, String table) {
- super(QMAuditItem.class, forVariable(variable), schema, table);
- addMetadata();
- }
-
- public QMAuditItem(String variable, String schema) {
- super(QMAuditItem.class, forVariable(variable), schema, "M_AUDIT_ITEM");
- addMetadata();
- }
-
- public QMAuditItem(Path extends QMAuditItem> path) {
- super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_ITEM");
- addMetadata();
- }
-
- public QMAuditItem(PathMetadata metadata) {
- super(QMAuditItem.class, metadata, "PUBLIC", "M_AUDIT_ITEM");
- addMetadata();
- }
-
- public void addMetadata() {
- addMetadata(changeditempath, ColumnMetadata.named("CHANGEDITEMPATH").withIndex(1).ofType(Types.VARCHAR).withSize(255).notNull());
- addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(2).ofType(Types.BIGINT).withSize(19).notNull());
- }
-
-}
-
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditRefValue.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditRefValue.java
deleted file mode 100644
index 1edb4be4c0f..00000000000
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditRefValue.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2010-2020 Evolveum and contributors
- *
- * This work is dual-licensed under the Apache License 2.0
- * and European Union Public License. See LICENSE file for details.
- */
-package com.evolveum.midpoint.repo.sql.pure.querymodel;
-
-import static com.querydsl.core.types.PathMetadataFactory.*;
-
-import com.querydsl.core.types.dsl.*;
-
-import com.querydsl.core.types.PathMetadata;
-import javax.annotation.Generated;
-import com.querydsl.core.types.Path;
-
-import com.querydsl.sql.ColumnMetadata;
-import java.sql.Types;
-
-
-
-
-/**
- * QMAuditRefValue is a Querydsl query type for QMAuditRefValue
- */
-@Generated("com.querydsl.sql.codegen.MetaDataSerializer")
-public class QMAuditRefValue extends com.querydsl.sql.RelationalPathBase {
-
- private static final long serialVersionUID = 1173079757;
-
- public static final QMAuditRefValue mAuditRefValue = new QMAuditRefValue("M_AUDIT_REF_VALUE");
-
- public final NumberPath id = createNumber("id", Long.class);
-
- public final StringPath name = createString("name");
-
- public final StringPath oid = createString("oid");
-
- public final NumberPath recordId = createNumber("recordId", Long.class);
-
- public final StringPath targetnameNorm = createString("targetnameNorm");
-
- public final StringPath targetnameOrig = createString("targetnameOrig");
-
- public final StringPath type = createString("type");
-
- public final com.querydsl.sql.PrimaryKey constraint7 = createPrimaryKey(id);
-
- public final com.querydsl.sql.ForeignKey auditRefValueFk = createForeignKey(recordId, "ID");
-
- public QMAuditRefValue(String variable) {
- super(QMAuditRefValue.class, forVariable(variable), "PUBLIC", "M_AUDIT_REF_VALUE");
- addMetadata();
- }
-
- public QMAuditRefValue(String variable, String schema, String table) {
- super(QMAuditRefValue.class, forVariable(variable), schema, table);
- addMetadata();
- }
-
- public QMAuditRefValue(String variable, String schema) {
- super(QMAuditRefValue.class, forVariable(variable), schema, "M_AUDIT_REF_VALUE");
- addMetadata();
- }
-
- public QMAuditRefValue(Path extends QMAuditRefValue> path) {
- super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_REF_VALUE");
- addMetadata();
- }
-
- public QMAuditRefValue(PathMetadata metadata) {
- super(QMAuditRefValue.class, metadata, "PUBLIC", "M_AUDIT_REF_VALUE");
- addMetadata();
- }
-
- public void addMetadata() {
- addMetadata(id, ColumnMetadata.named("ID").withIndex(1).ofType(Types.BIGINT).withSize(19).notNull());
- addMetadata(name, ColumnMetadata.named("NAME").withIndex(2).ofType(Types.VARCHAR).withSize(255));
- addMetadata(oid, ColumnMetadata.named("OID").withIndex(3).ofType(Types.VARCHAR).withSize(36));
- addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(4).ofType(Types.BIGINT).withSize(19));
- addMetadata(targetnameNorm, ColumnMetadata.named("TARGETNAME_NORM").withIndex(5).ofType(Types.VARCHAR).withSize(255));
- addMetadata(targetnameOrig, ColumnMetadata.named("TARGETNAME_ORIG").withIndex(6).ofType(Types.VARCHAR).withSize(255));
- addMetadata(type, ColumnMetadata.named("TYPE").withIndex(7).ofType(Types.VARCHAR).withSize(255));
- }
-
-}
-
diff --git a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditResource.java b/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditResource.java
deleted file mode 100644
index b9d123934b0..00000000000
--- a/repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/pure/querymodel/QMAuditResource.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2010-2020 Evolveum and contributors
- *
- * This work is dual-licensed under the Apache License 2.0
- * and European Union Public License. See LICENSE file for details.
- */
-package com.evolveum.midpoint.repo.sql.pure.querymodel;
-
-import static com.querydsl.core.types.PathMetadataFactory.*;
-
-import com.querydsl.core.types.dsl.*;
-
-import com.querydsl.core.types.PathMetadata;
-import javax.annotation.Generated;
-import com.querydsl.core.types.Path;
-
-import com.querydsl.sql.ColumnMetadata;
-import java.sql.Types;
-
-
-
-
-/**
- * QMAuditResource is a Querydsl query type for QMAuditResource
- */
-@Generated("com.querydsl.sql.codegen.MetaDataSerializer")
-public class QMAuditResource extends com.querydsl.sql.RelationalPathBase {
-
- private static final long serialVersionUID = 1568947773;
-
- public static final QMAuditResource mAuditResource = new QMAuditResource("M_AUDIT_RESOURCE");
-
- public final NumberPath recordId = createNumber("recordId", Long.class);
-
- public final StringPath resourceoid = createString("resourceoid");
-
- public final com.querydsl.sql.PrimaryKey constraint84 = createPrimaryKey(recordId, resourceoid);
-
- public final com.querydsl.sql.ForeignKey auditResourceFk = createForeignKey(recordId, "ID");
-
- public QMAuditResource(String variable) {
- super(QMAuditResource.class, forVariable(variable), "PUBLIC", "M_AUDIT_RESOURCE");
- addMetadata();
- }
-
- public QMAuditResource(String variable, String schema, String table) {
- super(QMAuditResource.class, forVariable(variable), schema, table);
- addMetadata();
- }
-
- public QMAuditResource(String variable, String schema) {
- super(QMAuditResource.class, forVariable(variable), schema, "M_AUDIT_RESOURCE");
- addMetadata();
- }
-
- public QMAuditResource(Path extends QMAuditResource> path) {
- super(path.getType(), path.getMetadata(), "PUBLIC", "M_AUDIT_RESOURCE");
- addMetadata();
- }
-
- public QMAuditResource(PathMetadata metadata) {
- super(QMAuditResource.class, metadata, "PUBLIC", "M_AUDIT_RESOURCE");
- addMetadata();
- }
-
- public void addMetadata() {
- addMetadata(recordId, ColumnMetadata.named("RECORD_ID").withIndex(1).ofType(Types.BIGINT).withSize(19).notNull());
- addMetadata(resourceoid, ColumnMetadata.named("RESOURCEOID").withIndex(2).ofType(Types.VARCHAR).withSize(255).notNull());
- }
-
-}
-