<? /* * Prepare */ $sql[] = "DROP TABLE IF EXISTS tmp_pr"; $sql[] = " CREATE TABLE tmp_pr ( id bigint(20) NOT NULL default '0', formula longtext NOT NULL, nroout int(11) NOT NULL default '0', pr float NOT NULL default '0', PRIMARY KEY (id), KEY nroout (nroout) )"; /* * */ $sql[] = "CREATE TABLE tmp_nodanglins AS SELECT count( * ) as total, master FROM pagerank GROUP BY MASTER"; $sql[] = "ALTER TABLE `tmp_nodanglins` ADD PRIMARY KEY ( `master` ) "; /* * */ $sql[] = "CREATE TABLE tmp_unilist as (select distinct master as id from pagerank) union (select distinct slave as id from pagerank)"; $sql[] = "ALTER TABLE `tmp_unilist` ADD PRIMARY KEY ( `id` ) ;"; /* * */ $sql[] = "Insert into tmp_pr(id,nroout) select tmp_unilist.id, tmp_nodanglins.total from tmp_unilist left join tmp_nodanglins on (tmp_nodanglins.master = tmp_unilist.id)"; /* * This SQL command are executed when the PR calculation finish. */ $sql_finish[] = "DROP TABLE IF EXISTS PR_FINISHED"; $sql_finish[] = "CREATE TABLE `PR_FINISHED` ( `posicion` int(11) NOT NULL auto_increment, `id` int(11) NOT NULL default '0', `pagerank` float NOT NULL default '0', PRIMARY KEY (`posicion`), UNIQUE KEY `id` (`id`), KEY `pagerank` (`pagerank`) )"; $sql_finish[] = "INSERT INTO PR_FINISHED(id,pagerank) SELECT tmp_pr.id,tmp_pr.pr FROM tmp_pr ORDER BY tmp_pr.pr DESC"; $sql_finish[] = "DROP TABLE tmp_unilist;"; $sql_finish[] = "DROP TABLE tmp_pr;"; $sql_finish[] = "DROP TABLE tmp_nodanglins;"; ?>