XpressEngine Core  1.11.2
 All Classes Namespaces Files Functions Variables Pages
MysqlTableWithHint.class.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) NAVER <http://www.navercorp.com> */
3 
9 class MysqlTableWithHint extends Table
10 {
11 
16  var $name;
17 
22  var $alias;
23 
29 
38  {
39  parent::__construct($name, $alias);
40  $this->index_hints_list = $index_hints_list;
41  }
42 
43  function toString()
44  {
45  $result = parent::toString();
46 
47  $use_index_hint = '';
48  $force_index_hint = '';
49  $ignore_index_hint = '';
50  foreach($this->index_hints_list as $index_hint)
51  {
52  $index_hint_type = $index_hint->getIndexHintType();
53  if($index_hint_type == 'USE')
54  {
55  $use_index_hint .= $index_hint->getIndexName() . ', ';
56  }
57  else if($index_hint_type == 'FORCE')
58  {
59  $force_index_hint .= $index_hint->getIndexName() . ', ';
60  }
61  else if($index_hint_type == 'IGNORE')
62  {
63  $ignore_index_hint .= $index_hint->getIndexName() . ', ';
64  }
65  }
66  if($use_index_hint != '')
67  {
68  $result .= ' USE INDEX (' . substr($use_index_hint, 0, -2) . ') ';
69  }
70  if($force_index_hint != '')
71  {
72  $result .= ' FORCE INDEX (' . substr($force_index_hint, 0, -2) . ') ';
73  }
74  if($ignore_index_hint != '')
75  {
76  $result .= ' IGNORE INDEX (' . substr($ignore_index_hint, 0, -2) . ') ';
77  }
78  return $result;
79  }
80 
81 }
82 /* End of file MysqlTableWithHint.class.php */
83 /* Location: ./classes/db/queryparts/table/MysqlTableWithHint.class.php */
__construct($name, $alias=NULL, $index_hints_list)