[Svn-src-all:1425] [version-2_5-dev 20317] #564 (PEAR::DB から PEAR::MDB2 への変更) $force_run時の挙動に問題があった為修正。
AMUAMU
admin @ mail.ec-cube.net
2011年 2月 22日 (火) 10:44:08 JST
Subversion committed to /home/svn/open 20317
http://svn.ec-cube.net/open_trac/changeset/20317
┌────────────────────────────┐
│更新者 : AMUAMU │
│更新日時: 2011-02-22 10:44:08 +0900 (火, 22 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
#564 (PEAR::DB から PEAR::MDB2 への変更) $force_run時の挙動に問題があった為修正。
#657 (CSVダウンロードの改善) の為にクエリの結果カラム列名を取得するメソッドを追加
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/class/SC_Query.php
変更: branches/version-2_5-dev/data/class/SC_Query.php
===================================================================
--- branches/version-2_5-dev/data/class/SC_Query.php 2011-02-22 01:41:07 UTC (rev 20316)
+++ branches/version-2_5-dev/data/class/SC_Query.php 2011-02-22 01:44:08 UTC (rev 20317)
@@ -729,12 +729,12 @@
$sth =& $this->prepare($n, $types, $result_types);
if (PEAR::isError($sth) && $this->force_run) {
- return;
+ return $sth;
}
$result = $this->execute($sth, $arr);
if (PEAR::isError($result) && $this->force_run) {
- return;
+ return $sth;
}
//PREPAREの解放
@@ -937,6 +937,37 @@
return $err;
}
+
+ /**
+ * SQLクエリの結果セットのカラム名だけを取得する
+ *
+ * @param string $n 実行する SQL 文
+ * @param array $arr ブレースホルダに挿入する値
+ * @param boolean エラーが発生しても処理を続行する場合 true
+ * @param mixed $types プレースホルダの型指定 デフォルトnull = string
+ * @param mixed $result_types 返値の型指定またはDML実行(MDB2_PREPARE_MANIP)
+ * @return array 実行結果の配列
+ */
+ function getQueryDefsFields($n ,$arr = array(), $ignore_err = false, $types = null, $result_types = MDB2_PREPARE_RESULT ){
+
+ $n = $this->dbFactory->sfChangeMySQL($n);
+
+ $sth =& $this->prepare($n, $types, $result_types);
+ if (PEAR::isError($sth) && ($this->force_run || $ignore_err)) {
+ return;
+ }
+
+ $result = $this->execute($sth, $arr);
+ if (PEAR::isError($result) && ($this->force_run || $ignore_err)) {
+ return;
+ }
+ $arrRet = $result->getColumnNames();
+ //PREPAREの解放
+ $sth->free();
+
+ return $arrRet;
+ }
+
}
?>
Svn-src-all メーリングリストの案内