[OSM-dev] Osmosis and current tables - temporary solution
Andreas Kalsch
andreaskalsch at gmx.de
Sun Feb 14 16:17:28 GMT 2010
Deleting all old versions before inserting the new one via triggers will
slow down the script a bit, but the checks for the latest version can be
omitted and you can use populateCurrentTables=no:
CREATE OR REPLACE FUNCTION nodes_insert() RETURNS trigger AS $$
DECLARE
BEGIN
DELETE FROM node_tags WHERE id = NEW.id;
DELETE FROM nodes WHERE id = NEW.id;
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION ways_insert() RETURNS trigger AS $$
DECLARE
BEGIN
DELETE FROM way_tags WHERE id = NEW.id;
DELETE FROM way_nodes WHERE id = NEW.id;
DELETE FROM ways WHERE id = NEW.id;
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION relations_insert() RETURNS trigger AS $$
DECLARE
BEGIN
DELETE FROM relation_tags WHERE id = NEW.id;
DELETE FROM relation_members WHERE id = NEW.id;
DELETE FROM relations WHERE id = NEW.id;
RETURN NEW;
END;
$$ LANGUAGE 'plpgsql';
CREATE TRIGGER node_insert BEFORE INSERT ON nodes
FOR EACH ROW EXECUTE PROCEDURE nodes_insert();
CREATE TRIGGER way_insert BEFORE INSERT ON ways
FOR EACH ROW EXECUTE PROCEDURE ways_insert();
CREATE TRIGGER relation_insert BEFORE INSERT ON relations
FOR EACH ROW EXECUTE PROCEDURE relations_insert();
Am 14.02.10 15:40, schrieb Andreas Kalsch:
> Is there a way to make Osmosis populate and refresh just the current
> tables and ignoring the history tables? It would be faster and it is
> easier to work with tables which have exactly one version - the recent -
> for every feature.
>
> Andi
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev
>
>
>
More information about the dev
mailing list