Skip to content

Commit

Permalink
Merge pull request #212 from rustprooflabs/track-osm2pgsql-mode
Browse files Browse the repository at this point in the history
Track osm2pgsql mode (create/append) in osm.pgosm_flex table
  • Loading branch information
rustprooflabs authored Dec 2, 2021
2 parents e5601cf + 05517aa commit 518c066
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
1 change: 1 addition & 0 deletions flex-config/sql/pgosm-meta.sql
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ COMMENT ON COLUMN osm.pgosm_flex.pgosm_flex_version IS 'Version of PgOSM-Flex us
COMMENT ON COLUMN osm.pgosm_flex.osm2pgsql_version IS 'Version of osm2pgsql used to load data.';
COMMENT ON COLUMN osm.pgosm_flex.region IS 'Region specified at run time via env var PGOSM_REGION.';
COMMENT ON COLUMN osm.pgosm_flex.language IS 'Preferred language specified at run time via env var PGOSM_LANGUAGE. Empty string when not defined.';
COMMENT ON COLUMN osm.pgosm_flex.osm2pgsql_mode IS 'Indicates which osm2pgsql mode was used, create or append.';
21 changes: 17 additions & 4 deletions flex-config/style/pgosm-meta.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,17 @@ CREATE TABLE IF NOT EXISTS osm.pgosm_flex (
project_url text NOT NULL,
osm2pgsql_version text NOT NULL,
"language" text NOT NULL,
osm2pgsql_mode TEXT NOT NULL DEFAULT 'create',
CONSTRAINT pk_osm_pgosm_flex PRIMARY KEY (id)
);
]=]


-- Ensures tables created by pgosm flex 0.4.0 and earlier do not break
sql_ensure_osm2pgsql_mode_column = [=[
ALTER TABLE osm.pgosm_flex
ADD COLUMN IF NOT EXISTS osm2pgsql_mode
TEXT NOT NULL DEFAULT 'create';
]=]

function pgosm_get_commit_hash()
local cmd = 'git rev-parse --short HEAD'
Expand All @@ -56,8 +62,11 @@ end

local commit_hash = pgosm_get_commit_hash()
local git_tag = pgosm_get_latest_tag()
local osm2pgsql_version = osm2pgsql.version
print ('PgOSM-Flex version:', git_tag, commit_hash)

local osm2pgsql_version = osm2pgsql.version
local osm2pgsql_mode = osm2pgsql.mode

local pgosm_flex_version = git_tag .. '-' .. commit_hash
local project_url = 'https://github.com/rustprooflabs/pgosm-flex'

Expand All @@ -67,14 +76,17 @@ con = assert (env:connect(pgosm_conn))

print('ensuring pgosm_flex table exists.')
con:execute(sql_create_table)
con:execute(sql_ensure_osm2pgsql_mode_column)

if default_date then
default_date_str = 'true'
else
default_date_str = 'false'
end

local sql_insert = [[ INSERT INTO osm.pgosm_flex (osm_date, default_date, region, pgosm_flex_version, srid, project_url, osm2pgsql_version, "language") ]] ..
local sql_insert = [[ INSERT INTO osm.pgosm_flex (osm_date, default_date, region,
pgosm_flex_version, srid, project_url, osm2pgsql_version, "language",
osm2pgsql_mode) ]] ..
[[ VALUES (']] ..
con:escape(pgosm_date) .. [[', ]] ..
default_date_str .. [[ , ']] .. -- special handling for boolean
Expand All @@ -83,7 +95,8 @@ local sql_insert = [[ INSERT INTO osm.pgosm_flex (osm_date, default_date, region
con:escape(srid) .. [[', ']] ..
con:escape(project_url) .. [[', ']] ..
con:escape(osm2pgsql_version) .. [[', ']] ..
con:escape(pgosm_language) .. [[' );]]
con:escape(pgosm_language) .. [[', ']] ..
con:escape(osm2pgsql_mode) .. [[' );]]


-- simple query to verify connection
Expand Down

0 comments on commit 518c066

Please sign in to comment.