Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 31 additions & 7 deletions database/journaldb.sql
Original file line number Diff line number Diff line change
Expand Up @@ -232,31 +232,31 @@ CREATE TABLE `logfile` (
`file_size` bigint(20) unsigned NOT NULL DEFAULT 0 COMMENT 'Log file''s size in bytes',
`sha256_checksum` char(44) NOT NULL COMMENT 'An SHA256 hash of the log file (Note: known to be 44 characters long)',
`archive_etag` varchar(64) NOT NULL COMMENT 'Object storage''s MD5 hash of the log file (Note: room left for possible implementation changes)',
`logtag` varchar(48) NOT NULL COMMENT 'A link back to CFEngine',
`source_system_id` smallint(5) unsigned NOT NULL COMMENT 'Log file''s source system (references source_system.id)',
`category_id` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT 'Log file''s category (references category.id)',
`uncompressed_file_size` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s uncompressed file size',
`epoch_hour` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s epoch logdate',
`epoch_expires` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s epoch expiration',
`epoch_archived` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s epoch archived',
`logtag_id` bigint(20) unsigned NOT NULL COMMENT 'Log file''s foreign key to logtag',
`ci_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s foreign key to ci table',
`logtag_id` bigint(20) unsigned NOT NULL COMMENT 'Log file''s foreign key to logtag',
`object_format_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s foreign key to object_format table',
PRIMARY KEY (`id`),
UNIQUE KEY `uix_logfile_object_hash` (`object_key_hash`),
KEY `bucket_id` (`bucket_id`),
KEY `category_id` (`category_id`),
KEY `ix_logfile_expiration` (`expiration`),
KEY `ix_logfile__source_system_id` (`source_system_id`),
KEY `cix_logfile_logdate_host_id_logtag` (`logdate`,`host_id`,`logtag`),
KEY `cix_logfile_host_id_logtag_logdate` (`host_id`,`logtag`,`logdate`),
KEY `cix_logfile_epoch_hour_host_id_logtag` (`epoch_hour`,`host_id`,`logtag`),
KEY `ix_logfile_epoch_expires` (`epoch_expires`),
KEY `fk_logfile__ci_id` (`ci_id`),
KEY `fk_logfile__logtag_id` (`logtag_id`),
KEY `cix_logfile_epoch_hour_host_id_logtag_id` (`epoch_hour`,`host_id`,`logtag_id`),
KEY `cix_logfile_logdate_host_id_logtag_id` (`logdate`,`host_id`,`logtag_id`),
KEY `fk_logfile__ci_id` (`ci_id`),
KEY `fk_logfile__object_format_id` (`object_format_id`),
KEY `fk_logfile__host_id` (`host_id`),
CONSTRAINT `fk_logfile__ci_id` FOREIGN KEY (`ci_id`) REFERENCES `ci` (`id`),
CONSTRAINT `fk_logfile__logtag_id` FOREIGN KEY (`logtag_id`) REFERENCES `logtag` (`id`),
CONSTRAINT `fk_logfile__object_format_id` FOREIGN KEY (`object_format_id`) REFERENCES `object_format` (`id`),
CONSTRAINT `fk_logfile__source_system_id` FOREIGN KEY (`source_system_id`) REFERENCES `source_system` (`id`),
CONSTRAINT `logfile_ibfk_1` FOREIGN KEY (`bucket_id`) REFERENCES `bucket` (`id`),
CONSTRAINT `logfile_ibfk_2` FOREIGN KEY (`host_id`) REFERENCES `host` (`id`),
Expand Down Expand Up @@ -324,6 +324,30 @@ LOCK TABLES `metadata_value` WRITE;
/*!40000 ALTER TABLE `metadata_value` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `object_format`
--

DROP TABLE IF EXISTS `object_format`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `object_format` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID for object_format',
`name` varchar(255) NOT NULL COMMENT 'object_format of the logfile records',
PRIMARY KEY (`id`),
UNIQUE KEY `uix_object_format` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains object_format values that are identified using the ID';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `object_format`
--

LOCK TABLES `object_format` WRITE;
/*!40000 ALTER TABLE `object_format` DISABLE KEYS */;
/*!40000 ALTER TABLE `object_format` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `restore_job`
--
Expand Down Expand Up @@ -384,4 +408,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2025-08-06 11:56:20
-- Dump completed on 2026-02-23 14:57:42
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,12 @@ public class Indexes {
public static final Index HOST_UIX_HOST_NAME = Indexes0.HOST_UIX_HOST_NAME;
public static final Index LOGFILE_BUCKET_ID = Indexes0.LOGFILE_BUCKET_ID;
public static final Index LOGFILE_CATEGORY_ID = Indexes0.LOGFILE_CATEGORY_ID;
public static final Index LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG = Indexes0.LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG;
public static final Index LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG_ID = Indexes0.LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG_ID;
public static final Index LOGFILE_CIX_LOGFILE_HOST_ID_LOGTAG_LOGDATE = Indexes0.LOGFILE_CIX_LOGFILE_HOST_ID_LOGTAG_LOGDATE;
public static final Index LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG = Indexes0.LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG;
public static final Index LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG_ID = Indexes0.LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG_ID;
public static final Index LOGFILE_FK_LOGFILE__CI_ID = Indexes0.LOGFILE_FK_LOGFILE__CI_ID;
public static final Index LOGFILE_FK_LOGFILE__HOST_ID = Indexes0.LOGFILE_FK_LOGFILE__HOST_ID;
public static final Index LOGFILE_FK_LOGFILE__LOGTAG_ID = Indexes0.LOGFILE_FK_LOGFILE__LOGTAG_ID;
public static final Index LOGFILE_FK_LOGFILE__OBJECT_FORMAT_ID = Indexes0.LOGFILE_FK_LOGFILE__OBJECT_FORMAT_ID;
public static final Index LOGFILE_IX_LOGFILE_EPOCH_EXPIRES = Indexes0.LOGFILE_IX_LOGFILE_EPOCH_EXPIRES;
public static final Index LOGFILE_IX_LOGFILE_EXPIRATION = Indexes0.LOGFILE_IX_LOGFILE_EXPIRATION;
public static final Index LOGFILE_IX_LOGFILE__SOURCE_SYSTEM_ID = Indexes0.LOGFILE_IX_LOGFILE__SOURCE_SYSTEM_ID;
Expand All @@ -118,13 +117,12 @@ private static class Indexes0 {
public static Index HOST_UIX_HOST_NAME = Internal.createIndex("uix_host_name", Host.HOST, new OrderField[] { Host.HOST.NAME }, true);
public static Index LOGFILE_BUCKET_ID = Internal.createIndex("bucket_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.BUCKET_ID }, false);
public static Index LOGFILE_CATEGORY_ID = Internal.createIndex("category_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.CATEGORY_ID }, false);
public static Index LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG = Internal.createIndex("cix_logfile_epoch_hour_host_id_logtag", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.EPOCH_HOUR, Logfile.LOGFILE.HOST_ID, Logfile.LOGFILE.LOGTAG }, false);
public static Index LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG_ID = Internal.createIndex("cix_logfile_epoch_hour_host_id_logtag_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.EPOCH_HOUR, Logfile.LOGFILE.HOST_ID, Logfile.LOGFILE.LOGTAG_ID }, false);
public static Index LOGFILE_CIX_LOGFILE_HOST_ID_LOGTAG_LOGDATE = Internal.createIndex("cix_logfile_host_id_logtag_logdate", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.HOST_ID, Logfile.LOGFILE.LOGTAG, Logfile.LOGFILE.LOGDATE }, false);
public static Index LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG = Internal.createIndex("cix_logfile_logdate_host_id_logtag", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.LOGDATE, Logfile.LOGFILE.HOST_ID, Logfile.LOGFILE.LOGTAG }, false);
public static Index LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG_ID = Internal.createIndex("cix_logfile_logdate_host_id_logtag_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.LOGDATE, Logfile.LOGFILE.HOST_ID, Logfile.LOGFILE.LOGTAG_ID }, false);
public static Index LOGFILE_FK_LOGFILE__CI_ID = Internal.createIndex("fk_logfile__ci_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.CI_ID }, false);
public static Index LOGFILE_FK_LOGFILE__HOST_ID = Internal.createIndex("fk_logfile__host_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.HOST_ID }, false);
public static Index LOGFILE_FK_LOGFILE__LOGTAG_ID = Internal.createIndex("fk_logfile__logtag_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.LOGTAG_ID }, false);
public static Index LOGFILE_FK_LOGFILE__OBJECT_FORMAT_ID = Internal.createIndex("fk_logfile__object_format_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.OBJECT_FORMAT_ID }, false);
public static Index LOGFILE_IX_LOGFILE_EPOCH_EXPIRES = Internal.createIndex("ix_logfile_epoch_expires", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.EPOCH_EXPIRES }, false);
public static Index LOGFILE_IX_LOGFILE_EXPIRATION = Internal.createIndex("ix_logfile_expiration", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.EXPIRATION }, false);
public static Index LOGFILE_IX_LOGFILE__SOURCE_SYSTEM_ID = Internal.createIndex("ix_logfile__source_system_id", Logfile.LOGFILE, new OrderField[] { Logfile.LOGFILE.SOURCE_SYSTEM_ID }, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,8 @@ public class Keys {
public static final ForeignKey<CorruptedArchiveRecord, LogfileRecord> CORRUPTED_ARCHIVE_IBFK_1 = ForeignKeys0.CORRUPTED_ARCHIVE_IBFK_1;
public static final ForeignKey<LogfileRecord, BucketRecord> LOGFILE_IBFK_1 = ForeignKeys0.LOGFILE_IBFK_1;
public static final ForeignKey<LogfileRecord, HostRecord> LOGFILE_IBFK_2 = ForeignKeys0.LOGFILE_IBFK_2;
public static final ForeignKey<LogfileRecord, LogtagRecord> FK_LOGFILE__LOGTAG_ID = ForeignKeys0.FK_LOGFILE__LOGTAG_ID;
public static final ForeignKey<LogfileRecord, CiRecord> FK_LOGFILE__CI_ID = ForeignKeys0.FK_LOGFILE__CI_ID;
public static final ForeignKey<LogfileRecord, LogtagRecord> FK_LOGFILE__LOGTAG_ID = ForeignKeys0.FK_LOGFILE__LOGTAG_ID;

// -------------------------------------------------------------------------
// [#1459] distribute members to avoid static initialisers > 64kb
Expand Down Expand Up @@ -152,7 +152,7 @@ private static class ForeignKeys0 {
public static final ForeignKey<CorruptedArchiveRecord, LogfileRecord> CORRUPTED_ARCHIVE_IBFK_1 = Internal.createForeignKey(com.teragrep.pth_06.jooq.generated.journaldb.Keys.KEY_LOGFILE_PRIMARY, CorruptedArchive.CORRUPTED_ARCHIVE, "corrupted_archive_ibfk_1", CorruptedArchive.CORRUPTED_ARCHIVE.LOGFILE_ID);
public static final ForeignKey<LogfileRecord, BucketRecord> LOGFILE_IBFK_1 = Internal.createForeignKey(com.teragrep.pth_06.jooq.generated.journaldb.Keys.KEY_BUCKET_PRIMARY, Logfile.LOGFILE, "logfile_ibfk_1", Logfile.LOGFILE.BUCKET_ID);
public static final ForeignKey<LogfileRecord, HostRecord> LOGFILE_IBFK_2 = Internal.createForeignKey(com.teragrep.pth_06.jooq.generated.journaldb.Keys.KEY_HOST_PRIMARY, Logfile.LOGFILE, "logfile_ibfk_2", Logfile.LOGFILE.HOST_ID);
public static final ForeignKey<LogfileRecord, LogtagRecord> FK_LOGFILE__LOGTAG_ID = Internal.createForeignKey(com.teragrep.pth_06.jooq.generated.journaldb.Keys.KEY_LOGTAG_PRIMARY, Logfile.LOGFILE, "fk_logfile__logtag_id", Logfile.LOGFILE.LOGTAG_ID);
public static final ForeignKey<LogfileRecord, CiRecord> FK_LOGFILE__CI_ID = Internal.createForeignKey(com.teragrep.pth_06.jooq.generated.journaldb.Keys.KEY_CI_PRIMARY, Logfile.LOGFILE, "fk_logfile__ci_id", Logfile.LOGFILE.CI_ID);
public static final ForeignKey<LogfileRecord, LogtagRecord> FK_LOGFILE__LOGTAG_ID = Internal.createForeignKey(com.teragrep.pth_06.jooq.generated.journaldb.Keys.KEY_LOGTAG_PRIMARY, Logfile.LOGFILE, "fk_logfile__logtag_id", Logfile.LOGFILE.LOGTAG_ID);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Logfile extends TableImpl<LogfileRecord> {

private static final long serialVersionUID = 709950499;
private static final long serialVersionUID = 1627470629;

/**
* The reference instance of <code>journaldb.logfile</code>
Expand Down Expand Up @@ -166,11 +166,6 @@ public Class<LogfileRecord> getRecordType() {
*/
public final TableField<LogfileRecord, String> ARCHIVE_ETAG = createField(DSL.name("archive_etag"), org.jooq.impl.SQLDataType.VARCHAR(64).nullable(false), this, "Object storage's MD5 hash of the log file (Note: room left for possible implementation changes)");

/**
* The column <code>journaldb.logfile.logtag</code>. A link back to CFEngine
*/
public final TableField<LogfileRecord, String> LOGTAG = createField(DSL.name("logtag"), org.jooq.impl.SQLDataType.VARCHAR(48).nullable(false), this, "A link back to CFEngine");

/**
* The column <code>journaldb.logfile.source_system_id</code>. Log file's source system (references source_system.id)
*/
Expand Down Expand Up @@ -201,15 +196,20 @@ public Class<LogfileRecord> getRecordType() {
*/
public final TableField<LogfileRecord, ULong> EPOCH_ARCHIVED = createField(DSL.name("epoch_archived"), org.jooq.impl.SQLDataType.BIGINTUNSIGNED.defaultValue(org.jooq.impl.DSL.field("NULL", org.jooq.impl.SQLDataType.BIGINTUNSIGNED)), this, "Log file's epoch archived");

/**
* The column <code>journaldb.logfile.ci_id</code>. Log file's foreign key to ci table
*/
public final TableField<LogfileRecord, ULong> CI_ID = createField(DSL.name("ci_id"), org.jooq.impl.SQLDataType.BIGINTUNSIGNED.defaultValue(org.jooq.impl.DSL.field("NULL", org.jooq.impl.SQLDataType.BIGINTUNSIGNED)), this, "Log file's foreign key to ci table");

/**
* The column <code>journaldb.logfile.logtag_id</code>. Log file's foreign key to logtag
*/
public final TableField<LogfileRecord, ULong> LOGTAG_ID = createField(DSL.name("logtag_id"), org.jooq.impl.SQLDataType.BIGINTUNSIGNED.nullable(false), this, "Log file's foreign key to logtag");

/**
* The column <code>journaldb.logfile.ci_id</code>. Log file's foreign key to ci table
* The column <code>journaldb.logfile.object_format_id</code>. Log file's foreign key to object_format table
*/
public final TableField<LogfileRecord, ULong> CI_ID = createField(DSL.name("ci_id"), org.jooq.impl.SQLDataType.BIGINTUNSIGNED.defaultValue(org.jooq.impl.DSL.field("NULL", org.jooq.impl.SQLDataType.BIGINTUNSIGNED)), this, "Log file's foreign key to ci table");
public final TableField<LogfileRecord, ULong> OBJECT_FORMAT_ID = createField(DSL.name("object_format_id"), org.jooq.impl.SQLDataType.BIGINTUNSIGNED.defaultValue(org.jooq.impl.DSL.field("NULL", org.jooq.impl.SQLDataType.BIGINTUNSIGNED)), this, "Log file's foreign key to object_format table");

/**
* Create a <code>journaldb.logfile</code> table reference
Expand Down Expand Up @@ -251,7 +251,7 @@ public Schema getSchema() {

@Override
public List<Index> getIndexes() {
return Arrays.<Index>asList(Indexes.LOGFILE_BUCKET_ID, Indexes.LOGFILE_CATEGORY_ID, Indexes.LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG, Indexes.LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG_ID, Indexes.LOGFILE_CIX_LOGFILE_HOST_ID_LOGTAG_LOGDATE, Indexes.LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG, Indexes.LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG_ID, Indexes.LOGFILE_FK_LOGFILE__CI_ID, Indexes.LOGFILE_FK_LOGFILE__LOGTAG_ID, Indexes.LOGFILE_IX_LOGFILE_EPOCH_EXPIRES, Indexes.LOGFILE_IX_LOGFILE_EXPIRATION, Indexes.LOGFILE_IX_LOGFILE__SOURCE_SYSTEM_ID, Indexes.LOGFILE_PRIMARY, Indexes.LOGFILE_UIX_LOGFILE_OBJECT_HASH);
return Arrays.<Index>asList(Indexes.LOGFILE_BUCKET_ID, Indexes.LOGFILE_CATEGORY_ID, Indexes.LOGFILE_CIX_LOGFILE_EPOCH_HOUR_HOST_ID_LOGTAG_ID, Indexes.LOGFILE_CIX_LOGFILE_LOGDATE_HOST_ID_LOGTAG_ID, Indexes.LOGFILE_FK_LOGFILE__CI_ID, Indexes.LOGFILE_FK_LOGFILE__HOST_ID, Indexes.LOGFILE_FK_LOGFILE__LOGTAG_ID, Indexes.LOGFILE_FK_LOGFILE__OBJECT_FORMAT_ID, Indexes.LOGFILE_IX_LOGFILE_EPOCH_EXPIRES, Indexes.LOGFILE_IX_LOGFILE_EXPIRATION, Indexes.LOGFILE_IX_LOGFILE__SOURCE_SYSTEM_ID, Indexes.LOGFILE_PRIMARY, Indexes.LOGFILE_UIX_LOGFILE_OBJECT_HASH);
}

@Override
Expand All @@ -271,7 +271,7 @@ public List<UniqueKey<LogfileRecord>> getKeys() {

@Override
public List<ForeignKey<LogfileRecord, ?>> getReferences() {
return Arrays.<ForeignKey<LogfileRecord, ?>>asList(Keys.LOGFILE_IBFK_1, Keys.LOGFILE_IBFK_2, Keys.FK_LOGFILE__LOGTAG_ID, Keys.FK_LOGFILE__CI_ID);
return Arrays.<ForeignKey<LogfileRecord, ?>>asList(Keys.LOGFILE_IBFK_1, Keys.LOGFILE_IBFK_2, Keys.FK_LOGFILE__CI_ID, Keys.FK_LOGFILE__LOGTAG_ID);
}

public Bucket bucket() {
Expand All @@ -282,14 +282,14 @@ public Host host() {
return new Host(this, Keys.LOGFILE_IBFK_2);
}

public Logtag logtag() {
return new Logtag(this, Keys.FK_LOGFILE__LOGTAG_ID);
}

public Ci ci() {
return new Ci(this, Keys.FK_LOGFILE__CI_ID);
}

public Logtag logtag() {
return new Logtag(this, Keys.FK_LOGFILE__LOGTAG_ID);
}

@Override
public Logfile as(String alias) {
return new Logfile(DSL.name(alias), this);
Expand Down Expand Up @@ -321,7 +321,7 @@ public Logfile rename(Name name) {
// -------------------------------------------------------------------------

@Override
public Row21<ULong, Date, Date, UShort, String, String, UShort, String, Timestamp, ULong, String, String, String, UShort, UShort, ULong, ULong, ULong, ULong, ULong, ULong> fieldsRow() {
public Row21<ULong, Date, Date, UShort, String, String, UShort, String, Timestamp, ULong, String, String, UShort, UShort, ULong, ULong, ULong, ULong, ULong, ULong, ULong> fieldsRow() {
return (Row21) super.fieldsRow();
}
}
Loading