From f7da82303e7022114a934dccd573b7a59bed36ef Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Tue, 18 Nov 2025 13:25:04 +0200 Subject: [PATCH 1/7] Updated journaldb.sql with schema change for logformat normalized table. REBASE --- database/journaldb.sql | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/database/journaldb.sql b/database/journaldb.sql index b60ea46235..f5671e0e75 100644 --- a/database/journaldb.sql +++ b/database/journaldb.sql @@ -241,6 +241,7 @@ CREATE TABLE `logfile` ( `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', + `logformat_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s foreign key to logformat table', PRIMARY KEY (`id`), UNIQUE KEY `uix_logfile_object_hash` (`object_key_hash`), KEY `bucket_id` (`bucket_id`), @@ -255,6 +256,8 @@ CREATE TABLE `logfile` ( 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__logformat_id` (`logformat_id`), + CONSTRAINT `fk_logfile__logformat_id` FOREIGN KEY (`logformat_id`) REFERENCES `logformat` (`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__source_system_id` FOREIGN KEY (`source_system_id`) REFERENCES `source_system` (`id`), @@ -297,6 +300,30 @@ LOCK TABLES `logtag` WRITE; /*!40000 ALTER TABLE `logtag` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `logformat` +-- + +DROP TABLE IF EXISTS `logformat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8mb4 */; +CREATE TABLE `logformat` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID for logformat', + `name` varchar(255) NOT NULL COMMENT 'logformat of the logfile records', + PRIMARY KEY (`id`), + UNIQUE KEY `uix_logformat` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains logformat values that are identified using the ID'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `logformat` +-- + +LOCK TABLES `logformat` WRITE; +/*!40000 ALTER TABLE `logformat` DISABLE KEYS */; +/*!40000 ALTER TABLE `logformat` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `metadata_value` -- From 0c16924fa7142e054039e9785218f69a8c7f6861 Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Tue, 18 Nov 2025 14:08:17 +0200 Subject: [PATCH 2/7] Updated jooq and tests with schema change for logformat normalized table. REBASE --- .../com/teragrep/pth_06/planner/StreamDBClientTest.java | 2 ++ src/test/resources/CREATE_STREAMDB_DB.sql | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java b/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java index 780bc367c0..d6068a8f6f 100644 --- a/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java +++ b/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java @@ -144,6 +144,7 @@ private LogfileRecord logfileRecordForEpoch(long epoch, boolean hasNullEpochColu ULong.valueOf(epoch + (365 * 24 * 3600)), ULong.valueOf(epoch), ULong.valueOf(1), + null, null ); @@ -168,6 +169,7 @@ private LogfileRecord logfileRecordForEpoch(long epoch, boolean hasNullEpochColu null, null, ULong.valueOf(1), + null, null ); diff --git a/src/test/resources/CREATE_STREAMDB_DB.sql b/src/test/resources/CREATE_STREAMDB_DB.sql index 16d5b8cf89..cd9389316e 100644 --- a/src/test/resources/CREATE_STREAMDB_DB.sql +++ b/src/test/resources/CREATE_STREAMDB_DB.sql @@ -113,6 +113,12 @@ CREATE TABLE `ci` ( PRIMARY KEY (`id`), UNIQUE KEY `uix_ci` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains ci values that are identified using the ID'; +CREATE TABLE `logformat` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID for logformat', + `name` varchar(255) NOT NULL COMMENT 'logformat of the logfile records', + PRIMARY KEY (`id`), + UNIQUE KEY `uix_logformat` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains logformat values that are identified using the ID'; CREATE TABLE `logfile` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `logdate` date NOT NULL COMMENT 'Log file''s date', @@ -135,6 +141,7 @@ CREATE TABLE `logfile` ( `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', + `logformat_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s foreign key to logformat table', PRIMARY KEY (`id`), UNIQUE KEY `uix_logfile_object_hash` (`object_key_hash`), KEY `bucket_id` (`bucket_id`), @@ -149,6 +156,8 @@ CREATE TABLE `logfile` ( 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__logformat_id` (`logformat_id`), + CONSTRAINT `fk_logfile__logformat_id` FOREIGN KEY (`logformat_id`) REFERENCES `logformat` (`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__source_system_id` FOREIGN KEY (`source_system_id`) REFERENCES `source_system` (`id`), From 4dfddc0d3bd15799d55361be9ac70d0cf998aefb Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Mon, 12 Jan 2026 12:19:28 +0200 Subject: [PATCH 3/7] Renamed logformat to object_format REBASE Updated journaldb.sql with the rest-01 release 7.9.0 schema. --- database/journaldb.sql | 60 +++++++++++------------ src/test/resources/CREATE_STREAMDB_DB.sql | 18 +++---- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/database/journaldb.sql b/database/journaldb.sql index f5671e0e75..ad4eb10fa6 100644 --- a/database/journaldb.sql +++ b/database/journaldb.sql @@ -239,9 +239,9 @@ CREATE TABLE `logfile` ( `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', - `logformat_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s foreign key to logformat 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`), @@ -252,14 +252,14 @@ CREATE TABLE `logfile` ( 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__logformat_id` (`logformat_id`), - CONSTRAINT `fk_logfile__logformat_id` FOREIGN KEY (`logformat_id`) REFERENCES `logformat` (`id`), + KEY `fk_logfile__object_format_id` (`object_format_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`), @@ -300,30 +300,6 @@ LOCK TABLES `logtag` WRITE; /*!40000 ALTER TABLE `logtag` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `logformat` --- - -DROP TABLE IF EXISTS `logformat`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8mb4 */; -CREATE TABLE `logformat` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID for logformat', - `name` varchar(255) NOT NULL COMMENT 'logformat of the logfile records', - PRIMARY KEY (`id`), - UNIQUE KEY `uix_logformat` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains logformat values that are identified using the ID'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `logformat` --- - -LOCK TABLES `logformat` WRITE; -/*!40000 ALTER TABLE `logformat` DISABLE KEYS */; -/*!40000 ALTER TABLE `logformat` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `metadata_value` -- @@ -351,6 +327,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` -- @@ -411,4 +411,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 diff --git a/src/test/resources/CREATE_STREAMDB_DB.sql b/src/test/resources/CREATE_STREAMDB_DB.sql index cd9389316e..05621d79f9 100644 --- a/src/test/resources/CREATE_STREAMDB_DB.sql +++ b/src/test/resources/CREATE_STREAMDB_DB.sql @@ -113,12 +113,12 @@ CREATE TABLE `ci` ( PRIMARY KEY (`id`), UNIQUE KEY `uix_ci` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains ci values that are identified using the ID'; -CREATE TABLE `logformat` ( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID for logformat', - `name` varchar(255) NOT NULL COMMENT 'logformat of the logfile records', - PRIMARY KEY (`id`), - UNIQUE KEY `uix_logformat` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains logformat values that are identified using the ID'; +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 AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='Contains object_format values that are identified using the ID'; CREATE TABLE `logfile` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `logdate` date NOT NULL COMMENT 'Log file''s date', @@ -141,7 +141,7 @@ CREATE TABLE `logfile` ( `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', - `logformat_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Log file''s foreign key to logformat table', + `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`), @@ -156,8 +156,8 @@ CREATE TABLE `logfile` ( 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__logformat_id` (`logformat_id`), - CONSTRAINT `fk_logfile__logformat_id` FOREIGN KEY (`logformat_id`) REFERENCES `logformat` (`id`), + KEY `fk_logfile__object_format_id` (`object_format_id`), + CONSTRAINT `fk_logfile__object_format_id` FOREIGN KEY (`object_format_id`) REFERENCES `object_format` (`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__source_system_id` FOREIGN KEY (`source_system_id`) REFERENCES `source_system` (`id`), From b58e23d656cabc9ba8b43400b3a56e4263b48357 Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Mon, 23 Feb 2026 15:52:24 +0200 Subject: [PATCH 4/7] Updated jooq autogenerated code with the rest-01 release 7.9.0 schema. Fixed LogfileRecord usage in tests. --- .../jooq/generated/journaldb/Indexes.java | 2 + .../pth_06/jooq/generated/journaldb/Keys.java | 4 +- .../generated/journaldb/tables/Logfile.java | 31 +++--- .../tables/records/LogfileRecord.java | 95 +++++++++++++------ .../pth_06/planner/StreamDBClientTest.java | 5 +- 5 files changed, 91 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java index be2a9514a6..f12080298d 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java @@ -96,6 +96,7 @@ public class Indexes { 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__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; @@ -125,6 +126,7 @@ private static class Indexes0 { 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__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); diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Keys.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Keys.java index 4bbd001228..12f8bfdae0 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Keys.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Keys.java @@ -119,8 +119,8 @@ public class Keys { public static final ForeignKey CORRUPTED_ARCHIVE_IBFK_1 = ForeignKeys0.CORRUPTED_ARCHIVE_IBFK_1; public static final ForeignKey LOGFILE_IBFK_1 = ForeignKeys0.LOGFILE_IBFK_1; public static final ForeignKey LOGFILE_IBFK_2 = ForeignKeys0.LOGFILE_IBFK_2; - public static final ForeignKey FK_LOGFILE__LOGTAG_ID = ForeignKeys0.FK_LOGFILE__LOGTAG_ID; public static final ForeignKey FK_LOGFILE__CI_ID = ForeignKeys0.FK_LOGFILE__CI_ID; + public static final ForeignKey FK_LOGFILE__LOGTAG_ID = ForeignKeys0.FK_LOGFILE__LOGTAG_ID; // ------------------------------------------------------------------------- // [#1459] distribute members to avoid static initialisers > 64kb @@ -152,7 +152,7 @@ private static class ForeignKeys0 { public static final ForeignKey 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 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 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 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 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 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); } } diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java index b99820fce1..10d3b85157 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java @@ -67,7 +67,7 @@ import org.jooq.Index; import org.jooq.Name; import org.jooq.Record; -import org.jooq.Row21; +import org.jooq.Row22; import org.jooq.Schema; import org.jooq.Table; import org.jooq.TableField; @@ -91,7 +91,7 @@ @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Logfile extends TableImpl { - private static final long serialVersionUID = 709950499; + private static final long serialVersionUID = -523027982; /** * The reference instance of journaldb.logfile @@ -201,15 +201,20 @@ public Class getRecordType() { */ public final TableField 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 journaldb.logfile.ci_id. Log file's foreign key to ci table + */ + public final TableField 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 journaldb.logfile.logtag_id. Log file's foreign key to logtag */ public final TableField LOGTAG_ID = createField(DSL.name("logtag_id"), org.jooq.impl.SQLDataType.BIGINTUNSIGNED.nullable(false), this, "Log file's foreign key to logtag"); /** - * The column journaldb.logfile.ci_id. Log file's foreign key to ci table + * The column journaldb.logfile.object_format_id. Log file's foreign key to object_format table */ - public final TableField 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 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 journaldb.logfile table reference @@ -251,7 +256,7 @@ public Schema getSchema() { @Override public List getIndexes() { - return Arrays.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.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_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 @@ -271,7 +276,7 @@ public List> getKeys() { @Override public List> getReferences() { - return Arrays.>asList(Keys.LOGFILE_IBFK_1, Keys.LOGFILE_IBFK_2, Keys.FK_LOGFILE__LOGTAG_ID, Keys.FK_LOGFILE__CI_ID); + return Arrays.>asList(Keys.LOGFILE_IBFK_1, Keys.LOGFILE_IBFK_2, Keys.FK_LOGFILE__CI_ID, Keys.FK_LOGFILE__LOGTAG_ID); } public Bucket bucket() { @@ -282,14 +287,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); @@ -317,11 +322,11 @@ public Logfile rename(Name name) { } // ------------------------------------------------------------------------- - // Row21 type methods + // Row22 type methods // ------------------------------------------------------------------------- @Override - public Row21 fieldsRow() { - return (Row21) super.fieldsRow(); + public Row22 fieldsRow() { + return (Row22) super.fieldsRow(); } } diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java index 352ad1d520..9c46cbc85a 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java @@ -58,8 +58,8 @@ import org.jooq.Field; import org.jooq.Record1; -import org.jooq.Record21; -import org.jooq.Row21; +import org.jooq.Record22; +import org.jooq.Row22; import org.jooq.impl.UpdatableRecordImpl; import org.jooq.types.ULong; import org.jooq.types.UShort; @@ -76,9 +76,9 @@ comments = "This class is generated by jOOQ" ) @SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class LogfileRecord extends UpdatableRecordImpl implements Record21 { +public class LogfileRecord extends UpdatableRecordImpl implements Record22 { - private static final long serialVersionUID = -1181491508; + private static final long serialVersionUID = -498572737; /** * Setter for journaldb.logfile.id. @@ -347,33 +347,47 @@ public ULong getEpochArchived() { } /** - * Setter for journaldb.logfile.logtag_id. Log file's foreign key to logtag + * Setter for journaldb.logfile.ci_id. Log file's foreign key to ci table */ - public void setLogtagId(ULong value) { + public void setCiId(ULong value) { set(19, value); } /** - * Getter for journaldb.logfile.logtag_id. Log file's foreign key to logtag + * Getter for journaldb.logfile.ci_id. Log file's foreign key to ci table */ - public ULong getLogtagId() { + public ULong getCiId() { return (ULong) get(19); } /** - * Setter for journaldb.logfile.ci_id. Log file's foreign key to ci table + * Setter for journaldb.logfile.logtag_id. Log file's foreign key to logtag */ - public void setCiId(ULong value) { + public void setLogtagId(ULong value) { set(20, value); } /** - * Getter for journaldb.logfile.ci_id. Log file's foreign key to ci table + * Getter for journaldb.logfile.logtag_id. Log file's foreign key to logtag */ - public ULong getCiId() { + public ULong getLogtagId() { return (ULong) get(20); } + /** + * Setter for journaldb.logfile.object_format_id. Log file's foreign key to object_format table + */ + public void setObjectFormatId(ULong value) { + set(21, value); + } + + /** + * Getter for journaldb.logfile.object_format_id. Log file's foreign key to object_format table + */ + public ULong getObjectFormatId() { + return (ULong) get(21); + } + // ------------------------------------------------------------------------- // Primary key information // ------------------------------------------------------------------------- @@ -384,17 +398,17 @@ public Record1 key() { } // ------------------------------------------------------------------------- - // Record21 type implementation + // Record22 type implementation // ------------------------------------------------------------------------- @Override - public Row21 fieldsRow() { - return (Row21) super.fieldsRow(); + public Row22 fieldsRow() { + return (Row22) super.fieldsRow(); } @Override - public Row21 valuesRow() { - return (Row21) super.valuesRow(); + public Row22 valuesRow() { + return (Row22) super.valuesRow(); } @Override @@ -494,12 +508,17 @@ public Field field19() { @Override public Field field20() { - return Logfile.LOGFILE.LOGTAG_ID; + return Logfile.LOGFILE.CI_ID; } @Override public Field field21() { - return Logfile.LOGFILE.CI_ID; + return Logfile.LOGFILE.LOGTAG_ID; + } + + @Override + public Field field22() { + return Logfile.LOGFILE.OBJECT_FORMAT_ID; } @Override @@ -599,12 +618,17 @@ public ULong component19() { @Override public ULong component20() { - return getLogtagId(); + return getCiId(); } @Override public ULong component21() { - return getCiId(); + return getLogtagId(); + } + + @Override + public ULong component22() { + return getObjectFormatId(); } @Override @@ -704,12 +728,17 @@ public ULong value19() { @Override public ULong value20() { - return getLogtagId(); + return getCiId(); } @Override public ULong value21() { - return getCiId(); + return getLogtagId(); + } + + @Override + public ULong value22() { + return getObjectFormatId(); } @Override @@ -828,18 +857,24 @@ public LogfileRecord value19(ULong value) { @Override public LogfileRecord value20(ULong value) { - setLogtagId(value); + setCiId(value); return this; } @Override public LogfileRecord value21(ULong value) { - setCiId(value); + setLogtagId(value); + return this; + } + + @Override + public LogfileRecord value22(ULong value) { + setObjectFormatId(value); return this; } @Override - public LogfileRecord values(ULong value1, Date value2, Date value3, UShort value4, String value5, String value6, UShort value7, String value8, Timestamp value9, ULong value10, String value11, String value12, String value13, UShort value14, UShort value15, ULong value16, ULong value17, ULong value18, ULong value19, ULong value20, ULong value21) { + public LogfileRecord values(ULong value1, Date value2, Date value3, UShort value4, String value5, String value6, UShort value7, String value8, Timestamp value9, ULong value10, String value11, String value12, String value13, UShort value14, UShort value15, ULong value16, ULong value17, ULong value18, ULong value19, ULong value20, ULong value21, ULong value22) { value1(value1); value2(value2); value3(value3); @@ -861,6 +896,7 @@ public LogfileRecord values(ULong value1, Date value2, Date value3, UShort value value19(value19); value20(value20); value21(value21); + value22(value22); return this; } @@ -878,7 +914,7 @@ public LogfileRecord() { /** * Create a detached, initialised LogfileRecord */ - public LogfileRecord(ULong id, Date logdate, Date expiration, UShort bucketId, String path, String objectKeyHash, UShort hostId, String originalFilename, Timestamp archived, ULong fileSize, String sha256Checksum, String archiveEtag, String logtag, UShort sourceSystemId, UShort categoryId, ULong uncompressedFileSize, ULong epochHour, ULong epochExpires, ULong epochArchived, ULong logtagId, ULong ciId) { + public LogfileRecord(ULong id, Date logdate, Date expiration, UShort bucketId, String path, String objectKeyHash, UShort hostId, String originalFilename, Timestamp archived, ULong fileSize, String sha256Checksum, String archiveEtag, String logtag, UShort sourceSystemId, UShort categoryId, ULong uncompressedFileSize, ULong epochHour, ULong epochExpires, ULong epochArchived, ULong ciId, ULong logtagId, ULong objectFormatId) { super(Logfile.LOGFILE); set(0, id); @@ -900,7 +936,8 @@ public LogfileRecord(ULong id, Date logdate, Date expiration, UShort bucketId, S set(16, epochHour); set(17, epochExpires); set(18, epochArchived); - set(19, logtagId); - set(20, ciId); + set(19, ciId); + set(20, logtagId); + set(21, objectFormatId); } } diff --git a/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java b/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java index d6068a8f6f..787112ff3c 100644 --- a/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java +++ b/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java @@ -143,8 +143,8 @@ private LogfileRecord logfileRecordForEpoch(long epoch, boolean hasNullEpochColu ULong.valueOf(epoch), ULong.valueOf(epoch + (365 * 24 * 3600)), ULong.valueOf(epoch), - ULong.valueOf(1), null, + ULong.valueOf(1), null ); @@ -168,8 +168,8 @@ private LogfileRecord logfileRecordForEpoch(long epoch, boolean hasNullEpochColu null, null, null, - ULong.valueOf(1), null, + ULong.valueOf(1), null ); @@ -440,6 +440,7 @@ public void deleteRangeRemovesNullLogtimeRowsOutsideOfRange() { null, null, null, + null, ULong.valueOf(1), null ); From 7c3c41c215dddd5719b8ad460bbab79bda46730c Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Tue, 24 Feb 2026 09:52:00 +0200 Subject: [PATCH 5/7] Fixed logfile table creation for tests, changing column ordering to follow the REST-01 7.9.0 schema. --- src/test/resources/CREATE_STREAMDB_DB.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/resources/CREATE_STREAMDB_DB.sql b/src/test/resources/CREATE_STREAMDB_DB.sql index 05621d79f9..710a713f61 100644 --- a/src/test/resources/CREATE_STREAMDB_DB.sql +++ b/src/test/resources/CREATE_STREAMDB_DB.sql @@ -139,8 +139,8 @@ CREATE TABLE `logfile` ( `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`), @@ -152,14 +152,14 @@ CREATE TABLE `logfile` ( 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`), - CONSTRAINT `fk_logfile__object_format_id` FOREIGN KEY (`object_format_id`) REFERENCES `object_format` (`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`), From 4fc0e5bd879afd60ec2e4e6e0c2ac5524757b68f Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Thu, 26 Mar 2026 09:43:02 +0200 Subject: [PATCH 6/7] Updated journaldb.sql with schema change for dropping of logfile.logtag column. --- database/journaldb.sql | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/database/journaldb.sql b/database/journaldb.sql index ad4eb10fa6..d40e19ef3b 100644 --- a/database/journaldb.sql +++ b/database/journaldb.sql @@ -232,7 +232,6 @@ 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', @@ -248,15 +247,13 @@ CREATE TABLE `logfile` ( 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__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`), From ffd6ec90d698c22f7a1d564aeb90c1ce8f0e8f71 Mon Sep 17 00:00:00 2001 From: Tiihott <48@teragrep.com> Date: Thu, 26 Mar 2026 10:46:06 +0200 Subject: [PATCH 7/7] Updated jooq and tests with schema change for dropping logfile.logtag column. --- .../jooq/generated/journaldb/Indexes.java | 8 +- .../generated/journaldb/tables/Logfile.java | 17 +- .../tables/records/LogfileRecord.java | 185 +++++++----------- .../pth_06/planner/StreamDBClientTest.java | 3 - src/test/resources/CREATE_STREAMDB_DB.sql | 5 +- 5 files changed, 83 insertions(+), 135 deletions(-) diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java index f12080298d..f32962d91f 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/Indexes.java @@ -89,12 +89,10 @@ 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; @@ -119,12 +117,10 @@ 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); diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java index 10d3b85157..78b48c1984 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/Logfile.java @@ -67,7 +67,7 @@ import org.jooq.Index; import org.jooq.Name; import org.jooq.Record; -import org.jooq.Row22; +import org.jooq.Row21; import org.jooq.Schema; import org.jooq.Table; import org.jooq.TableField; @@ -91,7 +91,7 @@ @SuppressWarnings({ "all", "unchecked", "rawtypes" }) public class Logfile extends TableImpl { - private static final long serialVersionUID = -523027982; + private static final long serialVersionUID = 1627470629; /** * The reference instance of journaldb.logfile @@ -166,11 +166,6 @@ public Class getRecordType() { */ public final TableField 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 journaldb.logfile.logtag. A link back to CFEngine - */ - public final TableField LOGTAG = createField(DSL.name("logtag"), org.jooq.impl.SQLDataType.VARCHAR(48).nullable(false), this, "A link back to CFEngine"); - /** * The column journaldb.logfile.source_system_id. Log file's source system (references source_system.id) */ @@ -256,7 +251,7 @@ public Schema getSchema() { @Override public List getIndexes() { - return Arrays.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_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); + return Arrays.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 @@ -322,11 +317,11 @@ public Logfile rename(Name name) { } // ------------------------------------------------------------------------- - // Row22 type methods + // Row21 type methods // ------------------------------------------------------------------------- @Override - public Row22 fieldsRow() { - return (Row22) super.fieldsRow(); + public Row21 fieldsRow() { + return (Row21) super.fieldsRow(); } } diff --git a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java index 9c46cbc85a..e25c575091 100644 --- a/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java +++ b/src/main/java/com/teragrep/pth_06/jooq/generated/journaldb/tables/records/LogfileRecord.java @@ -58,8 +58,8 @@ import org.jooq.Field; import org.jooq.Record1; -import org.jooq.Record22; -import org.jooq.Row22; +import org.jooq.Record21; +import org.jooq.Row21; import org.jooq.impl.UpdatableRecordImpl; import org.jooq.types.ULong; import org.jooq.types.UShort; @@ -76,9 +76,9 @@ comments = "This class is generated by jOOQ" ) @SuppressWarnings({ "all", "unchecked", "rawtypes" }) -public class LogfileRecord extends UpdatableRecordImpl implements Record22 { +public class LogfileRecord extends UpdatableRecordImpl implements Record21 { - private static final long serialVersionUID = -498572737; + private static final long serialVersionUID = -1790657226; /** * Setter for journaldb.logfile.id. @@ -248,144 +248,130 @@ public String getArchiveEtag() { return (String) get(11); } - /** - * Setter for journaldb.logfile.logtag. A link back to CFEngine - */ - public void setLogtag(String value) { - set(12, value); - } - - /** - * Getter for journaldb.logfile.logtag. A link back to CFEngine - */ - public String getLogtag() { - return (String) get(12); - } - /** * Setter for journaldb.logfile.source_system_id. Log file's source system (references source_system.id) */ public void setSourceSystemId(UShort value) { - set(13, value); + set(12, value); } /** * Getter for journaldb.logfile.source_system_id. Log file's source system (references source_system.id) */ public UShort getSourceSystemId() { - return (UShort) get(13); + return (UShort) get(12); } /** * Setter for journaldb.logfile.category_id. Log file's category (references category.id) */ public void setCategoryId(UShort value) { - set(14, value); + set(13, value); } /** * Getter for journaldb.logfile.category_id. Log file's category (references category.id) */ public UShort getCategoryId() { - return (UShort) get(14); + return (UShort) get(13); } /** * Setter for journaldb.logfile.uncompressed_file_size. Log file's uncompressed file size */ public void setUncompressedFileSize(ULong value) { - set(15, value); + set(14, value); } /** * Getter for journaldb.logfile.uncompressed_file_size. Log file's uncompressed file size */ public ULong getUncompressedFileSize() { - return (ULong) get(15); + return (ULong) get(14); } /** * Setter for journaldb.logfile.epoch_hour. Log file's epoch logdate */ public void setEpochHour(ULong value) { - set(16, value); + set(15, value); } /** * Getter for journaldb.logfile.epoch_hour. Log file's epoch logdate */ public ULong getEpochHour() { - return (ULong) get(16); + return (ULong) get(15); } /** * Setter for journaldb.logfile.epoch_expires. Log file's epoch expiration */ public void setEpochExpires(ULong value) { - set(17, value); + set(16, value); } /** * Getter for journaldb.logfile.epoch_expires. Log file's epoch expiration */ public ULong getEpochExpires() { - return (ULong) get(17); + return (ULong) get(16); } /** * Setter for journaldb.logfile.epoch_archived. Log file's epoch archived */ public void setEpochArchived(ULong value) { - set(18, value); + set(17, value); } /** * Getter for journaldb.logfile.epoch_archived. Log file's epoch archived */ public ULong getEpochArchived() { - return (ULong) get(18); + return (ULong) get(17); } /** * Setter for journaldb.logfile.ci_id. Log file's foreign key to ci table */ public void setCiId(ULong value) { - set(19, value); + set(18, value); } /** * Getter for journaldb.logfile.ci_id. Log file's foreign key to ci table */ public ULong getCiId() { - return (ULong) get(19); + return (ULong) get(18); } /** * Setter for journaldb.logfile.logtag_id. Log file's foreign key to logtag */ public void setLogtagId(ULong value) { - set(20, value); + set(19, value); } /** * Getter for journaldb.logfile.logtag_id. Log file's foreign key to logtag */ public ULong getLogtagId() { - return (ULong) get(20); + return (ULong) get(19); } /** * Setter for journaldb.logfile.object_format_id. Log file's foreign key to object_format table */ public void setObjectFormatId(ULong value) { - set(21, value); + set(20, value); } /** * Getter for journaldb.logfile.object_format_id. Log file's foreign key to object_format table */ public ULong getObjectFormatId() { - return (ULong) get(21); + return (ULong) get(20); } // ------------------------------------------------------------------------- @@ -398,17 +384,17 @@ public Record1 key() { } // ------------------------------------------------------------------------- - // Record22 type implementation + // Record21 type implementation // ------------------------------------------------------------------------- @Override - public Row22 fieldsRow() { - return (Row22) super.fieldsRow(); + public Row21 fieldsRow() { + return (Row21) super.fieldsRow(); } @Override - public Row22 valuesRow() { - return (Row22) super.valuesRow(); + public Row21 valuesRow() { + return (Row21) super.valuesRow(); } @Override @@ -472,52 +458,47 @@ public Field field12() { } @Override - public Field field13() { - return Logfile.LOGFILE.LOGTAG; - } - - @Override - public Field field14() { + public Field field13() { return Logfile.LOGFILE.SOURCE_SYSTEM_ID; } @Override - public Field field15() { + public Field field14() { return Logfile.LOGFILE.CATEGORY_ID; } @Override - public Field field16() { + public Field field15() { return Logfile.LOGFILE.UNCOMPRESSED_FILE_SIZE; } @Override - public Field field17() { + public Field field16() { return Logfile.LOGFILE.EPOCH_HOUR; } @Override - public Field field18() { + public Field field17() { return Logfile.LOGFILE.EPOCH_EXPIRES; } @Override - public Field field19() { + public Field field18() { return Logfile.LOGFILE.EPOCH_ARCHIVED; } @Override - public Field field20() { + public Field field19() { return Logfile.LOGFILE.CI_ID; } @Override - public Field field21() { + public Field field20() { return Logfile.LOGFILE.LOGTAG_ID; } @Override - public Field field22() { + public Field field21() { return Logfile.LOGFILE.OBJECT_FORMAT_ID; } @@ -582,52 +563,47 @@ public String component12() { } @Override - public String component13() { - return getLogtag(); - } - - @Override - public UShort component14() { + public UShort component13() { return getSourceSystemId(); } @Override - public UShort component15() { + public UShort component14() { return getCategoryId(); } @Override - public ULong component16() { + public ULong component15() { return getUncompressedFileSize(); } @Override - public ULong component17() { + public ULong component16() { return getEpochHour(); } @Override - public ULong component18() { + public ULong component17() { return getEpochExpires(); } @Override - public ULong component19() { + public ULong component18() { return getEpochArchived(); } @Override - public ULong component20() { + public ULong component19() { return getCiId(); } @Override - public ULong component21() { + public ULong component20() { return getLogtagId(); } @Override - public ULong component22() { + public ULong component21() { return getObjectFormatId(); } @@ -692,52 +668,47 @@ public String value12() { } @Override - public String value13() { - return getLogtag(); - } - - @Override - public UShort value14() { + public UShort value13() { return getSourceSystemId(); } @Override - public UShort value15() { + public UShort value14() { return getCategoryId(); } @Override - public ULong value16() { + public ULong value15() { return getUncompressedFileSize(); } @Override - public ULong value17() { + public ULong value16() { return getEpochHour(); } @Override - public ULong value18() { + public ULong value17() { return getEpochExpires(); } @Override - public ULong value19() { + public ULong value18() { return getEpochArchived(); } @Override - public ULong value20() { + public ULong value19() { return getCiId(); } @Override - public ULong value21() { + public ULong value20() { return getLogtagId(); } @Override - public ULong value22() { + public ULong value21() { return getObjectFormatId(); } @@ -814,67 +785,61 @@ public LogfileRecord value12(String value) { } @Override - public LogfileRecord value13(String value) { - setLogtag(value); - return this; - } - - @Override - public LogfileRecord value14(UShort value) { + public LogfileRecord value13(UShort value) { setSourceSystemId(value); return this; } @Override - public LogfileRecord value15(UShort value) { + public LogfileRecord value14(UShort value) { setCategoryId(value); return this; } @Override - public LogfileRecord value16(ULong value) { + public LogfileRecord value15(ULong value) { setUncompressedFileSize(value); return this; } @Override - public LogfileRecord value17(ULong value) { + public LogfileRecord value16(ULong value) { setEpochHour(value); return this; } @Override - public LogfileRecord value18(ULong value) { + public LogfileRecord value17(ULong value) { setEpochExpires(value); return this; } @Override - public LogfileRecord value19(ULong value) { + public LogfileRecord value18(ULong value) { setEpochArchived(value); return this; } @Override - public LogfileRecord value20(ULong value) { + public LogfileRecord value19(ULong value) { setCiId(value); return this; } @Override - public LogfileRecord value21(ULong value) { + public LogfileRecord value20(ULong value) { setLogtagId(value); return this; } @Override - public LogfileRecord value22(ULong value) { + public LogfileRecord value21(ULong value) { setObjectFormatId(value); return this; } @Override - public LogfileRecord values(ULong value1, Date value2, Date value3, UShort value4, String value5, String value6, UShort value7, String value8, Timestamp value9, ULong value10, String value11, String value12, String value13, UShort value14, UShort value15, ULong value16, ULong value17, ULong value18, ULong value19, ULong value20, ULong value21, ULong value22) { + public LogfileRecord values(ULong value1, Date value2, Date value3, UShort value4, String value5, String value6, UShort value7, String value8, Timestamp value9, ULong value10, String value11, String value12, UShort value13, UShort value14, ULong value15, ULong value16, ULong value17, ULong value18, ULong value19, ULong value20, ULong value21) { value1(value1); value2(value2); value3(value3); @@ -896,7 +861,6 @@ public LogfileRecord values(ULong value1, Date value2, Date value3, UShort value value19(value19); value20(value20); value21(value21); - value22(value22); return this; } @@ -914,7 +878,7 @@ public LogfileRecord() { /** * Create a detached, initialised LogfileRecord */ - public LogfileRecord(ULong id, Date logdate, Date expiration, UShort bucketId, String path, String objectKeyHash, UShort hostId, String originalFilename, Timestamp archived, ULong fileSize, String sha256Checksum, String archiveEtag, String logtag, UShort sourceSystemId, UShort categoryId, ULong uncompressedFileSize, ULong epochHour, ULong epochExpires, ULong epochArchived, ULong ciId, ULong logtagId, ULong objectFormatId) { + public LogfileRecord(ULong id, Date logdate, Date expiration, UShort bucketId, String path, String objectKeyHash, UShort hostId, String originalFilename, Timestamp archived, ULong fileSize, String sha256Checksum, String archiveEtag, UShort sourceSystemId, UShort categoryId, ULong uncompressedFileSize, ULong epochHour, ULong epochExpires, ULong epochArchived, ULong ciId, ULong logtagId, ULong objectFormatId) { super(Logfile.LOGFILE); set(0, id); @@ -929,15 +893,14 @@ public LogfileRecord(ULong id, Date logdate, Date expiration, UShort bucketId, S set(9, fileSize); set(10, sha256Checksum); set(11, archiveEtag); - set(12, logtag); - set(13, sourceSystemId); - set(14, categoryId); - set(15, uncompressedFileSize); - set(16, epochHour); - set(17, epochExpires); - set(18, epochArchived); - set(19, ciId); - set(20, logtagId); - set(21, objectFormatId); + set(12, sourceSystemId); + set(13, categoryId); + set(14, uncompressedFileSize); + set(15, epochHour); + set(16, epochExpires); + set(17, epochArchived); + set(18, ciId); + set(19, logtagId); + set(20, objectFormatId); } } diff --git a/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java b/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java index 787112ff3c..a854ce170b 100644 --- a/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java +++ b/src/test/java/com/teragrep/pth_06/planner/StreamDBClientTest.java @@ -136,7 +136,6 @@ private LogfileRecord logfileRecordForEpoch(long epoch, boolean hasNullEpochColu ULong.valueOf(120L), "sha256 checksum 1", "archive tag 1", - "oldExample", UShort.valueOf(2), UShort.valueOf(1), ULong.valueOf(390L), @@ -161,7 +160,6 @@ private LogfileRecord logfileRecordForEpoch(long epoch, boolean hasNullEpochColu ULong.valueOf(120L), "sha256 checksum 1", "archive tag 1", - "oldExample", UShort.valueOf(2), UShort.valueOf(1), ULong.valueOf(390L), @@ -433,7 +431,6 @@ public void deleteRangeRemovesNullLogtimeRowsOutsideOfRange() { ULong.valueOf(120L), "sha256 checksum 1", "archive tag 1", - "oldExample", UShort.valueOf(2), UShort.valueOf(1), ULong.valueOf(390L), diff --git a/src/test/resources/CREATE_STREAMDB_DB.sql b/src/test/resources/CREATE_STREAMDB_DB.sql index 710a713f61..010f67786b 100644 --- a/src/test/resources/CREATE_STREAMDB_DB.sql +++ b/src/test/resources/CREATE_STREAMDB_DB.sql @@ -132,7 +132,6 @@ 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', @@ -148,15 +147,13 @@ CREATE TABLE `logfile` ( 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__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`),