Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 819 | Rev 882 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 819 Rev 828
1
/*
1
/*
2
Objectif: prendre les observations dont nom_sel_nn est défini
2
Objectif: prendre les observations dont nom_sel_nn est défini
3
(et donc dans laquelles les informations générées sont correctes)
3
(et donc dans laquelles les informations générées sont correctes)
4
et mettre à jour ces dernières à partir de la dernière version du référentiel
4
et mettre à jour ces dernières à partir de la dernière version du référentiel
5
(bdtfx et bdtxa).
5
(bdtfx et bdtxa).
6
*/
6
*/
7
 
7
 
8
--- la requête ---
8
--- la requête ---
9
/*
9
/*
10
-- SELECT id_observation, b.num_nom, CONCAT(b.nom_sci, ' ', b.auteur), b.num_taxonomique, b.famille
10
-- SELECT id_observation, b.num_nom, CONCAT(b.nom_sci, ' ', b.auteur), b.num_taxonomique, b.famille
11
SELECT id_observation, nom_ret, nom_ret_nn, nt, c.famille
11
SELECT id_observation, nom_ret, nom_ret_nn, nt, c.famille
12
   FROM `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`bdtfx_v1_01` b
12
   FROM `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTFX` b
13
   WHERE (
13
   WHERE (
14
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
14
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
15
        AND nom_referentiel like 'bdtfx%'
15
        AND nom_referentiel like 'bdtfx%'
16
        AND nom_sel_nn = num_nom
16
        AND nom_sel_nn = num_nom
17
       )
17
       )
18
   ORDER BY id_observation asc;
18
   ORDER BY id_observation asc;
19
*/
19
*/
20
 
20
 
21
--- l'update ---
21
--- l'update ---
22
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`bdtfx_v1_01` b SET
22
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTFX` b SET
23
       c.nom_ret = CONCAT(b.nom_sci, ' ', b.auteur),
23
       c.nom_ret = CONCAT(b.nom_sci, ' ', b.auteur),
24
       c.nom_ret_nn = b.num_nom,
24
       c.nom_ret_nn = b.num_nom,
25
       c.nt = b.num_taxonomique,
25
       c.nt = b.num_taxonomique,
26
       c.famille = b.famille
26
       c.famille = b.famille
27
   WHERE (
27
   WHERE (
28
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
28
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
29
        AND nom_referentiel like 'bdtfx%'
29
        AND nom_referentiel like 'bdtfx%'
30
        AND nom_sel_nn = num_nom
30
        AND nom_sel_nn = num_nom
31
        AND LOWER(c.famille) = LOWER(b.famille)
31
        AND LOWER(c.famille) = LOWER(b.famille)
32
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(b.nom_sci, ' ', 1) 
32
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(b.nom_sci, ' ', 1) 
33
       );
33
       );
34
-- 31739 sans les restrictions sur famille et SUBSTRING_INDEX()
34
-- 31739 sans les restrictions sur famille et SUBSTRING_INDEX()
35
-- 31524 avec les restrictions sur famille et SUBSTRING_INDEX()
35
-- 31524 avec les restrictions sur famille et SUBSTRING_INDEX()
36
 
36
 
37
 
37
 
38
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`bdtxa_v1_00` a SET
38
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`TABLEBDTXA` a SET
39
       c.nom_ret = CONCAT(a.nom_sci, ' ', a.auteur),
39
       c.nom_ret = CONCAT(a.nom_sci, ' ', a.auteur),
40
       c.nom_ret_nn = a.num_nom,
40
       c.nom_ret_nn = a.num_nom,
41
       c.nt = a.num_tax,
41
       c.nt = a.num_tax,
42
       c.famille = a.famille
42
       c.famille = a.famille
43
   WHERE (
43
   WHERE (
44
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
44
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
45
        AND nom_referentiel like 'bdtxa%'
45
        AND nom_referentiel like 'bdtxa%'
46
        AND nom_sel_nn = num_nom
46
        AND nom_sel_nn = num_nom
47
        AND LOWER(c.famille) = LOWER(a.famille)
47
        AND LOWER(c.famille) = LOWER(a.famille)
48
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(a.nom_sci, ' ', 1) 
48
        AND SUBSTRING_INDEX(c.nom_sel, ' ', 1) = SUBSTRING_INDEX(a.nom_sci, ' ', 1) 
49
       );
49
       );
50
-- 49 sans les restrictions sur famille et SUBSTRING_INDEX()
50
-- 49 sans les restrictions sur famille et SUBSTRING_INDEX()
51
-- 47 avec les restrictions sur famille et SUBSTRING_INDEX()
51
-- 47 avec les restrictions sur famille et SUBSTRING_INDEX()
52
 
52
 
53
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`isfan_v2013` a SET
53
UPDATE `BASEEDIT`.`cel_obs` c, `BASESOURCE`.`isfan_v2013` a SET
54
       c.nom_ret = CONCAT(a.nom_sci, ' ', a.auteur),
54
       c.nom_ret = CONCAT(a.nom_sci, ' ', a.auteur),
55
       c.nom_ret_nn = a.num_nom,
55
       c.nom_ret_nn = a.num_nom,
56
       c.nt = a.num_taxonomique,
56
       c.nt = a.num_taxonomique,
57
       c.famille = a.famille
57
       c.famille = a.famille
58
   WHERE (
58
   WHERE (
59
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
59
        nom_sel_nn IS NOT NULL AND nom_sel_nn != 0
60
        AND nom_referentiel like 'isfan%'
60
        AND nom_referentiel like 'isfan%'
61
        AND nom_sel_nn = num_nom
61
        AND nom_sel_nn = num_nom
62
       );
62
       );
63
 
63
 
64
 
64
 
65
/*
65
/*
66
Pour observer les différences:
66
Pour observer les différences:
67
wdiff -w '$(tput bold;tput setaf 1)' -x '$(tput sgr0)' -y '$(tput bold;tput setaf 2)' -z '$(tput sgr0)'  pre.log post.log | \
67
wdiff -w '$(tput bold;tput setaf 1)' -x '$(tput sgr0)' -y '$(tput bold;tput setaf 2)' -z '$(tput sgr0)'  pre.log post.log | \
68
      ansi2html.sh --palette=solarized | \
68
      ansi2html.sh --palette=solarized | \
69
      sed '/^[0-9]/{/span/!d}' > diff.html
69
      sed '/^[0-9]/{/span/!d}' > diff.html
70
 
70
 
71
# extract les familles ayant changé: sed '/^[0-9]/{/<\/span>$/!d}'
71
# extract les familles ayant changé: sed '/^[0-9]/{/<\/span>$/!d}'
72
# lowercase toutes les familles: awk '{ NF=tolower($NF); print }'
72
# lowercase toutes les familles: awk '{ NF=tolower($NF); print }'
73
 
73
 
74
 
74
 
75
# filtre sed: changements de famille "normaux"
75
# filtre sed: changements de famille "normaux"
76
/aceraceae.*sapindaceae/d
76
/aceraceae.*sapindaceae/d
77
/scrophulariaceae.*plantaginaceae/d
77
/scrophulariaceae.*plantaginaceae/d
78
/globulariaceae.*plantaginaceae/d
78
/globulariaceae.*plantaginaceae/d
79
/Famille inconnue.*null/d
79
/Famille inconnue.*null/d
80
 
80
 
81
# changement "anormaux"
81
# changement "anormaux"
82
/rosaceae.*caprifoliaceae/d
82
/rosaceae.*caprifoliaceae/d
83
/valerianaceae.*caprifoliaceae/d
83
/valerianaceae.*caprifoliaceae/d
84
*/
84
*/