Changeset 23124 for branches/version-2_13-dev/data/class/db
- Timestamp:
- 2013/08/24 23:33:52 (11 years ago)
- Location:
- branches/version-2_13-dev/data/class/db
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_13-dev/data/class/db/SC_DB_DBFactory.php
r22856 r23124 34 34 * DB_TYPE に応じた DBFactory インスタンスを生成する. 35 35 * 36 * @param string $db_type 任意のインスタンスを返したい場合は DB_TYPE 文字列を指定37 * @return mixed DBFactory インスタンス36 * @param string $db_type 任意のインスタンスを返したい場合は DB_TYPE 文字列を指定 37 * @return mixed DBFactory インスタンス 38 38 */ 39 function getInstance($db_type = DB_TYPE)39 public function getInstance($db_type = DB_TYPE) 40 40 { 41 41 switch ($db_type) { … … 58 58 * $dsn が空ではない場合は, $dsn の値を返す. 59 59 * 60 * @param mixed $dsn データソース名60 * @param mixed $dsn データソース名 61 61 * @return mixed データソース名またはDB接続パラメータの連想配列 62 62 */ 63 function getDSN($dsn = '')63 public function getDSN($dsn = '') 64 64 { 65 65 if (empty($dsn)) { … … 84 84 * DBのバージョンを取得する. 85 85 * 86 * @param string $dsn データソース名86 * @param string $dsn データソース名 87 87 * @return string データベースのバージョン 88 88 */ 89 function sfGetDBVersion($dsn = '')89 public function sfGetDBVersion($dsn = '') 90 90 { return null; } 91 91 … … 93 93 * MySQL 用の SQL 文に変更する. 94 94 * 95 * @param string $sql SQL 文95 * @param string $sql SQL 文 96 96 * @return string MySQL 用に置換した SQL 文 97 97 */ 98 function sfChangeMySQL($sql)98 public function sfChangeMySQL($sql) 99 99 { return null; } 100 100 … … 102 102 * 昨日の売上高・売上件数を算出する SQL を返す. 103 103 * 104 * @param string $method SUM または COUNT104 * @param string $method SUM または COUNT 105 105 * @return string 昨日の売上高・売上件数を算出する SQL 106 106 */ 107 function getOrderYesterdaySql($method)107 public function getOrderYesterdaySql($method) 108 108 { return null; } 109 109 … … 111 111 * 当月の売上高・売上件数を算出する SQL を返す. 112 112 * 113 * @param string $method SUM または COUNT113 * @param string $method SUM または COUNT 114 114 * @return string 当月の売上高・売上件数を算出する SQL 115 115 */ 116 function getOrderMonthSql($method)116 public function getOrderMonthSql($method) 117 117 { return null; } 118 118 … … 122 122 * @return string 昨日のレビュー書き込み件数を算出する SQL 123 123 */ 124 function getReviewYesterdaySql()124 public function getReviewYesterdaySql() 125 125 { return null; } 126 126 … … 130 130 * @return string 検索条件の SQL 131 131 */ 132 function getSendHistoryWhereStartdateSql()132 public function getSendHistoryWhereStartdateSql() 133 133 { return null; } 134 134 … … 138 138 * @return string 検索条件の SQL 139 139 */ 140 function getDownloadableDaysWhereSql()140 public function getDownloadableDaysWhereSql() 141 141 { return null; } 142 142 … … 144 144 * 文字列連結を行う. 145 145 * 146 * @param array$columns 連結を行うカラム名146 * @param array $columns 連結を行うカラム名 147 147 * @return string 連結後の SQL 文 148 148 */ 149 function concatColumn($columns)149 public function concatColumn($columns) 150 150 { return null; } 151 151 … … 156 156 * 157 157 * @deprecated SC_Query::listTables() を使用してください 158 * @param string $expression 検索文字列159 * @return array テーブル名の配列158 * @param string $expression 検索文字列 159 * @return array テーブル名の配列 160 160 */ 161 function findTableNames($expression = '')161 public function findTableNames($expression = '') 162 162 { return array(); } 163 163 … … 167 167 * 引数に部分一致するテーブル名を配列で返す. 168 168 * 169 * @param string $table 対象テーブル名170 * @param string $name対象カラム名171 * @return array インデックス設定情報配列169 * @param string $table 対象テーブル名 170 * @param string $name 対象カラム名 171 * @return array インデックス設定情報配列 172 172 */ 173 function sfGetCreateIndexDefinition($table, $name, $definition)173 public function sfGetCreateIndexDefinition($table, $name, $definition) 174 174 { return $definition; } 175 175 … … 177 177 * 各 DB に応じた SC_Query での初期化を行う 178 178 * 179 * @param SC_Query $objQuery SC_Query インスタンス179 * @param SC_Query $objQuery SC_Query インスタンス 180 180 * @return void 181 181 */ 182 function initObjQuery(SC_Query &$objQuery)182 public function initObjQuery(SC_Query &$objQuery) 183 183 { 184 184 } … … 189 189 * @return array テーブル名の配列 190 190 */ 191 function listTables(SC_Query &$objQuery)191 public function listTables(SC_Query &$objQuery) 192 192 { 193 193 $objManager =& $objQuery->conn->loadModule('Manager'); -
branches/version-2_13-dev/data/class/db/SC_DB_MasterData.php
r22857 r23124 45 45 { 46 46 /** SC_Query インスタンス */ 47 var$objQuery;47 public $objQuery; 48 48 49 49 /** デフォルトのテーブルカラム名 */ 50 var$columns = array('id', 'name', 'rank', 'remarks');50 public $columns = array('id', 'name', 'rank', 'remarks'); 51 51 52 52 /** … … 60 60 * 返り値は, key => value 形式の配列である. 61 61 * 62 * @param string $name マスターデータ名63 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順62 * @param string $name マスターデータ名 63 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 64 64 * を表すカラム名を格納した配列 65 65 * @return array マスターデータ 66 66 */ 67 function getMasterData($name, $columns = array())67 public function getMasterData($name, $columns = array()) 68 68 { 69 69 $columns = $this->getDefaultColumnName($columns); … … 90 90 * $masterData は key => value 形式の配列である必要がある. 91 91 * 92 * @param string $name マスターデータ名93 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順94 * を表すカラム名を格納した配列 95 * @param array$masterData マスターデータ96 * @param bool$autoCommit トランザクションを自動的に commit する場合 true92 * @param string $name マスターデータ名 93 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 94 * を表すカラム名を格納した配列 95 * @param array $masterData マスターデータ 96 * @param bool $autoCommit トランザクションを自動的に commit する場合 true 97 97 * @return integer マスターデータの登録数 98 98 */ 99 function registMasterData($name, $columns, $masterData, $autoCommit = true)99 public function registMasterData($name, $columns, $masterData, $autoCommit = true) 100 100 { 101 101 $columns = $this->getDefaultColumnName($columns); … … 126 126 * $masterData は key => value 形式の配列である必要がある. 127 127 * 128 * @param string $name マスターデータ名129 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順130 * を表すカラム名を格納した配列 131 * @param array$masterData マスターデータ132 * @param bool$autoCommit トランザクションを自動的に commit する場合 true128 * @param string $name マスターデータ名 129 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 130 * を表すカラム名を格納した配列 131 * @param array $masterData マスターデータ 132 * @param bool $autoCommit トランザクションを自動的に commit する場合 true 133 133 * @return integer マスターデータの更新数 134 134 */ 135 function updateMasterData($name, $columns, $masterData, $autoCommit = true)135 public function updateMasterData($name, $columns, $masterData, $autoCommit = true) 136 136 { 137 137 $columns = $this->getDefaultColumnName($columns); … … 162 162 * $masterData は key => value 形式の配列である必要がある. 163 163 * 164 * @param string $nameマスターデータ名165 * @param string $keyキー名166 * @param string $commentコメント167 * @param bool$autoCommit トランザクションを自動的に commit する場合 true164 * @param string $name マスターデータ名 165 * @param string $key キー名 166 * @param string $comment コメント 167 * @param bool $autoCommit トランザクションを自動的に commit する場合 true 168 168 * @return integer マスターデータの更新数 169 169 */ 170 function insertMasterData($name, $key, $value, $comment, $autoCommit = true)170 public function insertMasterData($name, $key, $value, $comment, $autoCommit = true) 171 171 { 172 172 $columns = $this->getDefaultColumnName(); … … 197 197 * キャッシュも削除する. 198 198 * 199 * @param string $nameマスターデータ名200 * @param bool$autoCommit トランザクションを自動的に commit する場合 true199 * @param string $name マスターデータ名 200 * @param bool $autoCommit トランザクションを自動的に commit する場合 true 201 201 * @return integer マスターデータの削除数 202 202 */ 203 function deleteMasterData($name, $autoCommit = true)203 public function deleteMasterData($name, $autoCommit = true) 204 204 { 205 205 $this->objQuery =& SC_Query_Ex::getSingletonInstance(); … … 222 222 * マスターデータのキャッシュを消去する. 223 223 * 224 * @param string $name マスターデータ名225 * @return bool 消去した場合 true226 */ 227 function clearCache($name)224 * @param string $name マスターデータ名 225 * @return bool 消去した場合 true 226 */ 227 public function clearCache($name) 228 228 { 229 229 $masterDataFile = MASTER_DATA_REALDIR . $name . '.php'; … … 246 246 * 定数コメントを生成する場合は, $commentColumn を指定する. 247 247 * 248 * @param string $name マスターデータ名249 * @param array $masterDataマスターデータ250 * @param bool $isDefine定数を生成する場合 true251 * @param array $commentColumn [0] => キー, [1] => コメント文字列,248 * @param string $name マスターデータ名 249 * @param array $masterData マスターデータ 250 * @param bool $isDefine 定数を生成する場合 true 251 * @param array $commentColumn [0] => キー, [1] => コメント文字列, 252 252 * [2] => 表示順 を表すカラム名を格納した配列 253 253 * @return bool キャッシュの生成に成功した場合 true 254 254 */ 255 function createCache($name, $columns = array(), $isDefine = false, $commentColumn = array())255 public function createCache($name, $columns = array(), $isDefine = false, $commentColumn = array()) 256 256 { 257 257 // マスターデータを取得 … … 286 286 if (fwrite($handle, $data) === false) { 287 287 fclose($handle); 288 288 289 return false; 289 290 } … … 300 301 * 返り値は, key => value 形式の配列である. 301 302 * 302 * @param string $name マスターデータ名303 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順303 * @param string $name マスターデータ名 304 * @param array $columns [0] => キー, [1] => 表示文字列, [2] => 表示順 304 305 * を表すカラム名を格納した配列 305 306 * @return array マスターデータ 306 307 */ 307 function getDbMasterData($name, $columns = array())308 public function getDbMasterData($name, $columns = array()) 308 309 { 309 310 $columns = $this->getDefaultColumnName($columns); … … 334 335 * @return array カラム名を格納した配列 335 336 */ 336 function getDefaultColumnName($columns = array())337 public function getDefaultColumnName($columns = array()) 337 338 { 338 339 if (!empty($columns)) { … … 347 348 * 348 349 * @access private 349 * @param array$masterData マスターデータの配列350 * @param array $commentsコメントの配列350 * @param array $masterData マスターデータの配列 351 * @param array $comments コメントの配列 351 352 * @return string 定数定義の文字列 352 353 */ 353 function getMasterDataAsDefine($masterData, $comments = array())354 public function getMasterDataAsDefine($masterData, $comments = array()) 354 355 { 355 356 $data = ''; -
branches/version-2_13-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
r22856 r23124 36 36 { 37 37 /** SC_Query インスタンス */ 38 var$objQuery;38 public $objQuery; 39 39 40 40 /** 41 41 * DBのバージョンを取得する. 42 42 * 43 * @param string $dsn データソース名43 * @param string $dsn データソース名 44 44 * @return string データベースのバージョン 45 45 */ 46 function sfGetDBVersion($dsn = '')46 public function sfGetDBVersion($dsn = '') 47 47 { 48 48 $objQuery =& SC_Query_Ex::getSingletonInstance($dsn); … … 56 56 * 57 57 * @access private 58 * @param string $sql SQL 文58 * @param string $sql SQL 文 59 59 * @return string MySQL 用に置換した SQL 文 60 60 */ 61 function sfChangeMySQL($sql)61 public function sfChangeMySQL($sql) 62 62 { 63 63 // 改行、タブを1スペースに変換 … … 80 80 * @return array 文字コード情報 81 81 */ 82 function getCharSet()82 public function getCharSet() 83 83 { 84 84 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 91 91 * 昨日の売上高・売上件数を算出する SQL を返す. 92 92 * 93 * @param string $method SUM または COUNT93 * @param string $method SUM または COUNT 94 94 * @return string 昨日の売上高・売上件数を算出する SQL 95 95 */ 96 function getOrderYesterdaySql($method)96 public function getOrderYesterdaySql($method) 97 97 { 98 98 return 'SELECT ' . $method . '(total) FROM dtb_order ' … … 105 105 * 当月の売上高・売上件数を算出する SQL を返す. 106 106 * 107 * @param string $method SUM または COUNT107 * @param string $method SUM または COUNT 108 108 * @return string 当月の売上高・売上件数を算出する SQL 109 109 */ 110 function getOrderMonthSql($method)110 public function getOrderMonthSql($method) 111 111 { 112 112 return 'SELECT '.$method.'(total) FROM dtb_order ' … … 122 122 * @return string 昨日のレビュー書き込み件数を算出する SQL 123 123 */ 124 function getReviewYesterdaySql()124 public function getReviewYesterdaySql() 125 125 { 126 126 return 'SELECT COUNT(*) FROM dtb_review AS A ' … … 138 138 * @return string 検索条件の SQL 139 139 */ 140 function getSendHistoryWhereStartdateSql()140 public function getSendHistoryWhereStartdateSql() 141 141 { 142 142 return 'start_date BETWEEN date_add(CURRENT_TIMESTAMP,INTERVAL -5 minute) AND date_add(CURRENT_TIMESTAMP,INTERVAL 5 minute)'; … … 146 146 * ダウンロード販売の検索条件の SQL を返す. 147 147 * 148 * @param string $dtb_order_alias148 * @param string $dtb_order_alias 149 149 * @return string 検索条件の SQL 150 150 */ 151 function getDownloadableDaysWhereSql($dtb_order_alias = 'dtb_order')151 public function getDownloadableDaysWhereSql($dtb_order_alias = 'dtb_order') 152 152 { 153 153 return '(SELECT IF((SELECT d1.downloadable_days_unlimited FROM dtb_baseinfo d1)=1, 1, DATE(CURRENT_TIMESTAMP) <= DATE(DATE_ADD(' . $dtb_order_alias . '.payment_date, INTERVAL (SELECT downloadable_days FROM dtb_baseinfo) DAY))))'; … … 157 157 * 売上集計の期間別集計のSQLを返す 158 158 * 159 * @param mixed$type159 * @param mixed $type 160 160 * @return string 検索条件のSQL 161 161 */ 162 function getOrderTotalDaysWhereSql($type)162 public function getOrderTotalDaysWhereSql($type) 163 163 { 164 164 switch ($type) { … … 197 197 * @return string 年代抽出部分の SQL 198 198 */ 199 function getOrderTotalAgeColSql()199 public function getOrderTotalAgeColSql() 200 200 { 201 201 return 'TRUNC((YEAR(create_date) - YEAR(order_birth)) - (RIGHT(create_date, 5) < RIGHT(order_birth, 5)), -1)'; … … 205 205 * 文字列連結を行う. 206 206 * 207 * @param array$columns 連結を行うカラム名207 * @param array $columns 連結を行うカラム名 208 208 * @return string 連結後の SQL 文 209 209 */ 210 function concatColumn($columns)210 public function concatColumn($columns) 211 211 { 212 212 $sql = 'concat('; … … 230 230 * 引数に部分一致するテーブル名を配列で返す. 231 231 * 232 * @param string $expression 検索文字列233 * @return array テーブル名の配列234 */ 235 function findTableNames($expression = '')232 * @param string $expression 検索文字列 233 * @return array テーブル名の配列 234 */ 235 public function findTableNames($expression = '') 236 236 { 237 237 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 247 247 * 248 248 * @access private 249 * @param string $sql SQL文249 * @param string $sql SQL文 250 250 * @return string 変換後の SQL 文 251 251 */ 252 function sfChangeILIKE($sql)252 public function sfChangeILIKE($sql) 253 253 { 254 254 $changesql = preg_replace('/(^|[^\w])ILIKE([^\w]|$)/i', '$1LIKE$2', $sql); … … 261 261 * 262 262 * @access private 263 * @param string $sql SQL文263 * @param string $sql SQL文 264 264 * @return string 変換後の SQL 文 265 265 */ 266 function sfChangeRANDOM($sql)266 public function sfChangeRANDOM($sql) 267 267 { 268 268 $changesql = preg_replace('/(^|[^\w])RANDOM\(/i', '$1RAND(', $sql); … … 275 275 * 276 276 * @access private 277 * @param string $sql SQL文277 * @param string $sql SQL文 278 278 * @return string 変換後の SQL 文 279 279 */ 280 function sfChangeTrunc($sql)280 public function sfChangeTrunc($sql) 281 281 { 282 282 $changesql = preg_replace('/(^|[^\w])TRUNC([^\w]|$)/i', '$1TRUNCATE$2', $sql); … … 289 289 * 290 290 * @access private 291 * @param string $sql SQL文291 * @param string $sql SQL文 292 292 * @return string 変換後の SQL 文 293 293 */ 294 function sfChangeArrayToString($sql)294 public function sfChangeArrayToString($sql) 295 295 { 296 296 if (strpos(strtoupper($sql), 'ARRAY_TO_STRING') !== FALSE) { … … 311 311 * 引数に部分一致するテーブル名を配列で返す. 312 312 * 313 * @param string $table 対象テーブル名314 * @param string $name対象カラム名315 * @return array インデックス設定情報配列316 */ 317 function sfGetCreateIndexDefinition($table, $name, $definition)313 * @param string $table 対象テーブル名 314 * @param string $name 対象カラム名 315 * @return array インデックス設定情報配列 316 */ 317 public function sfGetCreateIndexDefinition($table, $name, $definition) 318 318 { 319 319 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 337 337 * @return string 338 338 */ 339 function getDummyFromClauseSql()339 public function getDummyFromClauseSql() 340 340 { 341 341 return 'FROM DUAL'; … … 345 345 * 各 DB に応じた SC_Query での初期化を行う 346 346 * 347 * @param SC_Query $objQuery SC_Query インスタンス347 * @param SC_Query $objQuery SC_Query インスタンス 348 348 * @return void 349 349 */ 350 function initObjQuery(SC_Query &$objQuery)350 public function initObjQuery(SC_Query &$objQuery) 351 351 { 352 352 $objQuery->exec('SET SESSION storage_engine = InnoDB'); -
branches/version-2_13-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php
r22856 r23124 38 38 * DBのバージョンを取得する. 39 39 * 40 * @param string $dsn データソース名40 * @param string $dsn データソース名 41 41 * @return string データベースのバージョン 42 42 */ 43 function sfGetDBVersion($dsn = '')43 public function sfGetDBVersion($dsn = '') 44 44 { 45 45 $objQuery =& SC_Query_Ex::getSingletonInstance($dsn); … … 56 56 * 57 57 * @access private 58 * @param string $sql SQL 文58 * @param string $sql SQL 文 59 59 * @return string MySQL 用に置換した SQL 文 60 60 */ 61 function sfChangeMySQL($sql)61 public function sfChangeMySQL($sql) 62 62 { 63 63 return $sql; … … 67 67 * 昨日の売上高・売上件数を算出する SQL を返す. 68 68 * 69 * @param string $method SUM または COUNT69 * @param string $method SUM または COUNT 70 70 * @return string 昨日の売上高・売上件数を算出する SQL 71 71 */ 72 function getOrderYesterdaySql($method)72 public function getOrderYesterdaySql($method) 73 73 { 74 74 return 'SELECT '.$method.'(total) FROM dtb_order ' … … 81 81 * 当月の売上高・売上件数を算出する SQL を返す. 82 82 * 83 * @param string $method SUM または COUNT83 * @param string $method SUM または COUNT 84 84 * @return string 当月の売上高・売上件数を算出する SQL 85 85 */ 86 function getOrderMonthSql($method)86 public function getOrderMonthSql($method) 87 87 { 88 88 return 'SELECT '.$method.'(total) FROM dtb_order ' … … 98 98 * @return string 昨日のレビュー書き込み件数を算出する SQL 99 99 */ 100 function getReviewYesterdaySql()100 public function getReviewYesterdaySql() 101 101 { 102 102 return 'SELECT COUNT(*) FROM dtb_review AS A ' … … 114 114 * @return string 検索条件の SQL 115 115 */ 116 function getSendHistoryWhereStartdateSql()116 public function getSendHistoryWhereStartdateSql() 117 117 { 118 118 return "start_date BETWEEN current_timestamp + '- 5 minutes' AND current_timestamp + '5 minutes'"; … … 122 122 * ダウンロード販売の検索条件の SQL を返す. 123 123 * 124 * @param string $dtb_order_alias124 * @param string $dtb_order_alias 125 125 * @return string 検索条件の SQL 126 126 */ 127 function getDownloadableDaysWhereSql($dtb_order_alias = 'dtb_order')127 public function getDownloadableDaysWhereSql($dtb_order_alias = 'dtb_order') 128 128 { 129 129 $baseinfo = SC_Helper_DB_Ex::sfGetBasisData(); … … 151 151 * 売上集計の期間別集計のSQLを返す 152 152 * 153 * @param mixed$type153 * @param mixed $type 154 154 * @return string 検索条件のSQL 155 155 */ 156 function getOrderTotalDaysWhereSql($type)156 public function getOrderTotalDaysWhereSql($type) 157 157 { 158 158 switch ($type) { … … 191 191 * @return string 年代抽出部分の SQL 192 192 */ 193 function getOrderTotalAgeColSql()193 public function getOrderTotalAgeColSql() 194 194 { 195 195 return 'TRUNC(CAST(EXTRACT(YEAR FROM AGE(create_date, order_birth)) AS INT), -1)'; … … 199 199 * 文字列連結を行う. 200 200 * 201 * @param array$columns 連結を行うカラム名201 * @param array $columns 連結を行うカラム名 202 202 * @return string 連結後の SQL 文 203 203 */ 204 function concatColumn($columns)204 public function concatColumn($columns) 205 205 { 206 206 $sql = ''; … … 224 224 * 225 225 * @deprecated SC_Query::listTables() を使用してください 226 * @param string $expression 検索文字列227 * @return array テーブル名の配列228 */ 229 function findTableNames($expression = '')226 * @param string $expression 検索文字列 227 * @return array テーブル名の配列 228 */ 229 public function findTableNames($expression = '') 230 230 { 231 231 $objQuery =& SC_Query_Ex::getSingletonInstance(); … … 253 253 * @return array 文字コード情報 254 254 */ 255 function getCharSet()255 public function getCharSet() 256 256 { 257 257 // 未実装 … … 264 264 * @return string 265 265 */ 266 function getDummyFromClauseSql()266 public function getDummyFromClauseSql() 267 267 { 268 268 return ''; … … 275 275 * @return array テーブル名の配列 276 276 */ 277 function listTables(SC_Query &$objQuery)277 public function listTables(SC_Query &$objQuery) 278 278 { 279 279 $col = 'tablename';
Note: See TracChangeset
for help on using the changeset viewer.