mirror of
https://github.com/maplibre/martin.git
synced 2024-12-20 05:11:57 +03:00
8b34cd374c
* Fix metadata copying * Introduce a new metadata field `agg_tiles_hash_after_apply` for diff files * Added a lot of new info and debug logging * Simplified Copying interface - not much value in having all the complex builder pattern here it seems, might as well use a simple object. ## Testing * Generate SQLite DBs in memory on the fly to validate just what we need * Use `insta` for validating DB content There is now a function `dump(connection) -> Vec<Entry>` to dump the content of the entire SQLite DB into text with `serde`. At many steps through the testing, the DB content is validated with the corresponding .snap file with `insta` crate (which makes this process mega-simple, including a simple way to "bless" (update) any changes). ## Discovered bugs * Seems like normalized files do not get copied properly - they contain extras that should be removed.
21 lines
984 B
JSON
21 lines
984 B
JSON
{
|
|
"db_name": "SQLite",
|
|
"query": "SELECT (\n -- 'tiles_with_hash' table or view columns and their types are as expected:\n -- 5 columns (zoom_level, tile_column, tile_row, tile_data, tile_hash).\n -- The order is not important\n SELECT COUNT(*) = 5\n FROM pragma_table_info('tiles_with_hash')\n WHERE ((name = 'zoom_level' AND type = 'INTEGER')\n OR (name = 'tile_column' AND type = 'INTEGER')\n OR (name = 'tile_row' AND type = 'INTEGER')\n OR (name = 'tile_data' AND type = 'BLOB')\n OR (name = 'tile_hash' AND type = 'TEXT'))\n --\n ) as is_valid;",
|
|
"describe": {
|
|
"columns": [
|
|
{
|
|
"name": "is_valid",
|
|
"ordinal": 0,
|
|
"type_info": "Int"
|
|
}
|
|
],
|
|
"parameters": {
|
|
"Right": 0
|
|
},
|
|
"nullable": [
|
|
null
|
|
]
|
|
},
|
|
"hash": "85b46712c445679053e768cc98b22ea61633c21afb45d3d2b9aeec068d72cce0"
|
|
}
|