gpsfold: Remove $Id$ at EOF.
[gpstools.git] / branches / gpst.gpxfix / postgres / update_things.sql
blob13aabc0aa742b63ed7d60f67cf513d0eccd5ba17
1 -- $Id$
2 -- File ID: 4765dc0a-fafb-11dd-874c-000475e441b9
4 -- Rund av veipunkter til seks desimaler -- {{{
5 \echo
6 \echo ================ Rund av veipunkter til seks desimaler ================
8 UPDATE wayp SET coor = point(
9     round(coor[0]::numeric, 6),
10     round(coor[1]::numeric, 6)
12 -- }}}
14 -- Fjern duplikater i wayp -- {{{
15 \echo
16 \echo ================ Fjern duplikater i wayp ================
18 COPY (SELECT '======== Antall i wayp før rensking: ' || count(*) from wayp) to STDOUT;
20 BEGIN ISOLATION LEVEL SERIALIZABLE;
21     CREATE TEMPORARY TABLE dupfri
22     ON COMMIT DROP
23     AS (
24         SELECT
25             DISTINCT ON (
26                 coor[0], coor[1],
27                 name,
28                 ele,
29                 type,
30                 time,
31                 cmt,
32                 descr,
33                 src,
34                 sym
35             ) *
36             FROM wayp
37     );
38     TRUNCATE wayp;
39     INSERT INTO wayp (
40         SELECT *
41             FROM dupfri
42             ORDER BY name
43     );
44 COMMIT;
46 COPY (SELECT '======== Antall i wayp etter rensking: ' || count(*) from wayp) to STDOUT;
47 -- }}}
49 -- Fjern duplikater i events -- {{{
50 \echo
51 \echo ================ Fjern duplikater i events ================
53 COPY (SELECT '======== Antall i events før rensking: ' || count(*) from events) to STDOUT;
55 BEGIN ISOLATION LEVEL SERIALIZABLE;
56     CREATE TEMPORARY TABLE dupfri
57     ON COMMIT DROP
58     AS (
59         SELECT
60             DISTINCT ON (date, coor[0], coor[1], descr) *
61             FROM events
62     );
63     TRUNCATE events;
64     INSERT INTO events (
65         SELECT *
66             FROM dupfri
67             ORDER BY date
68     );
69 COMMIT;
71 COPY (SELECT '======== Antall i events etter rensking: ' || count(*) from events) to STDOUT;
72 -- }}}
74 -- Oppdater koordinater for bilder -- {{{
75 \echo
76 \echo ================ Oppdater koordinater for bilder ================
78 UPDATE pictures SET coor = findpos(date)
79     WHERE coor IS NULL;
80 -- }}}
82 -- Rund av bildekoordinater -- {{{
83 \echo ================ Rund av bildekoordinater ================
84 UPDATE pictures SET coor = point(
85     round(coor[0]::numeric, 6),
86     round(coor[1]::numeric, 6)
88 -- }}}
90 -- Fjern duplikater i pictures -- {{{
91 \echo
92 \echo ================ Fjern duplikater i pictures ================
94 COPY (SELECT '======== Antall i pictures før rensking: ' || count(*) from pictures) to STDOUT;
96 BEGIN ISOLATION LEVEL SERIALIZABLE;
97     CREATE TEMPORARY TABLE dupfri
98     ON COMMIT DROP
99     AS (
100         SELECT
101             DISTINCT ON (date, coor[0], coor[1], descr, filename, author) *
102             FROM pictures
103     );
104     TRUNCATE pictures;
105     INSERT INTO pictures (
106         SELECT *
107             FROM dupfri
108             ORDER BY date
109     );
110 COMMIT;
112 COPY (SELECT '======== Antall i pictures etter rensking: ' || count(*) from pictures) to STDOUT;
113 -- }}}
115 \i distupdate.sql