class PgsqlDBFactory extends DBFactory

PostgreSQL 固有の処理をするクラス.

このクラスを直接インスタンス化しないこと. 必ず \Eccube\Framework\DB\DBFactory クラスを経由してインスタンス化する. また, \Eccube\Framework\DB\DBFactory クラスの関数を必ずオーバーライドしている必要がある.

Methods

static DBFactory
getInstance(string $db_type = DB_TYPE)

DB_TYPE に応じた DBFactory インスタンスを生成する.

from DBFactory
string
getDSN(string $dsn = '')

データソース名を取得する.

from DBFactory
string
sfGetDBVersion(string $dsn = '')

DBのバージョンを取得する.

string
sfChangeMySQL(string $sql)

MySQL 用の SQL 文に変更する.

string
getOrderYesterdaySql(string $method)

昨日の売上高・売上件数を算出する SQL を返す.

string
getOrderMonthSql(string $method)

当月の売上高・売上件数を算出する SQL を返す.

string
getReviewYesterdaySql()

昨日のレビュー書き込み件数を算出する SQL を返す.

string
getSendHistoryWhereStartdateSql()

メール送信履歴の start_date の検索条件の SQL を返す.

string
getDownloadableDaysWhereSql(string $dtb_order_alias = 'dtb_order')

ダウンロード販売の検索条件の SQL を返す.

string
concatColumn(string[] $columns)

文字列連結を行う.

array
findTableNames(string $expression = '') deprecated

テーブルを検索する.

array
sfGetCreateIndexDefinition($table, $name, $definition)

インデックス作成の追加定義を取得する

from DBFactory
void
initObjQuery(Query $objQuery)

各 DB に応じた Query での初期化を行う

from DBFactory
array
listTables(Query $objQuery)

テーブル一覧を取得する

string
addLimitOffset(string $sql, integer $limit, integer $offset)

SQL 文に OFFSET, LIMIT を付加する。

from DBFactory
string
alldtlSQL(string $where_products_class = '')

商品詳細の SQL を取得する.

string
getOrderTotalDaysWhereSql(mixed $type)

売上集計の期間別集計のSQLを返す

string
getOrderTotalAgeColSql()

売上集計の年代別集計の年代抽出部分のSQLを返す

array
getCharSet()

文字コード情報を取得する

string
getDummyFromClauseSql()

擬似表を表すSQL文(FROM 句)を取得する

Details

in DBFactory at line 47
static DBFactory getInstance(string $db_type = DB_TYPE)

DB_TYPE に応じた DBFactory インスタンスを生成する.

Parameters

string $db_type 任意のインスタンスを返したい場合は DB_TYPE 文字列を指定

Return Value

DBFactory DBFactory インスタンス

in DBFactory at line 71
string getDSN(string $dsn = '')

データソース名を取得する.

引数 $dsn が空でデータソースが定義済みの場合はDB接続パラメータの連想配列を返す DEFAULT_DSN が未定義の場合は void となる. $dsn が空ではない場合は, $dsn の値を返す.

Parameters

string $dsn データソース名

Return Value

string データソース名またはDB接続パラメータの連想配列

at line 51
string sfGetDBVersion(string $dsn = '')

DBのバージョンを取得する.

Parameters

string $dsn データソース名

Return Value

string データベースのバージョン

at line 70
string sfChangeMySQL(string $sql)

MySQL 用の SQL 文に変更する.

DB_TYPE が PostgreSQL の場合は何もしない

Parameters

string $sql SQL 文

Return Value

string MySQL 用に置換した SQL 文

at line 81
string getOrderYesterdaySql(string $method)

昨日の売上高・売上件数を算出する SQL を返す.

Parameters

string $method SUM または COUNT

Return Value

string 昨日の売上高・売上件数を算出する SQL

at line 95
string getOrderMonthSql(string $method)

当月の売上高・売上件数を算出する SQL を返す.

Parameters

string $method SUM または COUNT

Return Value

string 当月の売上高・売上件数を算出する SQL

at line 109
string getReviewYesterdaySql()

昨日のレビュー書き込み件数を算出する SQL を返す.

Return Value

string 昨日のレビュー書き込み件数を算出する SQL

at line 125
string getSendHistoryWhereStartdateSql()

メール送信履歴の start_date の検索条件の SQL を返す.

Return Value

string 検索条件の SQL

at line 136
string getDownloadableDaysWhereSql(string $dtb_order_alias = 'dtb_order')

ダウンロード販売の検索条件の SQL を返す.

Parameters

string $dtb_order_alias

Return Value

string 検索条件の SQL

at line 213
string concatColumn(string[] $columns)

文字列連結を行う.

Parameters

string[] $columns 連結を行うカラム名

Return Value

string 連結後の SQL 文

at line 238
array findTableNames(string $expression = '') deprecated

deprecated Query::listTables() を使用してください

テーブルを検索する.

引数に部分一致するテーブル名を配列で返す.

Parameters

string $expression 検索文字列

Return Value

array テーブル名の配列

in DBFactory at line 199
array sfGetCreateIndexDefinition($table, $name, $definition)

インデックス作成の追加定義を取得する

引数に部分一致するテーブル名を配列で返す.

Parameters

$table
$name
$definition

Return Value

array インデックス設定情報配列

in DBFactory at line 210
void initObjQuery(Query $objQuery)

各 DB に応じた Query での初期化を行う

Parameters

Query $objQuery Query インスタンス

Return Value

void

at line 286
array listTables(Query $objQuery)

テーブル一覧を取得する

MDB2DriverManager_pgsql#listTables の不具合回避を目的として独自実装している。

Parameters

Query $objQuery

Return Value

array テーブル名の配列

in DBFactory at line 234
string addLimitOffset(string $sql, integer $limit, integer $offset)

SQL 文に OFFSET, LIMIT を付加する。

Parameters

string $sql 元の SQL 文
integer $limit LIMIT
integer $offset OFFSET

Return Value

string 付加後の SQL 文

at line 302
string alldtlSQL(string $where_products_class = '')

商品詳細の SQL を取得する.

PostgreSQL 用にチューニング。

Parameters

string $where_products_class 商品規格情報の WHERE 句

Return Value

string 商品詳細の SQL

at line 165
string getOrderTotalDaysWhereSql(mixed $type)

売上集計の期間別集計のSQLを返す

Parameters

mixed $type

Return Value

string 検索条件のSQL

at line 202
string getOrderTotalAgeColSql()

売上集計の年代別集計の年代抽出部分のSQLを返す

Return Value

string 年代抽出部分の SQL

at line 264
array getCharSet()

文字コード情報を取得する

Return Value

array 文字コード情報

at line 275
string getDummyFromClauseSql()

擬似表を表すSQL文(FROM 句)を取得する

Return Value

string