Changeset 20037 for branches/version-2_5-dev/data/class/db
- Timestamp:
- 2011/01/25 04:00:29 (15 years ago)
- Location:
- branches/version-2_5-dev/data/class/db
- Files:
-
- 2 edited
-
SC_DB_DBFactory.php (modified) (1 diff)
-
dbfactory/SC_DB_DBFactory_MYSQL.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/db/SC_DB_DBFactory.php
r19805 r20037 156 156 */ 157 157 function findTableNames($expression = "") { return array(); } 158 159 /** 160 * インデックス作成の追加定義を取得する 161 * 162 * 引数に部分一致するテーブル名を配列で返す. 163 * 164 * @param string $table 対象テーブル名 165 * @param string $name 対象カラム名 166 * @return array インデックス設定情報配列 167 */ 168 function sfGetCreateIndexDefinition($table, $name, $definition) { return $definition; } 169 158 170 } 159 171 ?> -
branches/version-2_5-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
r20024 r20037 434 434 435 435 } 436 437 /** 438 * インデックス作成の追加定義を取得する 439 * 440 * 引数に部分一致するテーブル名を配列で返す. 441 * 442 * @param string $table 対象テーブル名 443 * @param string $name 対象カラム名 444 * @return array インデックス設定情報配列 445 */ 446 function sfGetCreateIndexDefinition($table, $name, $definition) { 447 $objQuery =& SC_Query::getSingletonInstance(); 448 $arrTblInfo = $objQuery->getTableInfo($table); 449 foreach($arrTblInfo as $fieldInfo) { 450 if(array_key_exists($fieldInfo['name'], $definition['fields'])) { 451 if($fieldInfo['nativetype'] == 'text') { 452 // TODO: text型フィールドの場合に255文字以内決めうちでインデックス列のサイズとして 453 // 指定して良いか確認は必要。 454 $definition['fields'][$fieldInfo['name']]['length'] = '255'; 455 } 456 } 457 } 458 return $definition; 459 } 436 460 } 437 461 ?>
Note: See TracChangeset
for help on using the changeset viewer.
