You are here

function ARC_sparql2sql_rewriter::get_from_code in Taxonomy import/export via XML 6.2

Same name and namespace in other branches
  1. 5.2 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_from_code()
  2. 5 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_from_code()
  3. 6 arc/ARC_sparql2sql_rewriter.php \ARC_sparql2sql_rewriter::get_from_code()
2 calls to ARC_sparql2sql_rewriter::get_from_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 419

Class

ARC_sparql2sql_rewriter

Code

function get_from_code() {
  $result = "";
  $added_aliases = array();

  /* t_count */
  for ($i = 1; $i <= $this->t_count; $i++) {
    if (!in_array($i, $this->optional_t_counts)) {
      $result .= strlen($result) ? ", \n " : "\nFROM (\n ";
      $tbl_alias = "T" . $i;
      $alias_ext = 2;
      while (in_array($tbl_alias, $added_aliases)) {
        $tbl_alias = "T" . $i . "_" . $alias_ext;
        $alias_ext++;
      }
      $cur_tbl_name = $this
        ->get_best_table_name($i);
      $result .= $cur_tbl_name . " " . $tbl_alias;
      $added_aliases[] = $tbl_alias;
    }
  }

  /* union_t_count */
  if ($this->union_count) {
    $min_union_t_count = $this->union_t_counts["base_t_count"] + 1;
    $max_union_t_count = $min_union_t_count;
    foreach ($this->union_t_counts as $union_id => $cur_max_t_count) {
      $max_union_t_count = max($cur_max_t_count, $max_union_t_count);
    }
    for ($i = $min_union_t_count; $i <= $max_union_t_count; $i++) {
      if (!in_array($i, $this->optional_t_counts)) {
        $result .= strlen($result) ? ", \n " : "\nFROM (\n ";
        $tbl_alias = "T" . $i;
        $alias_ext = 2;
        while (in_array($tbl_alias, $added_aliases)) {
          $tbl_alias = "T" . $i . "_" . $alias_ext;
          $alias_ext++;
        }
        $cur_tbl_name = $this
          ->get_best_table_name($i);
        $result .= $cur_tbl_name . " " . $tbl_alias;
        $added_aliases[] = $tbl_alias;
      }
    }
  }
  $result .= strlen($result) ? "\n)" : "";
  return $result;
}