From d16a19fac27d3cbefe630caa502cd360d7d58cd7 Mon Sep 17 00:00:00 2001 From: vdelacruzb Date: Thu, 20 Feb 2025 11:55:34 +0100 Subject: [PATCH 1/3] check compression when updating metadata --- raster_loader/io/common.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/raster_loader/io/common.py b/raster_loader/io/common.py index 60f60f3..334a448 100644 --- a/raster_loader/io/common.py +++ b/raster_loader/io/common.py @@ -989,6 +989,12 @@ def check_metadata_is_compatible(metadata, old_metadata): f"({metadata['bands']} != {old_metadata['bands']})." ) + if metadata.get("compression") != old_metadata.get("compression"): + raise ValueError( + "Cannot append records to a table with different compression." + f"({metadata.get('compression')} != {old_metadata.get('compression')})." + ) + def update_metadata(metadata, old_metadata): """Update a metadata object, combining it with another existing metadata object From bb6af29bc49530d885d5eb128328eaea0dcb57d2 Mon Sep 17 00:00:00 2001 From: vdelacruzb Date: Mon, 10 Mar 2025 16:08:42 +0100 Subject: [PATCH 2/3] fix snowflake bug --- raster_loader/io/snowflake.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/raster_loader/io/snowflake.py b/raster_loader/io/snowflake.py index 696f399..47df9f1 100644 --- a/raster_loader/io/snowflake.py +++ b/raster_loader/io/snowflake.py @@ -237,7 +237,12 @@ def band_rename_function(x): exit() metadata = rasterio_metadata( - file_path, bands_info, band_rename_function, exact_stats, basic_stats + file_path, + bands_info, + band_rename_function, + exact_stats, + basic_stats, + compress, ) overviews_records_gen = rasterio_overview_to_records( @@ -297,7 +302,11 @@ def band_rename_function(x): print("Writing metadata to Snowflake...") if append_records: + print("Appending records to Snowflake...") + print(f"Metadata: {metadata}") + print(f"Append records: {append_records}") old_metadata = self.get_metadata(fqn) + print(f"Old metadata: {old_metadata}") check_metadata_is_compatible(metadata, old_metadata) update_metadata(metadata, old_metadata) From d6f1c7c93e4251bad12bab271ac225b64ac1becf Mon Sep 17 00:00:00 2001 From: vdelacruzb Date: Mon, 10 Mar 2025 17:37:51 +0100 Subject: [PATCH 3/3] remove prints --- raster_loader/io/snowflake.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/raster_loader/io/snowflake.py b/raster_loader/io/snowflake.py index 47df9f1..12524ba 100644 --- a/raster_loader/io/snowflake.py +++ b/raster_loader/io/snowflake.py @@ -302,11 +302,7 @@ def band_rename_function(x): print("Writing metadata to Snowflake...") if append_records: - print("Appending records to Snowflake...") - print(f"Metadata: {metadata}") - print(f"Append records: {append_records}") old_metadata = self.get_metadata(fqn) - print(f"Old metadata: {old_metadata}") check_metadata_is_compatible(metadata, old_metadata) update_metadata(metadata, old_metadata)