http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97463

Revision: 97463
Author:   mkroetzsch
Date:     2011-09-19 10:47:21 +0000 (Mon, 19 Sep 2011)
Log Message:
-----------
filter internal non-page elements from query results in the store
(largely fixes Bug 30969)

Modified Paths:
--------------
    trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php
    
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2_Queries.php

Modified: 
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php     
2011-09-19 10:43:42 UTC (rev 97462)
+++ trunk/extensions/SemanticMediaWiki/includes/storage/SMW_QueryResult.php     
2011-09-19 10:47:21 UTC (rev 97463)
@@ -71,11 +71,6 @@
         * @param boolean $furtherRes
         */
        public function __construct( array $printRequests, SMWQuery $query, 
array $results, SMWStore $store, $furtherRes = false ) {
-               // FIXME: this is a evil hack treating the symptom of something 
going wrong closer to the store
-//             if ( count( $results ) > 0 && $results[0]->getInterwiki() === 
SMW_SQL2_SMWBORDERIW ) {
-//                     unset( $results[0] );
-//             }
-               
                $this->mResults = $results;
                reset( $this->mResults );
                $this->mPrintRequests = $printRequests;

Modified: 
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2_Queries.php
===================================================================
--- 
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2_Queries.php   
    2011-09-19 10:43:42 UTC (rev 97462)
+++ 
trunk/extensions/SemanticMediaWiki/includes/storage/SMW_SQLStore2_Queries.php   
    2011-09-19 10:47:21 UTC (rev 97463)
@@ -390,14 +390,16 @@
                        $qobj->where, 'SMW::getQueryResult', $sql_options );
 
                $qr = array();
-               $count = 0;
+               $count = 0; // the number of fetched results ( != number of 
valid results in array $qr)
                $prs = $query->getDescription()->getPrintrequests();
 
                while ( ( $count < $query->getLimit() ) && ( $row = 
$this->m_dbs->fetchObject( $res ) ) ) {
                        $count++;
-                       $v = new SMWDIWikiPage( $row->t, $row->ns, $row->iw, 
$row->so );
-                       $qr[] = $v;
-                       $this->m_store->cacheSMWPageID( $row->id, $row->t, 
$row->ns, $row->iw, $row->so );
+                       if ( $row->iw == '' || $row->iw{0} != ':' )  {
+                               $v = new SMWDIWikiPage( $row->t, $row->ns, 
$row->iw, $row->so );
+                               $qr[] = $v;
+                               $this->m_store->cacheSMWPageID( $row->id, 
$row->t, $row->ns, $row->iw, $row->so );
+                       }
                }
 
                if ( $this->m_dbs->fetchObject( $res ) ) {


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to