Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track osm2pgsql mode (create/append) in osm.pgosm_flex table #212

Merged
merged 1 commit into from
Dec 2, 2021
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
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