Ignore:
Timestamp:
2012/09/06 02:38:08 (12 years ago)
Author:
Seasoft
Message:

#1716 (Postgres Plus Advanced Server 9.1 対応)

  • テーブル一覧にシステムテーブルが混在する不具合を回避。
Location:
branches/version-2_12-dev/data/class
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/SC_Query.php

    r21981 r22019  
    839839     */ 
    840840    function listTables() { 
    841         $objManager =& $this->conn->loadModule('Manager'); 
    842         return $objManager->listTables(); 
     841        return $this->dbFactory->listTables($this); 
    843842    } 
    844843 
  • branches/version-2_12-dev/data/class/db/SC_DB_DBFactory.php

    r21867 r22019  
    169169    function initObjQuery(SC_Query &$objQuery) { 
    170170    } 
     171 
     172    /** 
     173     * テーブル一覧を取得する 
     174     * 
     175     * @return array テーブル名の配列 
     176     */ 
     177    function listTables(SC_Query &$objQuery) { 
     178        $objManager =& $objQuery->conn->loadModule('Manager'); 
     179        return $objManager->listTables(); 
     180    } 
    171181} 
  • branches/version-2_12-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php

    r21867 r22019  
    251251        return ''; 
    252252    } 
     253 
     254    /** 
     255     * テーブル一覧を取得する 
     256     * 
     257     * MDB2_Driver_Manager_pgsql#listTables の不具合回避を目的として独自実装している。 
     258     * @return array テーブル名の配列 
     259     */ 
     260    function listTables(SC_Query &$objQuery) { 
     261        $col = 'tablename'; 
     262        $from = 'pg_tables'; 
     263        $where = "schemaname NOT IN ('pg_catalog', 'information_schema', 'sys')"; 
     264        return $objQuery->getCol($col, $from, $where); 
     265    } 
    253266} 
Note: See TracChangeset for help on using the changeset viewer.