Changeset 11723 for branches/dev/data
- Timestamp:
- 2007/03/09 22:31:03 (19 years ago)
- File:
-
- 1 edited
-
branches/dev/data/lib/slib.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/dev/data/lib/slib.php
r11658 r11723 117 117 } 118 118 119 return false; 120 } 121 122 // ¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¸ºß¥Á¥§¥Ã¥¯¤ÈºîÀ® 123 function sfIndexExists($table_name, $col_name, $index_name, $length = "", $dsn = "", $add = false) { 124 if($dsn == "") { 125 if(defined('DEFAULT_DSN')) { 126 $dsn = DEFAULT_DSN; 127 } else { 128 return; 129 } 130 } 131 132 // ¥Æ¡¼¥Ö¥ë¤¬Ìµ¤±¤ì¤Ð¥¨¥é¡¼ 133 if(!sfTabaleExists($table_name, $dsn)) return false; 134 135 $objQuery = new SC_Query($dsn, true, true); 136 // Àµ¾ï¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç 137 if(!$objQuery->isError()) { 138 list($db_type) = split(":", $dsn); 139 switch($db_type) { 140 case 'pgsql': 141 $arrRet = $objQuery->getAll("SELECT relname FROM pg_class WHERE relname = ?", array($index_name)); 142 break; 143 case 'mysql': 144 $arrRet = $objQuery->getAll("SHOW INDEX FROM ? WHERE Key_name = ?", array($table_name, $index_name)); 145 break; 146 default: 147 break; 148 } 149 // ¤¹¤Ç¤Ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Â¸ºß¤¹¤ë¾ì¹ç 150 if(count($arrRet) > 0) { 151 return true; 152 } 153 } 154 155 // ¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÄɲ乤ë 156 if($add){ 157 switch($db_type) { 158 case 'pgsql': 159 $objQuery->query("CREATE INDEX ? ON ? (?)", array($index_name, $table_name, $col_name)); 160 break; 161 case 'mysql': 162 $objQuery->query("CREATE INDEX ? ON ? (?(?))", array($index_name, $table_name, $col_name, $length)); 163 break; 164 default: 165 break; 166 } 167 return true; 168 } 119 169 return false; 120 170 }
Note: See TracChangeset
for help on using the changeset viewer.
