Skip to content
Merged
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
4 changes: 4 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
Version 6.1.4 (2025-01-22)
--------------------------
Use full type name when checking max schema key

Version 6.1.3 (2025-01-08)
--------------------------
Redshift Loader: ignore exception for trying to resize a column with text255 compression encoding (#1370)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Licensed under the [Snowplow Limited Use License Agreement][license]. _(If you a
[build-image]: https://github.com/snowplow/snowplow-rdb-loader/workflows/CI/badge.svg
[build]: https://github.com/snowplow/snowplow-rdb-loader/actions/workflows/ci.yml

[release-image]: https://img.shields.io/badge/release-6.1.3-blue.svg?style=flat
[release-image]: https://img.shields.io/badge/release-6.1.4-blue.svg?style=flat
[releases]: https://github.com/snowplow/snowplow-rdb-loader/releases

[license]: https://docs.snowplow.io/limited-use-license-1.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ object DataDiscovery {
nonAtomicTypes
.traverse { shreddedType =>
EitherT(Iglu[F].getSchemasWithSameModel(shreddedType.info.getSchemaKey)).map { schemas =>
val maxSchemaKey = maxSchemaKeyPerTableName(shreddedType.info.getName)
val maxSchemaKey = maxSchemaKeyPerTableName(shreddedType.info.getNameFull)
val filtered = schemas.filter(_.self.schemaKey <= shreddedType.info.getSchemaKey).toNel.get
val maxFiltered = schemas.filter(_.self.schemaKey <= maxSchemaKey).toNel.get
val foldMapRedshiftSchemasResult: ShredModel = foldMapRedshiftSchemas(filtered)(shreddedType.info.getSchemaKey)
Expand All @@ -210,7 +210,7 @@ object DataDiscovery {

/** Find the maximum SchemaKey for all table names in a given set of shredded types */
def getMaxSchemaKeyPerTableName(shreddedTypes: List[ShreddedType]): Map[String, SchemaKey] =
shreddedTypes.groupBy(_.info.getName).mapValues(_.maxBy(_.info.version).info.getSchemaKey)
shreddedTypes.groupBy(_.info.getNameFull).mapValues(_.maxBy(_.info.version).info.getSchemaKey)

def logAndRaise[F[_]: MonadThrow: Logging](error: LoaderError): F[Option[WithOrigin]] =
Logging[F].error(error)("A problem occurred in the loading of SQS message") *> MonadThrow[F].raiseError(error)
Expand Down
Loading