You are here

function ARC_sparql2sql_rewriter::get_equi_join_code in Taxonomy import/export via XML 6

Same name and namespace in other branches
  1. 5.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_equi_join_code()
  2. 5 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_equi_join_code()
  3. 6.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_equi_join_code()
2 calls to ARC_sparql2sql_rewriter::get_equi_join_code()
ARC_sparql2sql_rewriter::get_select_sql in arc/ARC_sparql2sql_rewriter.php
ARC_sparql2sql_rewriter::get_union_select_sql in arc/ARC_sparql2sql_rewriter.php

File

arc/ARC_sparql2sql_rewriter.php, line 465

Class

ARC_sparql2sql_rewriter

Code

function get_equi_join_code() {
  $result = "";
  $added_joins = array();
  foreach ($this->term2alias as $name => $alias_infos) {
    for ($i = 1, $i_max = count($alias_infos); $i < $i_max; $i++) {
      $cur_alias_info_1 = $alias_infos[$i - 1];
      $cur_alias_1 = $cur_alias_info_1["alias"];
      $cur_col_1 = $cur_alias_info_1["col"];
      $cur_term_1 = $cur_alias_info_1["term"];
      $tbl_alias_1 = "T" . $cur_alias_1 . "." . $cur_col_1;
      $cur_alias_info_2 = $alias_infos[$i];
      $cur_alias_2 = $cur_alias_info_2["alias"];
      $cur_col_2 = $cur_alias_info_2["col"];
      $cur_term_2 = $cur_alias_info_2["term"];
      $tbl_alias_2 = "T" . $cur_alias_2 . "." . $cur_col_2;
      if ($tbl_alias_1 != $tbl_alias_2) {
        if (!in_array($tbl_alias_1 . "=" . $tbl_alias_2, $added_joins) && !in_array($tbl_alias_2 . "=" . $tbl_alias_1, $added_joins)) {
          $result .= strlen($result) ? "\n AND " : "";
          $result .= $tbl_alias_1 . "=" . $tbl_alias_2;
          $added_joins[] = $tbl_alias_1 . "=" . $tbl_alias_2;
        }
      }
    }
  }
  return $result;
}