From 6a87159f302c674c6af5009e4cd82c899cfe97e3 Mon Sep 17 00:00:00 2001 From: Graham Date: Tue, 19 Jan 2021 22:51:22 +0000 Subject: [PATCH] Add lengths and uncompressed checksum to index_groups Signed-off-by: Graham --- .../openrs2/archive/cache/CacheImporter.kt | 21 +++++++++++++++++-- .../org/openrs2/archive/V1__init.sql | 3 +++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt b/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt index cea95b49..58c184a3 100644 --- a/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt +++ b/archive/src/main/kotlin/org/openrs2/archive/cache/CacheImporter.kt @@ -427,8 +427,11 @@ public class CacheImporter @Inject constructor( connection.prepareStatement( """ - INSERT INTO index_groups (container_id, group_id, crc32, whirlpool, version, name_hash) - VALUES (?, ?, ?, ?, ?, ?) + INSERT INTO index_groups ( + container_id, group_id, crc32, whirlpool, version, name_hash, length, uncompressed_length, + uncompressed_crc32 + ) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) """.trimIndent() ).use { stmt -> for (group in index.index) { @@ -444,6 +447,20 @@ public class CacheImporter @Inject constructor( stmt.setNull(6, Types.INTEGER) } + if (index.index.hasLengths) { + stmt.setInt(7, group.length) + stmt.setInt(8, group.uncompressedLength) + } else { + stmt.setNull(7, Types.INTEGER) + stmt.setNull(8, Types.INTEGER) + } + + if (index.index.hasUncompressedChecksums) { + stmt.setInt(9, group.uncompressedChecksum) + } else { + stmt.setNull(9, Types.INTEGER) + } + stmt.addBatch() } diff --git a/archive/src/main/resources/org/openrs2/archive/V1__init.sql b/archive/src/main/resources/org/openrs2/archive/V1__init.sql index d9881c7f..09393ff1 100644 --- a/archive/src/main/resources/org/openrs2/archive/V1__init.sql +++ b/archive/src/main/resources/org/openrs2/archive/V1__init.sql @@ -67,6 +67,9 @@ CREATE TABLE index_groups ( whirlpool BYTEA NULL, version INTEGER NOT NULL, name_hash INTEGER NULL, + length INTEGER NULL, + uncompressed_length INTEGER NULL, + uncompressed_crc32 INTEGER NULL, PRIMARY KEY (container_id, group_id) );