source: branches/feature-module-update/data/class/db/SC_DB_DBFactory.php @ 15262

Revision 15262, 3.0 KB checked in by nanasess, 17 years ago (diff)

$include_dir を CLASS_PATH に修正

  • Property charset set to UTF-8'
  • Property svn:keywords set to Id Revision Date
  • Property svn:mime-type set to 'application/x-httpd-php
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7
8// {{{ requires
9require_once(CLASS_PATH . "db/dbfactory/SC_DB_DBFactory_MYSQL.php");
10require_once(CLASS_PATH . "db/dbfactory/SC_DB_DBFactory_PGSQL.php");
11
12/**
13 * DBに依存した処理を抽象化するファクトリークラス.
14 *
15 * @package DB
16 * @author LOCKON CO.,LTD.
17 * @version $Id$
18 */
19class SC_DB_DBFactory {
20
21    /**
22     * DB_TYPE に応じた DBFactory インスタンスを生成する.
23     *
24     * @return mixed DBFactory インスタンス
25     */
26    function getInstance() {
27        switch (DB_TYPE) {
28        case "mysql":
29            return new SC_DB_DBFactory_MYSQL();
30            break;
31
32        case "pgsql":
33            return new SC_DB_DBFactory_PGSQL();
34            break;
35
36        default:
37        }
38    }
39
40    /**
41     * データソース名を取得する.
42     *
43     * 引数 $dsn が空の場合は, DEFAULT_DSN の値を返す.
44     * DEFAULT_DSN が未定義の場合は void となる.
45     * $dsn が空ではない場合は, $dsn の値を返す.
46     *
47     * @param string $dsn データソース名
48     * @return void|string データソース名
49     */
50    function getDSN($dsn = "") {
51        if(empty($dsn)) {
52            if(defined('DEFAULT_DSN')) {
53                $dsn = DEFAULT_DSN;
54            } else {
55                return;
56            }
57        }
58        return $dsn;
59    }
60
61    /**
62     * DBのバージョンを取得する.
63     *
64     * @param string $dsn データソース名
65     * @return string データベースのバージョン
66     */
67    function sfGetDBVersion($dsn = "") { return null; }
68
69    /**
70     * MySQL 用の SQL 文に変更する.
71     *
72     * @param string $sql SQL 文
73     * @return string MySQL 用に置換した SQL 文
74     */
75    function sfChangeMySQL($sql) { return null; }
76
77    /**
78     * テーブルの存在チェックを行う SQL 文を返す.
79     *
80     * @return string テーブルの存在チェックを行う SQL 文
81     */
82    function getTableExistsSql() { return null; }
83
84    /**
85     * インデックスの検索結果を配列で返す.
86     *
87     * @param string $index_name インデックス名
88     * @param string $table_name テーブル名
89     * @return array インデックスの検索結果の配列
90     */
91    function getTableIndex($index_name, $table_name = "") { return array(); }
92
93    /**
94     * インデックスを作成する.
95     *
96     * @param string $index_name インデックス名
97     * @param string $table_name テーブル名
98     * @param string $col_name カラム名
99     * @param integer $length 作成するインデックスのバイト長
100     * @return void
101     */
102    function createTableIndex($index_name, $table_name, $col_name, $length = 0) {}
103
104    /**
105     * テーブルのカラム一覧を取得する.
106     *
107     * @param string $table_name テーブル名
108     * @return array テーブルのカラム一覧の配列
109     */
110    function sfGetColumnList($table_name) { array(); }
111}
112?>
Note: See TracBrowser for help on using the repository browser.