Changeset 15692
- Timestamp:
- 2007/09/13 12:53:39 (16 years ago)
- Location:
- branches/feature-module-update
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/data/class/db/SC_DB_DBFactory.php
r15532 r15692 15 15 * @package DB 16 16 * @author LOCKON CO.,LTD. 17 * @version $Id $17 * @version $Id:SC_DB_DBFactory.php 15532 2007-08-31 14:39:46Z nanasess $ 18 18 */ 19 19 class SC_DB_DBFactory { … … 109 109 */ 110 110 function sfGetColumnList($table_name) { return array(); } 111 112 /** 113 * テーブルを検索する. 114 * 115 * 引数に部分一致するテーブル名を配列で返す. 116 * 117 * @param string $expression 検索文字列 118 * @return array テーブル名の配列 119 */ 120 function findTableNames($expression) { return array(); } 111 121 } 112 122 ?> -
branches/feature-module-update/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
r15532 r15692 102 102 $arrColList = SC_Utils_Ex::sfswaparray($arrColList); 103 103 return $arrColList["Field"]; 104 } 105 106 /** 107 * テーブルを検索する. 108 * 109 * 引数に部分一致するテーブル名を配列で返す. 110 * 111 * @param string $expression 検索文字列 112 * @return array テーブル名の配列 113 */ 114 function findTableNames($expression) { 115 $objQuery = new SC_Query(); 116 $sql = "SHOW TABLES LIKE ?"; 117 $arrColList = $objQuery->getAll($sql, array("%" . $expression . "%")); 118 $arrColList = SC_Utils_Ex::sfswaparray($arrColList, false); 119 return $arrColList[0]; 104 120 } 105 121 -
branches/feature-module-update/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php
r15532 r15692 19 19 * @package DB 20 20 * @author LOCKON CO.,LTD. 21 * @version $Id $21 * @version $Id:SC_DB_DBFactory_PGSQL.php 15532 2007-08-31 14:39:46Z nanasess $ 22 22 */ 23 23 class SC_DB_DBFactory_PGSQL extends SC_DB_DBFactory { … … 110 110 return $arrColList["attname"]; 111 111 } 112 113 /** 114 * テーブルを検索する. 115 * 116 * 引数に部分一致するテーブル名を配列で返す. 117 * 118 * @param string $expression 検索文字列 119 * @return array テーブル名の配列 120 */ 121 function findTableNames($expression) { 122 $objQuery = new SC_Query(); 123 $sql = " SELECT c.relname AS name, " 124 . " CASE c.relkind " 125 . " WHEN 'r' THEN 'table' " 126 . " WHEN 'v' THEN 'view' END AS type " 127 . " FROM pg_catalog.pg_class c " 128 . "LEFT JOIN pg_catalog.pg_namespace n " 129 . " ON n.oid = c.relnamespace " 130 . " WHERE c.relkind IN ('r','v') " 131 . " AND n.nspname NOT IN ('pg_catalog', 'pg_toast') " 132 . " AND pg_catalog.pg_table_is_visible(c.oid) " 133 . " AND c.relname LIKE ?" 134 . " ORDER BY 1,2;"; 135 $arrColList = $objQuery->getAll($sql, array("%" . $expression . "%")); 136 $arrColList = SC_Utils_Ex::sfswaparray($arrColList, false); 137 return $arrColList[0]; 138 } 112 139 } 113 140 ?> -
branches/feature-module-update/test/class/db/SC_DB_DBFactory_Test.php
r15532 r15692 11 11 12 12 /** 13 * SC_DB_DBFactory のテストケース.13 * SC_DB_DBFactory TestCase 14 14 * 15 15 * @package DB 16 16 * @author LOCKON CO.,LTD. 17 * @version $Id $17 * @version $Id:SC_DB_DBFactory_Test.php 15532 2007-08-31 14:39:46Z nanasess $ 18 18 */ 19 19 class SC_DB_DBFactory_Test extends PHPUnit_TestCase { … … 22 22 // {{{ functions 23 23 24 /* TODO 24 25 function testSfGetDBVersion() { 25 26 $dbFactory = SC_DB_DBFactory::getInstance(); … … 36 37 } 37 38 } 39 */ 40 41 function testFindTableNames() { 42 $dbFactory = SC_DB_DBFactory::getInstance(); 43 $objQuery = new SC_Query(DEFAULT_DSN, true, true); 44 $actual = $dbFactory->findTableNames("mtb_pre"); 45 $this->assertEquals("mtb_pref", $actual[0]); 46 } 38 47 } 48 49 /* 50 * Local variables: 51 * coding: utf-8 52 * End: 53 */ 39 54 ?>
Note: See TracChangeset
for help on using the changeset viewer.