Commit 94d6b9ab authored by Dries's avatar Dries

- Patch #29326 by Morbus: optimized performance of URL aliasing for newly installed sites.

  There are a number of small optimizations we could add; like, we should never do more lookup queries than the number of unique URL aliases in the database.  When the size of the static cache equals the number of unique URL aliases in the database, we can stop doing lookups.  I think this could be implemented with a 2-line change.  Takers?
parent 9e007c11
......@@ -863,8 +863,6 @@ INSERT INTO variable (name,value) VALUES ('filter_html_1','i:1;');
INSERT INTO locales_meta (locale, name, enabled, isdefault) VALUES ('en', 'English', '1', '1');
INSERT INTO url_alias (src, dst) VALUES ('node/feed', 'rss.xml');
INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
INSERT INTO menu VALUES (2, 0, '', 'Primary links', '', 0, 115);
......
......@@ -856,8 +856,6 @@ INSERT INTO variable (name,value) VALUES ('filter_html_1','i:1;');
INSERT INTO locales_meta (locale, name, enabled, isdefault) VALUES ('en', 'English', '1', '1');
INSERT INTO url_alias (src, dst) VALUES ('node/feed', 'rss.xml');
INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
INSERT INTO menu VALUES (2, 0, '', 'Primary links', '', 0, 115);
......
......@@ -4,7 +4,7 @@
function system_version($type) {
switch ($type) {
case SCHEMA:
return 155;
return 157;
case SCHEMA_MIN:
return 110;
......@@ -1100,3 +1100,10 @@ function system_update_156() {
system_themes();
return array();
}
function system_update_157() {
$ret = array();
$ret[] = update_sql("DELETE FROM {url_alias} WHERE src = 'node/feed' AND dst = 'rss.xml'");
$ret[] = update_sql("INSERT INTO {url_alias} (src, dst) VALUES ('rss.xml', 'node/feed')");
}
......@@ -886,6 +886,10 @@ function node_menu($may_cache) {
'access' => user_access('access content'),
'type' => MENU_ITEM_GROUPING,
'weight' => 1);
$items[] = array('path' => 'rss.xml', 'title' => t('rss feed'),
'callback' => 'node_feed',
'access' => user_access('access content'),
'type' => MENU_CALLBACK);
}
else {
if (arg(0) == 'node' && is_numeric(arg(1))) {
......@@ -1375,7 +1379,7 @@ function node_block($op = 'list', $delta = 0) {
}
else if ($op == 'view') {
$block['subject'] = t('Syndicate');
$block['content'] = theme('xml_icon', url('node/feed'));
$block['content'] = theme('xml_icon', url('rss.xml'));
return $block;
}
......@@ -1916,7 +1920,7 @@ function node_page_default() {
drupal_add_link(array('rel' => 'alternate',
'type' => 'application/rss+xml',
'title' => t('RSS'),
'href' => url('node/feed', NULL, NULL, TRUE)));
'href' => url('rss.xml', NULL, NULL, TRUE)));
$output = '';
while ($node = db_fetch_object($result)) {
......@@ -1947,9 +1951,6 @@ function node_page() {
}
switch ($op) {
case 'feed':
node_feed();
return;
case 'view':
if (is_numeric(arg(1))) {
$node = node_load(arg(1), $_GET['revision']);
......
......@@ -886,6 +886,10 @@ function node_menu($may_cache) {
'access' => user_access('access content'),
'type' => MENU_ITEM_GROUPING,
'weight' => 1);
$items[] = array('path' => 'rss.xml', 'title' => t('rss feed'),
'callback' => 'node_feed',
'access' => user_access('access content'),
'type' => MENU_CALLBACK);
}
else {
if (arg(0) == 'node' && is_numeric(arg(1))) {
......@@ -1375,7 +1379,7 @@ function node_block($op = 'list', $delta = 0) {
}
else if ($op == 'view') {
$block['subject'] = t('Syndicate');
$block['content'] = theme('xml_icon', url('node/feed'));
$block['content'] = theme('xml_icon', url('rss.xml'));
return $block;
}
......@@ -1916,7 +1920,7 @@ function node_page_default() {
drupal_add_link(array('rel' => 'alternate',
'type' => 'application/rss+xml',
'title' => t('RSS'),
'href' => url('node/feed', NULL, NULL, TRUE)));
'href' => url('rss.xml', NULL, NULL, TRUE)));
$output = '';
while ($node = db_fetch_object($result)) {
......@@ -1947,9 +1951,6 @@ function node_page() {
}
switch ($op) {
case 'feed':
node_feed();
return;
case 'view':
if (is_numeric(arg(1))) {
$node = node_load(arg(1), $_GET['revision']);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment