Skip to content

Commit

Permalink
fix: handle tables with no properties
Browse files Browse the repository at this point in the history
  • Loading branch information
stepankuzmin committed Jun 4, 2018
1 parent 241dda3 commit d6aee81
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
9 changes: 1 addition & 8 deletions src/scripts/get_tile.sql
Original file line number Diff line number Diff line change
@@ -1,14 +1,7 @@
WITH bounds AS (SELECT {mercator_bounds} as mercator, {original_bounds} as original)
SELECT ST_AsMVT(tile, '{id}', {extent}, 'geom') FROM (
SELECT
ST_AsMVTGeom(
{geometry_column_mercator},
bounds.mercator,
{extent},
{buffer},
{clip_geom}
) AS geom,
{properties}
ST_AsMVTGeom({geometry_column_mercator}, bounds.mercator, {extent}, {buffer}, {clip_geom}) AS geom {properties}
FROM {id}, bounds
WHERE {geometry_column} && bounds.original {condition}
) AS tile WHERE geom IS NOT NULL
15 changes: 10 additions & 5 deletions src/source.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,17 @@ impl Source {
)
};

let columns: Vec<String> = self.properties
.keys()
.map(|column| format!("\"{0}\"", column))
.collect();
let properties = if self.properties.is_empty() {
"".to_string()
} else {
let properties = self.properties
.keys()
.map(|column| format!("\"{0}\"", column))
.collect::<Vec<String>>()
.join(",");

let properties = columns.join(",");
format!(", {0}", properties)
};

let query = format!(
include_str!("scripts/get_tile.sql"),
Expand Down

0 comments on commit d6aee81

Please sign in to comment.