Commit e3754e32 authored by Jean-Benoist Leger's avatar Jean-Benoist Leger

timing on plpgsql update

parent 90042c2b
......@@ -35,7 +35,7 @@ WITH
cc_id=sub.old_cc_id;
GET DIAGNOSTICS nb = ROW_COUNT;
RAISE INFO '% ways updated', nb;
RAISE NOTICE '% ways updated', nb;
END LOOP;
END;
$$ LANGUAGE plpgsql;
......
......@@ -3,8 +3,13 @@
-- modifs
DROP FUNCTION IF EXISTS updateRV();
CREATE FUNCTION updateRV() RETURNS VOID AS $$
DECLARE
v TIMESTAMP;
BEGIN
select timeofday() into v;
raise notice '% Begin of DELETE rv_ways', v;
-- update de rv_way
-- etape 1 : effacement des ways effacée ou modifiée
DELETE FROM rv_ways
......@@ -22,13 +27,14 @@ BEGIN
WHERE
rv_ways.id=sub.id;
select timeofday() into v;
raise notice '% Begin of INSERT rv_ways', v;
-- etape 2 : on crée les ways nouvelles et les modifiés (qui viennet d'être
-- effacées
INSERT INTO rv_ways
(
SELECT
ways.id AS id,
NULL AS cc
ways.id AS id
FROM
ways
INNER JOIN
......@@ -47,6 +53,8 @@ BEGIN
)
);
select timeofday() into v;
raise notice '% Begin of DELETE rv_edges', v;
-- rv_edges
-- etape 1 : on effacte tous les edges qui proviennent d'un ways
DELETE FROM rv_edges
......@@ -64,6 +72,8 @@ BEGIN
WHERE
way_id=sub.id;
select timeofday() into v;
raise notice '% Begin of computing rv_edges', v;
-- etape 2 : on crée tous les edges des ways crées ou modifés
PERFORM compute_edges_for_one_way(sub.id)
FROM
......@@ -80,6 +90,8 @@ BEGIN
(action='C' OR action='M')
) AS sub;
select timeofday() into v;
raise notice '% Begin of INSERT actions', v;
-- rv_nodes
-- etape 1: on considère que tous les nodes apparenants à des ways modifiés
-- ont été potentiellement modifés (la ways peut avoir été marqué comme
......@@ -115,6 +127,8 @@ BEGIN
);
select timeofday() into v;
raise notice '% Begin of DELETE rv_nodes', v;
-- etape 2 : on effacte tous les nœuds supprimés ou modifés
DELETE FROM rv_nodes
USING
......@@ -130,6 +144,8 @@ BEGIN
rv_nodes.id=sub.node_id;
select timeofday() into v;
raise notice '% Begin of INSERT rv_nodes', v;
-- etape 3 : on insere (ou re-insere) tous les noeuds crées (ou modifiés)
INSERT INTO rv_nodes
(
......@@ -161,6 +177,8 @@ BEGIN
-- puis on mets à jour les labels de cc à partir de ceux calculés sur
-- le graph dual
select timeofday() into v;
raise notice '% Begin of creating rv_way_way', v;
CREATE TEMP TABLE rv_way_way (id1 BIGINT, id2 BIGINT);
INSERT INTO rv_way_way
(
......@@ -185,6 +203,8 @@ BEGIN
rv_ways AS w
);
select timeofday() into v;
raise notice '% Begin of creating rv_way_cc', v;
CREATE TEMP TABLE rv_way_cc (way_id BIGINT, cc_id BIGINT);
INSERT INTO rv_way_cc
(
......@@ -195,8 +215,12 @@ BEGIN
rv_ways AS w
);
select timeofday() into v;
raise notice '% Begin of propto', v;
PERFORM propto();
select timeofday() into v;
raise notice '% Begin of UPDATE rv_nodes for CC', v;
UPDATE rv_nodes
SET
cc=sub.cc
......@@ -216,6 +240,8 @@ BEGIN
sub.id=rv_nodes.id;
select timeofday() into v;
raise notice '% End of updateRV', v;
END;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment