Changeset 18775
- Timestamp:
- 2010/08/04 13:52:27 (14 years ago)
- bzr:base-revision:
- svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:18774
- bzr:committer:
- Kentaro Ohkouchi <ohkouchi@loop-az.jp>
- bzr:file-ids:
data/class/SC_Query.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2FSC_Query.php
data/class/db/SC_DB_DBFactory.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2FSC_DB_DBFactory.php
data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2Fdbfactory%2FSC_DB_DBFactory_MYSQL.php
data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php 15123@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fdb%2Fdbfactory%2FSC_DB_DBFactory_PGSQL.php
data/class/helper/SC_Helper_DB.php 15176@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fhelper%2FSC_Helper_DB.php
data/class/pages/shopping/LC_Page_Shopping_Complete.php 15223@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Fpages%2Fshopping%2FLC_Page_Shopping_Complete.php
data/class/util/SC_Utils.php 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fdata%2Fclass%2Futil%2FSC_Utils.php
html/install/index.php 16809@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Findex.php
html/install/sql/create_table_mysql.sql 15078@1e3b908f-19a9-db11-a64c-001125224ba8:branches%2Ffeature-module-update%2Fhtml%2Finstall%2Fsql%2Fcreate_table_mysql.sql- bzr:mapping-version:
- v4
- bzr:repository-uuid:
- 1e3b908f-19a9-db11-a64c-001125224ba8
- bzr:revision-id:
- ohkouchi@loop-az.jp-20100804045224-nsulc26bh1ttqfrb
- bzr:revno:
- 2258
- bzr:revprop:branch-nick:
- branches/version-2_5-dev
- bzr:root:
- branches/version-2_5-dev
- bzr:text-parents:
data/class/db/SC_DB_DBFactory.php ohkouchi@loop-az.jp-20100614082857-g3n9wn9zakpc7a0m
data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php ohkouchi@loop-az.jp-20100614082857-g3n9wn9zakpc7a0m
data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php ohkouchi@loop-az.jp-20100614082857-g3n9wn9zakpc7a0m
data/class/helper/SC_Helper_DB.php ohkouchi@loop-az.jp-20100614082857-g3n9wn9zakpc7a0m
data/class/pages/shopping/LC_Page_Shopping_Complete.php ohkouchi@loop-az.jp-20100803084717-9sbbuk4o59x5sio4
data/class/util/SC_Utils.php ohkouchi@loop-az.jp-20100803084717-9sbbuk4o59x5sio4
html/install/index.php ohkouchi@loop-az.jp-20100726081655-tqxqwy02bxqhswcu
html/install/sql/create_table_mysql.sql svn-v4:1e3b908f-19a9-db11-a64c-001125224ba8:branches/version-2_5-dev:18764- bzr:timestamp:
- 2010-08-04 13:52:24.183000088 +0900
- bzr:user-agent:
- bzr2.1.2+bzr-svn1.0.2
- svn:original-date:
- 2010-08-04T04:52:24.183000Z
- Location:
- branches/version-2_5-dev
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_Query.php
r18774 r18775 161 161 162 162 $sth = $this->conn->prepare($sql); 163 if (PEAR::isError($sth)) { 164 /* 165 * XXX インストーラのテーブルチェックに失敗してしまう. 166 * エラーハンドリングの方法を要検討 167 */ 168 return; 169 } 163 170 $affected = $sth->execute($arrval); 164 171 … … 487 494 488 495 if (PEAR::isError($result)) { 489 trigger_error($result->getMessage(), E_USER_ERROR); 496 /* 497 * XXX インストーラのテーブルチェックに失敗してしまう. 498 * エラーハンドリングの方法を要検討 499 */ 500 //trigger_error($result->getMessage(), E_USER_ERROR); 490 501 } 491 502 … … 495 506 /** 496 507 * auto_incrementを取得する. 508 * 509 * XXX MDB2 の sequence 関数を使用する 497 510 * 498 511 * @param string $table_name テーブル名 … … 501 514 function get_auto_increment($table_name){ 502 515 // ロックする 503 $this-> query("LOCK TABLES $table_name WRITE");516 $this->conn->exec("LOCK TABLES $table_name WRITE"); 504 517 505 518 // 次のIncrementを取得 506 $arrRet = $this->getAll("SHOW TABLE STATUS LIKE ?", array($table_name));519 $arrRet = $this->getAll("SHOW TABLE STATUS LIKE ". $this->quote($table_name)); 507 520 $auto_inc_no = $arrRet[0]["Auto_increment"]; 508 521 509 522 // 値をカウントアップしておく 510 $this-> query("ALTER TABLE $table_name AUTO_INCREMENT=?" , $auto_inc_no + 1);523 $this->conn->exec("ALTER TABLE $table_name AUTO_INCREMENT=" . $this->quote($auto_inc_no + 1)); 511 524 512 525 // 解除する 513 $this-> query('UNLOCK TABLES');526 $this->conn->exec('UNLOCK TABLES'); 514 527 515 528 return $auto_inc_no; 516 529 } 530 531 /** 532 * 値を適切にクォートする. 533 * 534 * TODO MDB2 に対応するための暫定的な措置. 535 * ブレースホルダが使用できない実装があるため. 536 * 本来であれば, MDB2::prepare() を適切に使用するべき 537 * 538 * @see MDB2::quote() 539 * @param string $val クォートを行う文字列 540 * @return string クォートされた文字列 541 */ 542 function quote($val) { 543 return $this->conn->quote($val); 544 } 517 545 } 518 546 -
branches/version-2_5-dev/data/class/db/SC_DB_DBFactory.php
r18701 r18775 95 95 * テーブルの存在チェックを行う SQL 文を返す. 96 96 * 97 * @param string $table_name 存在チェックを行うテーブル名 97 98 * @return string テーブルの存在チェックを行う SQL 文 98 99 */ 99 function getTableExistsSql( ) { return null; }100 function getTableExistsSql($table_name) { return null; } 100 101 101 102 /** -
branches/version-2_5-dev/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
r18701 r18775 85 85 * テーブルの存在チェックを行う SQL 文を返す. 86 86 * 87 * @param string $table_name 存在チェックを行うテーブル名 87 88 * @return string テーブルの存在チェックを行う SQL 文 88 89 */ 89 function getTableExistsSql() { 90 return "SHOW TABLE STATUS LIKE ?"; 90 function getTableExistsSql($table_name) { 91 // XXX 何故かブレースホルダが使えない 92 $objQuery = new SC_Query(); 93 return "SHOW TABLE STATUS LIKE " . $objQuery->quote($table_name); 91 94 } 92 95 -
branches/version-2_5-dev/data/class/db/dbfactory/SC_DB_DBFactory_PGSQL.php
r18701 r18775 68 68 * テーブルの存在チェックを行う SQL 文を返す. 69 69 * 70 * @param string $table_name 存在チェックを行うテーブル名 70 71 * @return string テーブルの存在チェックを行う SQL 文 71 72 */ 72 function getTableExistsSql() { 73 function getTableExistsSql($table_name) { 74 $objQuery = new SC_Query(); 73 75 return " SELECT relname " 74 76 . " FROM pg_class " 75 77 . " WHERE (relkind = 'r' OR relkind = 'v') " 76 . " AND relname = ? "78 . " AND relname = " . $objQuery->quote($table_name) 77 79 . "GROUP BY relname"; 78 80 } -
branches/version-2_5-dev/data/class/helper/SC_Helper_DB.php
r18701 r18775 74 74 if(!$objQuery->isError()) { 75 75 list($db_type) = split(":", $dsn); 76 $sql = $dbFactory->getTableExistsSql(); 77 $arrRet = $objQuery->getAll($sql, array($table_name)); 76 /* 77 * XXX MySQL で, 何故かブレースホルダが使えない. 78 */ 79 $sql = $dbFactory->getTableExistsSql($table_name); 80 $arrRet = $objQuery->getAll($sql); 78 81 if(count($arrRet) > 0) { 79 82 return true; -
branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Complete.php
r18772 r18775 521 521 522 522 // 既に存在する詳細レコードを消しておく。 523 $objQuery->delete("dtb_order_detail", "order_id = $order_id");523 $objQuery->delete("dtb_order_detail", "order_id = ?", array($order_id)); 524 524 525 525 // 規格名一覧 -
branches/version-2_5-dev/data/class/util/SC_Utils.php
r18772 r18775 1402 1402 } 1403 1403 1404 // SQLシングルクォート対応 1404 /** 1405 * SQLシングルクォート対応 1406 * @deprecated SC_Query::quote() を使用すること 1407 */ 1405 1408 function sfQuoteSmart($in){ 1406 1409 -
branches/version-2_5-dev/html/install/index.php
r18763 r18775 867 867 // Debugモード指定 868 868 $options['debug'] = PEAR_DB_DEBUG; 869 $objDB = DB::connect($dsn, $options);869 $objDB = MDB2::connect($dsn, $options); 870 870 // 接続成功 871 871 if(!PEAR::isError($objDB)) { -
branches/version-2_5-dev/html/install/sql/create_table_mysql.sql
r18764 r18775 942 942 create_date datetime NOT NULL, 943 943 update_date datetime NOT NULL, 944 "convert"text,944 `convert` text, 945 945 PRIMARY KEY (no) 946 946 ) TYPE=InnoDB;
Note: See TracChangeset
for help on using the changeset viewer.