* /trunk/src/gpstools/postgres/create_views.sql
[gpstools.git] / postgres / update_things.sql
blob9971cdfba218a2cfd4b132f2c82e9846b21ef5f9
1 -- $Id$
3 -- Rund av veipunkter til seks desimaler -- {{{
4 \echo
5 \echo ================ Rund av veipunkter til seks desimaler ================
7 UPDATE wayp SET coor = point(
8     round(coor[0]::numeric, 6),
9     round(coor[1]::numeric, 6)
11 -- }}}
13 -- Fjern duplikater i wayp -- {{{
14 \echo
15 \echo ================ Fjern duplikater i wayp ================
17 SELECT count(*)
18     AS "Antall i wayp før rensking"
19     FROM wayp;
21 BEGIN ISOLATION LEVEL SERIALIZABLE;
22     CREATE TEMPORARY TABLE dupfri
23     ON COMMIT DROP
24     AS (
25         SELECT
26             DISTINCT ON (
27                 coor[0], coor[1],
28                 name,
29                 ele,
30                 type,
31                 time,
32                 cmt,
33                 descr,
34                 src,
35                 sym
36             ) *
37             FROM wayp
38     );
39     TRUNCATE wayp;
40     INSERT INTO wayp (
41         SELECT *
42             FROM dupfri
43             ORDER BY name
44     );
45 COMMIT;
47 SELECT count(*)
48     AS "Antall i wayp etter rensking"
49     FROM wayp;
50 -- }}}
52 -- Fjern duplikater i events -- {{{
53 \echo
54 \echo ================ Fjern duplikater i events ================
56 SELECT count(*)
57     AS "Antall i events før rensking"
58     FROM events;
60 BEGIN ISOLATION LEVEL SERIALIZABLE;
61     CREATE TEMPORARY TABLE dupfri
62     ON COMMIT DROP
63     AS (
64         SELECT
65             DISTINCT ON (date, coor[0], coor[1], descr) *
66             FROM events
67     );
68     TRUNCATE events;
69     INSERT INTO events (
70         SELECT *
71             FROM dupfri
72             ORDER BY date
73     );
74 COMMIT;
76 SELECT count(*)
77     AS "Antall i events etter rensking"
78     FROM events;
79 -- }}}
81 -- Oppdater koordinater for bilder -- {{{
82 \echo
83 \echo ================ Oppdater koordinater for bilder ================
85 UPDATE pictures SET coor = findpos(date)
86     WHERE coor IS NULL;
87 -- }}}
89 -- Rund av bildekoordinater -- {{{
90 \echo ================ Rund av bildekoordinater ================
91 UPDATE pictures SET coor = point(
92     round(coor[0]::numeric, 6),
93     round(coor[1]::numeric, 6)
95 -- }}}
97 -- Fjern duplikater i pictures -- {{{
98 \echo
99 \echo ================ Fjern duplikater i pictures ================
101 SELECT count(*)
102     AS "Antall i pictures før rensking"
103     FROM pictures;
105 BEGIN ISOLATION LEVEL SERIALIZABLE;
106     CREATE TEMPORARY TABLE dupfri
107     ON COMMIT DROP
108     AS (
109         SELECT
110             DISTINCT ON (date, coor[0], coor[1], descr, filename, author) *
111             FROM pictures
112     );
113     TRUNCATE pictures;
114     INSERT INTO pictures (
115         SELECT *
116             FROM dupfri
117             ORDER BY date
118     );
119 COMMIT;
121 SELECT count(*)
122     AS "Antall i pictures etter rensking"
123     FROM pictures;
124 -- }}}
126 \i distupdate.sql