Wikipedia:Elenchi generati offline/Redirect disambiguati

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

L'elenco contiene i redirect aventi parentesi nel titolo, cioè nella forma <titolo> (<disambiguazione>), che puntano <titolo>.

In certi casi vanno orfanizzati e quindi cancellati, a meno che sia davvero necessario spostare la voce puntata a "<titolo> (<disambiguazione>)" e creare una pagina di disambiguazione. Prima di procedere si consiglia di leggere Aiuto:Redirect#Correggi solo i collegamenti a redirect inutili e Discussioni Wikipedia:Elenchi generati offline/Redirect disambiguati#Non vanno necessariamente disorfanati.

ATTENZIONE: Ricordarsi che NON vanno cancellati i redirect disambiguati alle pagine di disambiguazione, come da Aiuto:Disambiguazione#Redirect.

Generazione dell'elenco[modifica wikitesto]

Per generare l'elenco è necessario creare una tabella temporanea di appoggio:

CREATE TABLE dis (
  p1 varbinary(255) not null, 
  p2 varbinary(255) not null
  );

La tabella va riempita con le query

INSERT INTO dis( 
  SELECT page_title, 
    SUBSTR(page_title, 1, CHAR_LENGTH(page_title)-LOCATE('(_', REVERSE(page_title))-1) as p2 
  FROM page 
  WHERE page_namespace=0 AND page_is_redirect = 1 
    AND page_title regexp '_\\([^)]+\\)$' 
  );
INSERT INTO dis( 
  SELECT page_title, 
    SUBSTR(page_title, 1, CHAR_LENGTH(page_title)-LOCATE('()', REVERSE(page_title))) as p2 
  FROM page 
  WHERE page_namespace=0 AND page_is_redirect = 1 
    AND page_title regexp '\\)\\([^)]+\\)$' 
  );

A questo punto l'elenco può essere generato con la query

SELECT CONCAT('*[[', p1, ']] -> [[', p2, ']]')
  FROM dis JOIN page ON p1 = page_title
    JOIN redirect ON page_id = rd_from
  WHERE page_namespace = 0 AND rd_namespace=0 AND rd_title = p2
  ORDER BY p1;

Elenco[modifica wikitesto]