Property changes on: branches/querypage-work2/phase3/maintenance/cleanupTable.inc |
___________________________________________________________________ |
Name: svn:mergeinfo |
1 | 1 | - /branches/REL1_15/phase3/maintenance/cleanupTable.inc:51646 |
/branches/querypage-work/phase3/maintenance/cleanupTable.inc:49084,49599,49631,49951,50105,50378 |
/branches/wmf-deployment/maintenance/cleanupTable.inc:56715 |
2 | 2 | + /branches/REL1_15/phase3/maintenance/cleanupTable.inc:51646 |
/branches/querypage-work/phase3/maintenance/cleanupTable.inc:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/wmf-deployment/maintenance/cleanupTable.inc:56715 |
Property changes on: branches/querypage-work2/phase3/skins/common/jquery.js |
___________________________________________________________________ |
Name: svn:mergeinfo |
3 | 3 | - /branches/querypage-work/phase3/skins/common/jquery.js:49084,49599,49631,49951,50105,50378 |
4 | 4 | + /branches/querypage-work/phase3/skins/common/jquery.js:49084,49599,49631,49951,50105,50378,50436-50437 |
Property changes on: branches/querypage-work2/phase3/skins/common/jquery.min.js |
___________________________________________________________________ |
Name: svn:mergeinfo |
5 | 5 | - /branches/querypage-work/phase3/skins/common/jquery.min.js:49084,49599,49631,49951,50105,50378 |
6 | 6 | + /branches/querypage-work/phase3/skins/common/jquery.min.js:49084,49599,49631,49951,50105,50378,50436-50437 |
Property changes on: branches/querypage-work2/phase3/includes/OutputPage.php |
___________________________________________________________________ |
Name: svn:mergeinfo |
7 | 7 | - /branches/REL1_15/phase3/includes/OutputPage.php:51646 |
/branches/querypage-work/phase3/includes/OutputPage.php:49084,49599,49631,49951,50105,50378 |
/branches/wmf-deployment/includes/OutputPage.php:53381,57468 |
8 | 8 | + /branches/REL1_15/phase3/includes/OutputPage.php:51646 |
/branches/querypage-work/phase3/includes/OutputPage.php:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/wmf-deployment/includes/OutputPage.php:53381,57468 |
Property changes on: branches/querypage-work2/phase3/includes/api |
___________________________________________________________________ |
Name: svn:mergeinfo |
9 | 9 | - /branches/REL1_15/phase3/includes/api:51646 |
/branches/REL1_16/phase3/includes/api:63621-63636 |
/branches/querypage-work/phase3/includes/api:49084,49599,49631,49951,50105,50378 |
/branches/sqlite/includes/api:58211-58321 |
/branches/wmf-deployment/includes/api:53381,59952 |
10 | 10 | + /branches/REL1_15/phase3/includes/api:51646 |
/branches/REL1_16/phase3/includes/api:63621-63636 |
/branches/querypage-work/phase3/includes/api:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/sqlite/includes/api:58211-58321 |
/branches/wmf-deployment/includes/api:53381,59952 |
Property changes on: branches/querypage-work2/phase3/includes/ChangesList.php |
___________________________________________________________________ |
Name: svn:mergeinfo |
11 | 11 | - /branches/REL1_15/phase3/includes/ChangesList.php:51646 |
/branches/querypage-work/phase3/includes/ChangesList.php:49084,49599,49631,49951,50105,50378 |
/branches/wmf-deployment/includes/ChangesList.php:53381,57589 |
12 | 12 | + /branches/REL1_15/phase3/includes/ChangesList.php:51646 |
/branches/querypage-work/phase3/includes/ChangesList.php:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/wmf-deployment/includes/ChangesList.php:53381,57589 |
Property changes on: branches/querypage-work2/phase3/includes/ConfEditor.php |
___________________________________________________________________ |
Name: svn:mergeinfo |
13 | 13 | - /branches/querypage-work/phase3/includes/ConfEditor.php:49084,49599,49631,49951,50105,50378 |
14 | 14 | + /branches/querypage-work/phase3/includes/ConfEditor.php:49084,49599,49631,49951,50105,50378,50436-50437 |
Index: branches/querypage-work2/phase3/includes/specials/SpecialDisambiguations.php |
— | — | @@ -147,7 +147,23 @@ |
148 | 148 | function sortDescending() { |
149 | 149 | return false; |
150 | 150 | } |
| 151 | + |
| 152 | + /** |
| 153 | + * Fetch links and cache their existence |
| 154 | + */ |
| 155 | + function preprocessResults( $db, $res ) { |
| 156 | + $batch = new LinkBatch; |
| 157 | + while ( $row = $db->fetchObject( $res ) ) |
| 158 | + $batch->add( $row->namespace, $row->title ); |
| 159 | + $batch->execute(); |
151 | 160 | |
| 161 | + // Back to start for display |
| 162 | + if ( $db->numRows( $res ) > 0 ) |
| 163 | + // If there are no rows we get an error seeking. |
| 164 | + $db->dataSeek( $res, 0 ); |
| 165 | + } |
| 166 | + |
| 167 | + |
152 | 168 | function formatResult( $skin, $result ) { |
153 | 169 | global $wgContLang; |
154 | 170 | $title = Title::newFromID( $result->value ); |
Index: branches/querypage-work2/phase3/includes/specials/SpecialBrokenRedirects.php |
— | — | @@ -16,8 +16,10 @@ |
17 | 17 | return 'BrokenRedirects'; |
18 | 18 | } |
19 | 19 | |
| 20 | + // inexpensive? |
20 | 21 | function isExpensive() { return true; } |
21 | 22 | function isSyndicated() { return false; } |
| 23 | + function sortDescending() { return false; } |
22 | 24 | |
23 | 25 | function getPageHeader() { |
24 | 26 | return wfMsgExt( 'brokenredirectstext', array( 'parse' ) ); |
— | — | @@ -46,8 +48,7 @@ |
47 | 49 | } |
48 | 50 | |
49 | 51 | function getOrderFields() { |
50 | | - // FIXME: really? |
51 | | - return array (); |
| 52 | + return array ( 'rd_namespace', 'rd_title', 'rd_from' ); |
52 | 53 | } |
53 | 54 | |
54 | 55 | function formatResult( $skin, $result ) { |
Index: branches/querypage-work2/phase3/includes/specials/SpecialUnwatchedpages.php |
— | — | @@ -16,6 +16,7 @@ |
17 | 17 | class UnwatchedpagesPage extends QueryPage { |
18 | 18 | |
19 | 19 | function getName() { return 'Unwatchedpages'; } |
| 20 | + // inexpensive? |
20 | 21 | function isExpensive() { return true; } |
21 | 22 | function isSyndicated() { return false; } |
22 | 23 | |
— | — | @@ -36,6 +37,9 @@ |
37 | 38 | } |
38 | 39 | |
39 | 40 | function sortDescending() { return false; } |
| 41 | + |
| 42 | + function getOrderFields() { |
| 43 | + return array( 'page_namespace', 'page_title' ); |
40 | 44 | |
41 | 45 | function formatResult( $skin, $result ) { |
42 | 46 | global $wgContLang; |
Index: branches/querypage-work2/phase3/includes/specials/SpecialLonelypages.php |
— | — | @@ -22,6 +22,7 @@ |
23 | 23 | return false; |
24 | 24 | } |
25 | 25 | |
| 26 | + // inexpensive? |
26 | 27 | function isExpensive() { |
27 | 28 | return true; |
28 | 29 | } |
— | — | @@ -49,6 +50,15 @@ |
50 | 51 | 'tl_title = page_title' ) ) ) |
51 | 52 | ); |
52 | 53 | } |
| 54 | + |
| 55 | + function getOrderFields() { |
| 56 | + // For some crazy reason ordering by a constant |
| 57 | + // causes a filesort |
| 58 | + if( count( MWNamespace::getContentNamespaces() ) > 1 ) |
| 59 | + return array( 'page_namespace', 'page_title' ); |
| 60 | + else |
| 61 | + return array( 'page_title' ); |
| 62 | + } |
53 | 63 | } |
54 | 64 | |
55 | 65 | /** |
Index: branches/querypage-work2/phase3/includes/specials/SpecialUncategorizedpages.php |
— | — | @@ -20,6 +20,7 @@ |
21 | 21 | return false; |
22 | 22 | } |
23 | 23 | |
| 24 | + // inexpensive? |
24 | 25 | function isExpensive() { |
25 | 26 | return true; |
26 | 27 | } |
— | — | @@ -40,6 +41,14 @@ |
41 | 42 | 'LEFT JOIN', 'cl_from = page_id' ) ) |
42 | 43 | ); |
43 | 44 | } |
| 45 | + |
| 46 | + function getOrderFields() { |
| 47 | + // For some crazy reason ordering by a constant |
| 48 | + // causes a filesort |
| 49 | + if( $this->requestedNamespace === false && count( MWNamespace::getContentNamespaces() ) > 1 ) |
| 50 | + return array( 'page_namespace', 'page_title' ); |
| 51 | + return array( 'page_title' ); |
| 52 | + } |
44 | 53 | } |
45 | 54 | |
46 | 55 | /** |
Index: branches/querypage-work2/phase3/includes/specials/SpecialMostlinkedtemplates.php |
— | — | @@ -84,7 +84,7 @@ |
85 | 85 | * @return String |
86 | 86 | */ |
87 | 87 | public function formatResult( $skin, $result ) { |
88 | | - $title = Title::makeTitleSafe( $result->namespace, $result->title ); |
| 88 | + $title = Title::makeTitle( $result->namespace, $result->title ); |
89 | 89 | |
90 | 90 | return wfSpecialList( |
91 | 91 | $skin->link( $title ), |
Index: branches/querypage-work2/phase3/includes/specials/SpecialUnusedcategories.php |
— | — | @@ -9,6 +9,7 @@ |
10 | 10 | */ |
11 | 11 | class UnusedCategoriesPage extends QueryPage { |
12 | 12 | |
| 13 | + // inexpensive? |
13 | 14 | function isExpensive() { return true; } |
14 | 15 | |
15 | 16 | function getName() { |
— | — | @@ -35,7 +36,7 @@ |
36 | 37 | |
37 | 38 | function formatResult( $skin, $result ) { |
38 | 39 | $title = Title::makeTitle( NS_CATEGORY, $result->title ); |
39 | | - return $skin->link( $title, $title->getText() ); |
| 40 | + return $skin->makeKnownLinkObj( $title, $title->getText() ); |
40 | 41 | } |
41 | 42 | } |
42 | 43 | |
Index: branches/querypage-work2/phase3/includes/specials/SpecialShortpages.php |
— | — | @@ -15,9 +15,9 @@ |
16 | 16 | return 'Shortpages'; |
17 | 17 | } |
18 | 18 | |
| 19 | + // inexpensive? |
19 | 20 | /** |
20 | 21 | * This query is indexed as of 1.5 |
21 | | - * FIXME: Mark as inexpensive |
22 | 22 | */ |
23 | 23 | function isExpensive() { |
24 | 24 | return true; |
— | — | @@ -60,7 +60,7 @@ |
61 | 61 | global $wgLang, $wgContLang; |
62 | 62 | $dm = $wgContLang->getDirMark(); |
63 | 63 | |
64 | | - $title = Title::makeTitleSafe( $result->namespace, $result->title ); |
| 64 | + $title = Title::makeTitle( $result->namespace, $result->title ); |
65 | 65 | if ( !$title ) { |
66 | 66 | return '<!-- Invalid title ' . htmlspecialchars( "{$result->namespace}:{$result->title}" ). '-->'; |
67 | 67 | } |
— | — | @@ -75,9 +75,9 @@ |
76 | 76 | : $skin->linkKnown( $title ); |
77 | 77 | $size = wfMsgExt( 'nbytes', array( 'parsemag', 'escape' ), $wgLang->formatNum( htmlspecialchars( $result->value ) ) ); |
78 | 78 | |
79 | | - return $title->exists() |
80 | | - ? "({$hlink}) {$dm}{$plink} {$dm}[{$size}]" |
81 | | - : "<s>({$hlink}) {$dm}{$plink} {$dm}[{$size}]</s>"; |
| 79 | + return ($this->isCached() && !$title->exists()) |
| 80 | + ? "<s>({$hlink}) {$dm}{$plink} {$dm}[{$size}]</s>" |
| 81 | + : "({$hlink}) {$dm}{$plink} {$dm}[{$size}]"; |
82 | 82 | } |
83 | 83 | } |
84 | 84 | |
Index: branches/querypage-work2/phase3/includes/specials/SpecialUnusedtemplates.php |
— | — | @@ -14,6 +14,7 @@ |
15 | 15 | class UnusedtemplatesPage extends QueryPage { |
16 | 16 | |
17 | 17 | function getName() { return( 'Unusedtemplates' ); } |
| 18 | + // inexpensive? |
18 | 19 | function isExpensive() { return true; } |
19 | 20 | function isSyndicated() { return false; } |
20 | 21 | function sortDescending() { return false; } |
— | — | @@ -23,7 +24,7 @@ |
24 | 25 | 'tables' => array ( 'page', 'templatelinks' ), |
25 | 26 | 'fields' => array ( 'page_namespace AS namespace', |
26 | 27 | 'page_title AS title', |
27 | | - '0 AS value' ), |
| 28 | + 'page_title AS value' ), |
28 | 29 | 'conds' => array ( 'page_namespace' => NS_TEMPLATE, |
29 | 30 | 'tl_from IS NULL', |
30 | 31 | 'page_is_redirect' => 0 ), |
— | — | @@ -32,7 +33,7 @@ |
33 | 34 | 'tl_namespace = page_namespace' ) ) ) |
34 | 35 | ); |
35 | 36 | } |
36 | | - |
| 37 | + |
37 | 38 | function formatResult( $skin, $result ) { |
38 | 39 | $title = Title::makeTitle( NS_TEMPLATE, $result->title ); |
39 | 40 | $pageLink = $skin->linkKnown( |
Index: branches/querypage-work2/phase3/includes/specials/SpecialWithoutinterwiki.php |
— | — | @@ -41,7 +41,12 @@ |
42 | 42 | function sortDescending() { |
43 | 43 | return false; |
44 | 44 | } |
| 45 | + |
| 46 | + function getOrderFields() { |
| 47 | + return array( 'page_namespace', 'page_title' ); |
| 48 | + } |
45 | 49 | |
| 50 | + // inexpensive? |
46 | 51 | function isExpensive() { |
47 | 52 | return true; |
48 | 53 | } |
Index: branches/querypage-work2/phase3/includes/specials/SpecialUnusedimages.php |
— | — | @@ -10,6 +10,7 @@ |
11 | 11 | */ |
12 | 12 | class UnusedimagesPage extends ImageQueryPage { |
13 | 13 | |
| 14 | + // inexpensive? |
14 | 15 | function isExpensive() { return true; } |
15 | 16 | |
16 | 17 | function getName() { |
Index: branches/querypage-work2/phase3/includes/specials/SpecialUncategorizedimages.php |
— | — | @@ -21,6 +21,7 @@ |
22 | 22 | return false; |
23 | 23 | } |
24 | 24 | |
| 25 | + // inexpensive? |
25 | 26 | function isExpensive() { |
26 | 27 | return true; |
27 | 28 | } |
— | — | @@ -28,17 +29,6 @@ |
29 | 30 | function isSyndicated() { |
30 | 31 | return false; |
31 | 32 | } |
32 | | - |
33 | | - function getSQL() { |
34 | | - $dbr = wfGetDB( DB_SLAVE ); |
35 | | - list( $page, $categorylinks ) = $dbr->tableNamesN( 'page', 'categorylinks' ); |
36 | | - $ns = NS_FILE; |
37 | | - |
38 | | - return "SELECT 'Uncategorizedimages' AS type, page_namespace AS namespace, |
39 | | - page_title AS title, page_title AS value |
40 | | - FROM {$page} LEFT JOIN {$categorylinks} ON page_id = cl_from |
41 | | - WHERE cl_from IS NULL AND page_namespace = {$ns} AND page_is_redirect = 0"; |
42 | | - } |
43 | 33 | |
44 | 34 | function getQueryInfo() { |
45 | 35 | return array ( |
Index: branches/querypage-work2/phase3/includes/specials/SpecialDeadendpages.php |
— | — | @@ -17,13 +17,14 @@ |
18 | 18 | return wfMsgExt( 'deadendpagestext', array( 'parse' ) ); |
19 | 19 | } |
20 | 20 | |
| 21 | + // inexpensive? |
21 | 22 | /** |
22 | 23 | * LEFT JOIN is expensive |
23 | 24 | * |
24 | 25 | * @return true |
25 | 26 | */ |
26 | 27 | function isExpensive() { |
27 | | - return 1; |
| 28 | + return true; |
28 | 29 | } |
29 | 30 | |
30 | 31 | function isSyndicated() { return false; } |
— | — | @@ -51,6 +52,15 @@ |
52 | 53 | ) ) ) |
53 | 54 | ); |
54 | 55 | } |
| 56 | + |
| 57 | + function getOrderFields() { |
| 58 | + // For some crazy reason ordering by a constant |
| 59 | + // causes a filesort |
| 60 | + if( count( MWNamespace::getContentNamespaces() ) > 1 ) |
| 61 | + return array( 'page_namespace', 'page_title' ); |
| 62 | + else |
| 63 | + return array( 'page_title' ); |
| 64 | + } |
55 | 65 | } |
56 | 66 | |
57 | 67 | /** |
Index: branches/querypage-work2/phase3/includes/specials/SpecialDoubleRedirects.php |
— | — | @@ -15,14 +15,16 @@ |
16 | 16 | return 'DoubleRedirects'; |
17 | 17 | } |
18 | 18 | |
19 | | - function isExpensive( ) { return true; } |
| 19 | + // inexpensive? |
| 20 | + function isExpensive() { return true; } |
20 | 21 | function isSyndicated() { return false; } |
| 22 | + function sortDescending() { return false; } |
21 | 23 | |
22 | | - function getPageHeader( ) { |
| 24 | + function getPageHeader() { |
23 | 25 | return wfMsgExt( 'doubleredirectstext', array( 'parse' ) ); |
24 | 26 | } |
25 | 27 | |
26 | | - function reallyGetQueryInfo($namespace = null, $title = null) { |
| 28 | + function reallyGetQueryInfo( $namespace = null, $title = null ) { |
27 | 29 | $limitToTitle = !( $namespace === null && $title === null ); |
28 | 30 | $retval = array ( |
29 | 31 | 'tables' => array ( 'redirect AS ra', 'redirect AS rb', |
— | — | @@ -36,7 +38,7 @@ |
37 | 39 | 'pc.page_title AS tc' ), |
38 | 40 | 'conds' => array ( 'ra.rd_from = pa.page_id', |
39 | 41 | 'pb.page_namespace = ra.rd_namespace', |
40 | | - 'pb.page_title = rb.rd_title', |
| 42 | + 'pb.page_title = ra.rd_title', |
41 | 43 | 'rb.rd_from = pb.page_id', |
42 | 44 | 'pc.page_namespace = rb.rd_namespace', |
43 | 45 | 'pc.page_title = rb.rd_title' ) |
— | — | @@ -53,8 +55,7 @@ |
54 | 56 | } |
55 | 57 | |
56 | 58 | function getOrderFields() { |
57 | | - // FIXME: really? |
58 | | - return array (); |
| 59 | + return array ( 'ra.rd_namespace', 'ra.rd_title' ); |
59 | 60 | } |
60 | 61 | |
61 | 62 | function formatResult( $skin, $result ) { |
Index: branches/querypage-work2/phase3/includes/specials/SpecialListredirects.php |
— | — | @@ -15,22 +15,30 @@ |
16 | 16 | class ListredirectsPage extends QueryPage { |
17 | 17 | |
18 | 18 | function getName() { return 'Listredirects'; } |
| 19 | + // inexpensive? |
19 | 20 | function isExpensive() { return true; } |
20 | 21 | function isSyndicated() { return false; } |
21 | 22 | function sortDescending() { return false; } |
22 | 23 | |
23 | 24 | function getQueryInfo() { |
24 | | - return array ( |
25 | | - 'tables' => array ( 'page' ), |
26 | | - 'fields' => array ( 'page_namespace AS namespace', |
27 | | - 'page_title AS title' ), |
28 | | - 'conds' => array ( 'page_is_redirect' => 1 ) |
| 25 | + return array( |
| 26 | + 'tables' => array( 'page AS p1', 'redirect', 'page AS p2' ), |
| 27 | + 'fields' => array( 'p1.page_namespace AS namespace', |
| 28 | + 'p1.page_title AS title', |
| 29 | + 'rd_namespace', |
| 30 | + 'rd_title', |
| 31 | + 'p2.page_id AS redirid' ), |
| 32 | + 'conds' => array( 'p1.page_is_redirect' => 1 ), |
| 33 | + 'join_conds' => array( 'redirect' => array( |
| 34 | + 'LEFT JOIN', 'rd_from=p1.page_id' ), |
| 35 | + 'page AS p2' => array( 'LEFT JOIN', array( |
| 36 | + 'p2.page_namespace=rd_namespace', |
| 37 | + 'p2.page_title=rd_title' ) ) ) |
29 | 38 | ); |
30 | 39 | } |
31 | 40 | |
32 | 41 | function getOrderFields() { |
33 | | - // FIXME: really? |
34 | | - return array (); |
| 42 | + return array ( 'namespace', 'title' ); |
35 | 43 | } |
36 | 44 | |
37 | 45 | function formatResult( $skin, $result ) { |
— | — | @@ -38,25 +46,33 @@ |
39 | 47 | |
40 | 48 | # Make a link to the redirect itself |
41 | 49 | $rd_title = Title::makeTitle( $result->namespace, $result->title ); |
42 | | - $rd_link = $skin->link( |
| 50 | + $rd_link = $skin->makeKnownLinkObj( |
43 | 51 | $rd_title, |
44 | 52 | null, |
45 | | - array(), |
46 | | - array( 'redirect' => 'no' ) |
| 53 | + 'redirect=no' |
47 | 54 | ); |
48 | 55 | |
49 | 56 | # Find out where the redirect leads |
50 | | - $revision = Revision::newFromTitle( $rd_title ); |
51 | | - if( $revision ) { |
52 | | - # Make a link to the destination page |
53 | | - $target = Title::newFromRedirect( $revision->getText() ); |
54 | | - if( $target ) { |
55 | | - $arr = $wgContLang->getArrow() . $wgContLang->getDirMark(); |
| 57 | + $target = null; |
| 58 | + if( !is_null( $result->rd_namespace ) ) { |
| 59 | + $target = Title::makeTitle( $result->rd_namespace, $result->rd_title ); |
| 60 | + } else { |
| 61 | + $revision = Revision::newFromTitle( $rd_title ); |
| 62 | + if( $revision ) { |
| 63 | + $target = Title::newFromRedirect( $revision->getText() ); |
| 64 | + } |
| 65 | + } |
| 66 | + |
| 67 | + # Make a link to the destination page |
| 68 | + if( $target ) { |
| 69 | + $arr = $wgContLang->getArrow() . $wgContLang->getDirMark(); |
| 70 | + if( !is_null ( $result->redirid ) ) |
| 71 | + $targetLink = $skin->makeKnownLinkObj( $target ); |
| 72 | + else if( !is_null( $result->rd_namespace ) ) |
| 73 | + $targetLink = $skin->makeBrokenLinkObj( $target ); |
| 74 | + else |
56 | 75 | $targetLink = $skin->link( $target ); |
57 | | - return "$rd_link $arr $targetLink"; |
58 | | - } else { |
59 | | - return "<s>$rd_link</s>"; |
60 | | - } |
| 76 | + return "$rd_link $arr $targetLink"; |
61 | 77 | } else { |
62 | 78 | return "<s>$rd_link</s>"; |
63 | 79 | } |
Property changes on: branches/querypage-work2/phase3/includes/specials |
___________________________________________________________________ |
Name: svn:mergeinfo |
64 | 80 | - /branches/REL1_15/phase3/includes/specials:51646 |
/branches/querypage-work/phase3/includes/specials:49084,49599,49631,49951,50105,50378 |
/branches/sqlite/includes/specials:58211-58321 |
/branches/wmf-deployment/includes/specials:53381,56967 |
65 | 81 | + /branches/REL1_15/phase3/includes/specials:51646 |
/branches/querypage-work/phase3/includes/specials:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/sqlite/includes/specials:58211-58321 |
/branches/wmf-deployment/includes/specials:53381,56967 |
Property changes on: branches/querypage-work2/phase3/includes |
___________________________________________________________________ |
Name: svn:mergeinfo |
66 | 82 | - /branches/REL1_15/phase3/includes:51646 |
/branches/querypage-work/phase3/includes:49084,49599,49631,49951,50105,50378 |
/branches/sqlite/includes:58211-58321 |
/branches/wmf-deployment/includes:53381 |
67 | 83 | + /branches/REL1_15/phase3/includes:51646 |
/branches/querypage-work/phase3/includes:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/sqlite/includes:58211-58321 |
/branches/wmf-deployment/includes:53381 |
Property changes on: branches/querypage-work2/phase3 |
___________________________________________________________________ |
Name: svn:mergeinfo |
68 | 84 | - /branches/REL1_15/phase3:51646 |
/branches/querypage-work/phase3:49084,49599,49631,49951,50105,50378 |
/branches/sqlite:58211-58321 |
69 | 85 | + /branches/REL1_15/phase3:51646 |
/branches/querypage-work/phase3:49084,49599,49631,49951,50105,50378,50436-50437 |
/branches/sqlite:58211-58321 |
Index: branches/querypage-work2/TODO |
— | — | @@ -1,10 +1,5 @@ |
2 | 2 | * Make INNER JOIN implicit in Unusedimages? |
3 | 3 | * Find and migrate code using WantedPages::getSQL hook |
4 | | -* Check sorting sanity |
5 | | -** Check whether sorts are efficient and page right |
6 | | -** Check whether sorting by nothing is really what we want |
7 | | -** Check whether selecting title or ns AS value is really what we want |
8 | | -* Track down and fix pages querying page info one title at a time |
9 | | -* Mark ShortPages as inexpensive |
10 | 4 | * Reuse UncategorizedPages code in UncategorizedImages somehow |
11 | 5 | * Make UncategorizedPages parameterized by namespace |
| 6 | +* Run potentially inexpensive queries by Domas |
\ No newline at end of file |
Property changes on: branches/querypage-work2 |
___________________________________________________________________ |
Name: svn:mergeinfo |
12 | 7 | - /branches/querypage-work:49084,49599,49631,49951,50105,50378 |
13 | 8 | + /branches/querypage-work:49084,49599,49631,49951,50105,50378,50436-50437 |