Couple more raw SQL to query arrays
authorSam Reed <reedy@users.mediawiki.org>
Mon, 24 Jan 2011 23:15:10 +0000 (23:15 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Mon, 24 Jan 2011 23:15:10 +0000 (23:15 +0000)
includes/OutputPage.php
includes/parser/LinkHolderArray.php

index caa5fd1..ed74be3 100644 (file)
@@ -997,12 +997,12 @@ class OutputPage {
 
                # Fetch existence plus the hiddencat property
                $dbr = wfGetDB( DB_SLAVE );
-               $pageTable = $dbr->tableName( 'page' );
-               $where = $lb->constructSet( 'page', $dbr );
-               $propsTable = $dbr->tableName( 'page_props' );
-               $sql = "SELECT page_id, page_namespace, page_title, page_len, page_is_redirect, page_latest, pp_value
-                       FROM $pageTable LEFT JOIN $propsTable ON pp_propname='hiddencat' AND pp_page=page_id WHERE $where";
-               $res = $dbr->query( $sql, __METHOD__ );
+               $res = $dbr->select( array( 'page', 'page_props' ),
+                       array( 'page_id', 'page_namespace', 'page_title', 'page_len', 'page_is_redirect', 'page_latest', 'pp_value' ),
+                       $lb->constructSet( 'page', $dbr ),
+                       __METHOD__,
+                       array( 'LEFT JOIN' => array( "pp_propname='hiddencat'", "pp_page=page_id"  ) )
+               );
 
                # Add the results to the link cache
                $lb->addResultToCache( LinkCache::singleton(), $res );
index 23d7153..133655e 100644 (file)
@@ -371,11 +371,12 @@ class LinkHolderArray {
                if(!$linkBatch->isEmpty()){
                        // construct query
                        $dbr = wfGetDB( DB_SLAVE );
-                       $page = $dbr->tableName( 'page' );
-                       $titleClause = $linkBatch->constructSet('page', $dbr);
-                       $variantQuery =  "SELECT page_id, page_namespace, page_title, page_is_redirect, page_len";
-                       $variantQuery .= " FROM $page WHERE $titleClause";
-                       $varRes = $dbr->query( $variantQuery, __METHOD__ );
+                       $varRes = $dbr->select( 'page',
+                               array( 'page_id', 'page_namespace', 'page_title', 'page_is_redirect', 'page_len' ),
+                               $linkBatch->constructSet( 'page', $dbr ),
+                               __METHOD__
+                       );
+
                        $linkcolour_ids = array();
 
                        // for each found variants, figure out link holders and replace
@@ -386,14 +387,14 @@ class LinkHolderArray {
                                $vardbk = $variantTitle->getDBkey();
 
                                $holderKeys = array();
-                               if(isset($variantMap[$varPdbk])){
+                               if( isset( $variantMap[$varPdbk] ) ) {
                                        $holderKeys = $variantMap[$varPdbk];
                                        $linkCache->addGoodLinkObj( $s->page_id, $variantTitle, $s->page_len, $s->page_is_redirect );
                                        $output->addLink( $variantTitle, $s->page_id );
                                }
 
                                // loop over link holders
-                               foreach($holderKeys as $key){
+                               foreach( $holderKeys as $key ) {
                                        list( $ns, $index ) = explode( ':', $key, 2 );
                                        $entry =& $this->internals[$ns][$index];
                                        $pdbk = $entry['pdbk'];