Changeset f2cb64b
- Timestamp:
- 08/31/10 17:29:41 (21 months ago)
- Branches:
- ('master', '8434b8322dd6f8ff37c17bd45b94e7a826f86b53')('vitrine', 'afe109c61a407808bd54d88bcccb1cde726a010a')
- Children:
- e1377e9b1c55991030daa6cfbd72d3eae3dd5652
- Parents:
- adc28f645b270eff1c3aab9ec84933445c26b50b
- git-author:
- Benoit Grégoire <benoitg@coeus.ca>2010-08-31 17:28:40-04:00
- git-committer:
- Benoit Grégoire <benoitg@coeus.ca>2010-08-31 17:29:41-04:00
- File:
-
- 1 edited
-
html/classes/SearchEngine.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
html/classes/SearchEngine.php
radc28f6 rf2cb64b 628 628 if($navLevel==1) { 629 629 $leftTable=$initialLeftTable; 630 $twoLevelDownLeftTable=null; 631 } 632 else if($navLevel==2){ 633 $leftTable='navigated_terms_level_'.(string)($navLevel-1); 634 $twoLevelDownLeftTable=$initialLeftTable; 630 635 } 631 636 else { 632 637 $leftTable='navigated_terms_level_'.(string)($navLevel-1); 633 } 638 $twoLevelDownLeftTable='navigated_terms_level_'.(string)($navLevel-2); 639 } 640 634 641 $leftTermIdCol=$leftTable.'.vdex_6_1_identifier'; 635 642 $leftVocIdCol=$leftTable.'.vdex_4_vocabulary_identifier'; … … 691 698 $selectListArray[] = "navigated_terms_level_{$navLevel}.vdex_4_vocabulary_identifier as l{$navLevel}_voc, navigated_terms_level_{$navLevel}.vdex_6_1_identifier as l{$navLevel}_term"; 692 699 700 //Avoid loops 701 $avoidLoopsSql = null; 702 if($twoLevelDownLeftTable) { 703 //$selectListArray[] = "{$rightTable}.vdex_4_vocabulary_identifier as t1, {$twoLevelDownLeftTable}.vdex_4_vocabulary_identifier as t2, {$rightTable}.vdex_6_1_identifier as t3, {$twoLevelDownLeftTable}.vdex_6_1_identifier as t4"; 704 $avoidLoopsSql .= " AND \n"; 705 $avoidLoopsSql .= " ({$rightTable}.vdex_4_vocabulary_identifier!={$twoLevelDownLeftTable}.vdex_4_vocabulary_identifier\n"; 706 $avoidLoopsSql .= " OR {$rightTable}.vdex_6_1_identifier!={$twoLevelDownLeftTable}.vdex_6_1_identifier) \n"; 707 } 708 693 709 $sqlVocTermJoin = null; 694 710 $sqlVocTermJoin .= " LEFT JOIN vocabulary_terms AS {$rightTable} ON ( \n"; 711 695 712 $sqlVocTermJoin .= " ({$rightTable}.vdex_4_vocabulary_identifier=\n"; 696 713 $sqlVocTermJoin .= " (CASE \n"; 697 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier!=$leftVocIdCol) THEN navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier \n"; 698 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.source_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier!=$leftVocIdCol) THEN navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier \n"; 699 $sqlVocTermJoin .= " END) \n"; 714 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier!=$leftVocIdCol) \n"; 715 $sqlVocTermJoin .= " THEN navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier \n"; 716 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.source_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier!=$leftVocIdCol) \n"; 717 $sqlVocTermJoin .= " THEN navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier \n"; 718 $sqlVocTermJoin .= " END) \n"; 700 719 701 720 $sqlVocTermJoin .= " AND {$rightTable}.vdex_6_1_identifier= \n"; 702 721 $sqlVocTermJoin .= " (CASE \n"; 703 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier!=$leftVocIdCol) THEN navigated_relationship_level_{$navLevel}.target_term_identifier \n"; 704 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.source_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier!=$leftVocIdCol) THEN navigated_relationship_level_{$navLevel}.source_term_identifier \n"; 705 $sqlVocTermJoin .= " END) \n"; 722 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.target_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.target_term_vocabulary_identifier!=$leftVocIdCol) \n"; 723 $sqlVocTermJoin .= " THEN navigated_relationship_level_{$navLevel}.target_term_identifier \n"; 724 $sqlVocTermJoin .= " WHEN (navigated_relationship_level_{$navLevel}.source_term_identifier!=$leftTermIdCol AND navigated_relationship_level_{$navLevel}.source_term_vocabulary_identifier!=$leftVocIdCol) \n"; 725 $sqlVocTermJoin .= " THEN navigated_relationship_level_{$navLevel}.source_term_identifier \n"; 726 $sqlVocTermJoin .= " END) \n"; 727 $sqlVocTermJoin .= $avoidLoopsSql; 728 729 706 730 $sqlVocTermJoin .= " ) \n"; 707 731 //$sqlVocTermJoin .= " ) \n"; … … 713 737 $vocIdcoalesceParts[]="{$table}.vdex_4_vocabulary_identifier"; 714 738 $termIdcoalesceParts[]="{$table}.vdex_6_1_identifier"; 739 $finalJoinConditionParts[]="({$finalJoinTable}.vdex_4_vocabulary_identifier={$table}.vdex_4_vocabulary_identifier AND {$finalJoinTable}.vdex_6_1_identifier={$table}.vdex_6_1_identifier)"; 715 740 } 716 741 /* Re-joining with vocabulary_term is essential to exploit the nested-set structure later */ 717 742 $selectListArray[] = "{$finalJoinTable}.vdex_4_vocabulary_identifier as final_voc, {$finalJoinTable}.vdex_6_1_identifier as final_term"; 718 //$selectListArray[] = "array_agg(".implode(', ',$vocIdcoalesceParts).")";743 //$selectListArray[] = "array_agg(".implode(', ',$vocIdcoalesceParts).")"; 719 744 $sqlFinalJoin = null; 720 745 $sqlFinalJoin .= " ON ( \n"; 721 $sqlFinalJoin .= " {$finalJoinTable}.vdex_4_vocabulary_identifier=\n"; 722 $sqlFinalJoin .= " COALESCE(".implode(', ',$vocIdcoalesceParts).") \n"; 723 $sqlFinalJoin .= " AND {$finalJoinTable}.vdex_6_1_identifier= \n"; 724 $sqlFinalJoin .= " COALESCE(".implode(', ',$termIdcoalesceParts).") \n"; 746 /*$sqlFinalJoin .= " {$finalJoinTable}.vdex_4_vocabulary_identifier=\n"; 747 $sqlFinalJoin .= " COALESCE(".implode(', ',$vocIdcoalesceParts).") \n"; 748 $sqlFinalJoin .= " AND {$finalJoinTable}.vdex_6_1_identifier= \n"; 749 $sqlFinalJoin .= " COALESCE(".implode(', ',$termIdcoalesceParts).") \n";*/ 750 $sqlFinalJoin .= implode("\n OR ",$finalJoinConditionParts); 725 751 $sqlFinalJoin .= " ) \n"; 726 752 $sql .= $sqlFinalJoin; … … 750 776 global $NAVIGATE_VOC_RELATIONS_ENABLED; 751 777 if($NAVIGATE_VOC_RELATIONS_ENABLED) { 752 $debug= true;778 $debug=false; 753 779 if($debug) { 754 780 $db = AbstractDb::getObject(); … … 760 786 $sql .= " FROM \n"; 761 787 $sql .= $sqlJoin; 762 $sql .= " WHERE initial_theme_limit_terms.vdex_4_vocabulary_identifier='rVoc1' AND initial_theme_limit_terms.vdex_6_1_identifier='rVoc1T2' \n";788 $sql .= " WHERE initial_theme_limit_terms.vdex_4_vocabulary_identifier='rVoc1' AND initial_theme_limit_terms.vdex_6_1_identifier='rVoc1T2' ORDER BY final_term\n"; 763 789 //$sql .= " WHERE vocabulary_terms.vdex_4_vocabulary_identifier='pivotVoc' AND vocabulary_terms.vdex_6_1_identifier='pivotVocT3'\n"; 764 790 pretty_print_r($sql);@ob_flush();flush(); … … 769 795 $sqlJoin=null; 770 796 771 self::getSqlLomThemeJoinHelper( 1, 'initial_theme_limit_terms', 'theme_limit_terms', $sqlJoin, $selectListArray, true, false);797 self::getSqlLomThemeJoinHelper(2, 'initial_theme_limit_terms', 'theme_limit_terms', $sqlJoin, $selectListArray, true, false); 772 798 773 799 $retval .= " $sqlJoin \n";
Note: See TracChangeset
for help on using the changeset viewer.
