Index: xmlsitemap_node/xmlsitemap_node.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap_node/xmlsitemap_node.install,v retrieving revision 1.1.2.12 diff -u -p -r1.1.2.12 xmlsitemap_node.install --- xmlsitemap_node/xmlsitemap_node.install 8 Jan 2008 05:13:27 -0000 1.1.2.12 +++ xmlsitemap_node/xmlsitemap_node.install 19 Jan 2008 14:05:47 -0000 @@ -107,6 +107,7 @@ function xmlsitemap_node_enable() { break; } db_query(_xmlsitemap_node_insert_query()); + db_query(_xmlsitemap_node_updatepid_query()); xmlsitemap_update_sitemap(); } @@ -115,27 +116,41 @@ function xmlsitemap_node_enable() { * @return Query string */ function _xmlsitemap_node_insert_query() { - $query = " + return " INSERT INTO {xmlsitemap_node} (nid, pid, last_changed, last_comment, previous_comment) - SELECT n.nid, MAX(ua.pid), n.changed, s.last_comment_timestamp, MAX(c.timestamp) FROM {node} n + SELECT n.nid, 0, n.changed, s.last_comment_timestamp, MAX(c.timestamp) FROM {node} n LEFT JOIN {node_comment_statistics} s ON s.nid = n.nid LEFT OUTER JOIN {comments} c ON c.nid = n.nid AND c.timestamp < s.last_comment_timestamp - LEFT JOIN {xmlsitemap_node} xn ON xn.nid = n.nid"; + LEFT JOIN {xmlsitemap_node} xn ON xn.nid = n.nid + WHERE xn.nid IS NULL + GROUP BY n.nid, n.changed, s.last_comment_timestamp + "; +} + +/** + * Build SQL query for updating pids in xmlsitemap_node table. + * @return Query string + */ +function _xmlsitemap_node_updatepid_query() { switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = CONCAT('node/', n.nid)"; + $query = " + UPDATE {xmlsitemap_node} xn INNER JOIN {url_alias} ua ON + ua.src = CONCAT('node/', xn.nid) + SET xn.pid = ua.pid + WHERE xn.pid = 0 + "; break; case 'pgsql': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = 'node/' || n.nid"; + $query = " + UPDATE {xmlsitemap_node} xn + SET pid = {url_alias}.pid + FROM {url_alias} ua + WHERE ua.src = 'node/' || xn.nid AND xn.pid = 0 + "; break; } - $query .= " - WHERE xn.nid IS NULL - GROUP BY n.nid, n.changed, s.last_comment_timestamp - "; return $query; } Index: xmlsitemap_node/xmlsitemap_node.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module,v retrieving revision 1.1.2.15 diff -u -p -r1.1.2.15 xmlsitemap_node.module --- xmlsitemap_node/xmlsitemap_node.module 8 Jan 2008 05:13:28 -0000 1.1.2.15 +++ xmlsitemap_node/xmlsitemap_node.module 19 Jan 2008 14:05:48 -0000 @@ -366,27 +366,34 @@ function xmlsitemap_node_cron() { if (db_result(db_query_range("SELECT COUNT(*) FROM {node} n LEFT JOIN {xmlsitemap_node} xn ON xn.nid = n.nid WHERE xn.nid IS NULL", 0, 1))) { $query = " INSERT INTO {xmlsitemap_node} (nid, pid, last_changed, last_comment, previous_comment) - SELECT n.nid, MAX(ua.pid), n.changed, s.last_comment_timestamp, MAX(c.timestamp) FROM {node} n + SELECT n.nid, 0, n.changed, s.last_comment_timestamp, MAX(c.timestamp) FROM {node} n LEFT JOIN {node_comment_statistics} s ON s.nid = n.nid LEFT OUTER JOIN {comments} c ON c.nid = n.nid AND c.timestamp < s.last_comment_timestamp - LEFT JOIN {xmlsitemap_node} xn ON xn.nid = n.nid"; + LEFT JOIN {xmlsitemap_node} xn ON xn.nid = n.nid + WHERE xn.nid IS NULL + GROUP BY n.nid, n.changed, s.last_comment_timestamp + "; + db_query($query); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = CONCAT('node/', n.nid)"; + $query = " + UPDATE {xmlsitemap_node} xn INNER JOIN {url_alias} ua ON + ua.src = CONCAT('node/', xn.nid) + SET xn.pid = ua.pid + WHERE xn.pid = 0 + "; break; case 'pgsql': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = 'node/' || n.nid"; + $query = " + UPDATE {xmlsitemap_node} xn + SET pid = {url_alias}.pid + FROM {url_alias} ua + WHERE {url_alias}.src = 'node/' || xn.nid AND xn.pid = 0 + "; break; } - $query .= " - WHERE xn.nid IS NULL - GROUP BY n.nid, n.changed, s.last_comment_timestamp - "; db_query($query); xmlsitemap_update_sitemap(); } } - Index: xmlsitemap_term/xmlsitemap_term.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap_term/xmlsitemap_term.install,v retrieving revision 1.1.2.3 diff -u -p -r1.1.2.3 xmlsitemap_term.install --- xmlsitemap_term/xmlsitemap_term.install 6 Dec 2007 17:22:21 -0000 1.1.2.3 +++ xmlsitemap_term/xmlsitemap_term.install 19 Jan 2008 14:05:48 -0000 @@ -40,23 +40,29 @@ function xmlsitemap_term_enable() { } $query = " INSERT INTO {xmlsitemap_term} (tid, last_changed, pid) - SELECT td.tid, %d, ua.pid FROM {term_data} td - LEFT JOIN {xmlsitemap_term} xt ON xt.tid = td.tid"; + SELECT td.tid, %d, 0 FROM {term_data} td + LEFT JOIN {xmlsitemap_term} xt ON xt.tid = td.tid + WHERE xt.tid IS NULL + "; + db_query($query, time()); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = CONCAT('taxonomy/term/', td.tid) OR ua.src = CONCAT('forum/', td.tid)"; + $query = " + UPDATE {xmlsitemap_term} xt INNER JOIN {url_alias} ua ON + ua.src = CONCAT('taxonomy/term/', xt.tid) OR ua.src = CONCAT('forum/', xt.tid) + SET xt.pid = ua.pid + "; break; case 'pgsql': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = 'taxonomy/term/' || td.tid OR ua.src = 'forum/' || td.tid"; + $query = " + UPDATE {xmlsitemap_term} xt + SET pid = {url_alias}.pid + FROM {url_alias} ua WHERE ua.src = 'taxonomy/term/' || xt.tid OR ua.src = 'forum/' || xt.tid + "; break; } - $query .= " - WHERE xt.tid IS NULL - "; - db_query($query, time()); + db_query($query); xmlsitemap_update_sitemap(); } Index: xmlsitemap_term/xmlsitemap_term.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap_term/xmlsitemap_term.module,v retrieving revision 1.1.2.8 diff -u -p -r1.1.2.8 xmlsitemap_term.module --- xmlsitemap_term/xmlsitemap_term.module 13 Dec 2007 02:18:30 -0000 1.1.2.8 +++ xmlsitemap_term/xmlsitemap_term.module 19 Jan 2008 14:05:48 -0000 @@ -232,23 +232,29 @@ function xmlsitemap_term_cron() { if (db_result(db_query_range("SELECT COUNT(*) FROM {term_data} td LEFT JOIN {xmlsitemap_term} xt ON xt.tid = td.tid WHERE xt.tid IS NULL", 0, 1))) { $query = " INSERT INTO {xmlsitemap_term} (tid, last_changed, pid) - SELECT td.tid, %d, ua.pid FROM {term_data} td - LEFT JOIN {xmlsitemap_term} xt ON xt.tid = td.tid"; + SELECT td.tid, %d, 0 FROM {term_data} td + LEFT JOIN {xmlsitemap_term} xt ON xt.tid = td.tid + WHERE xt.tid IS NULL + "; + db_query($query, time()); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = CONCAT('taxonomy/term/', td.tid) OR ua.src = CONCAT('forum/', td.tid)"; + $query = " + UPDATE {xmlsitemap_term} xt INNER JOIN {url_alias} ua ON + ua.src = CONCAT('taxonomy/term/', xt.tid) OR ua.src = CONCAT('forum/', xt.tid) + SET xt.pid = ua.pid + "; break; case 'pgsql': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = 'taxonomy/term/' || td.tid OR ua.src = 'forum/' || td.tid"; + $query = " + UPDATE {xmlsitemap_term} xt + SET pid = {url_alias}.pid + FROM {url_alias} ua WHERE ua.src = 'taxonomy/term/' || xt.tid OR ua.src = 'forum/' || xt.tid + "; break; } - $query .= " - WHERE xt.tid IS NULL - "; - db_query($query, time()); + db_query($query); xmlsitemap_update_sitemap(); } } Index: xmlsitemap_user/xmlsitemap_user.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap_user/xmlsitemap_user.install,v retrieving revision 1.1.2.4 diff -u -p -r1.1.2.4 xmlsitemap_user.install --- xmlsitemap_user/xmlsitemap_user.install 6 Dec 2007 17:22:22 -0000 1.1.2.4 +++ xmlsitemap_user/xmlsitemap_user.install 19 Jan 2008 14:05:48 -0000 @@ -50,23 +50,29 @@ function xmlsitemap_user_enable() { } $query = " INSERT INTO {xmlsitemap_user} (uid, last_changed, pid) - SELECT u.uid, u.created, ua.pid FROM {users} u - LEFT JOIN {xmlsitemap_user} xu ON xu.uid = u.uid"; + SELECT u.uid, u.created, 0 FROM {users} u + LEFT JOIN {xmlsitemap_user} xu ON xu.uid = u.uid + WHERE u.uid <> 0 AND xu.uid IS NULL + "; + db_query($query, time()); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = CONCAT('user/', u.uid)"; + $query = " + UPDATE {xmlsitemap_user} xu INNER JOIN {url_alias} ua ON + ua.src = CONCAT('user/', xu.uid) + SET xu.pid = ua.pid + "; break; case 'pgsql': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = 'user/' || u.uid"; + $query = " + UPDATE {xmlsitemap_user} xu + SET pid = {url_alias}.pid + FROM {url_alias} ua WHERE ua.src = 'user/' || xu.uid + "; break; } - $query .= " - WHERE u.uid <> 0 AND xu.uid IS NULL - "; - db_query($query, time()); + db_query($query); db_query(" INSERT INTO {xmlsitemap_user_role} (rid) SELECT r.rid FROM {role} r Index: xmlsitemap_user/xmlsitemap_user.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/xmlsitemap/xmlsitemap_user/xmlsitemap_user.module,v retrieving revision 1.1.2.10 diff -u -p -r1.1.2.10 xmlsitemap_user.module --- xmlsitemap_user/xmlsitemap_user.module 10 Dec 2007 03:15:12 -0000 1.1.2.10 +++ xmlsitemap_user/xmlsitemap_user.module 19 Jan 2008 14:05:48 -0000 @@ -240,24 +240,29 @@ function xmlsitemap_user_cron() { if (db_result(db_query_range("SELECT COUNT(*) FROM {users} u LEFT JOIN {xmlsitemap_user} xu ON xu.uid = u.uid WHERE u.uid <> 0 AND xu.uid IS NULL", 0, 1))) { $query = " INSERT INTO {xmlsitemap_user} (uid, last_changed, pid) - SELECT u.uid, u.created, ua.pid FROM {users} u - LEFT JOIN {xmlsitemap_user} xu ON xu.uid = u.uid"; + SELECT u.uid, u.created, 0 FROM {users} u + LEFT JOIN {xmlsitemap_user} xu ON xu.uid = u.uid + WHERE u.uid <> 0 AND xu.uid IS NULL + "; + db_query($query, time()); switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = CONCAT('user/', u.uid)"; + $query = " + UPDATE {xmlsitemap_user} xu INNER JOIN {url_alias} ua ON + ua.src = CONCAT('user/', xu.uid) + SET xu.pid = ua.pid + "; break; case 'pgsql': - $query .= " - LEFT JOIN {url_alias} ua ON ua.src = 'user/' || u.uid"; + $query = " + UPDATE {xmlsitemap_user} xu + SET pid = {url_alias}.pid + FROM {url_alias} ua WHERE ua.src = 'user/' || xu.uid + "; break; } - $query .= " - WHERE u.uid <> 0 AND xu.uid IS NULL - "; - db_query($query, time()); + db_query($query); xmlsitemap_update_sitemap(); } } -