無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

47.4. pg_amop

pg_amop カタログにはアクセスメソッド演算子の集合に関連付けられた演算子の情報が格納されています。 演算子族のメンバである演算子毎に1つの行が存在します。 演算子族のメンバは 検索 演算子または 順序付け 演算子のいずれかになることができます。 演算子は1つ以上の演算子族に現れますが、演算子族の中では検索でも順序付けでも複数現れることはありません。 (ほとんどありませんが、ある演算子が検索目的と順序付け目的の両方で使用されることが許されます。)

表 47-4. pg_amop の列

名前 参照先 説明
oid oid   行識別子(隠し属性です。明示的に選択しなければなりません)
amopfamily oid pg_opfamily .oid この項目用の演算子族
amoplefttype oid pg_type .oid 演算子の左辺側のデータ型
amoprighttype oid pg_type .oid 演算子の右辺側のデータ型
amopstrategy int2   演算子の戦略番号
amoppurpose char   演算子の目的。検索用ならば s 、順序付け用であれば o
amopopr oid pg_operator .oid 演算子のOID
amopmethod oid pg_am .oid 演算子族用のインデックスアクセスメソッド
amopsortfamily oid pg_opfamily .oid 順序付け用の演算子の場合、この項目のソートが従うbtree演算子族。検索用演算子であればゼロ

"検索" 用演算子の項目は、この演算子族のインデックスを WHERE indexed_column operator constant を持たすすべての行を見つけるための検索に使用できることを示します。 いうまでもありませんが、こうした演算子は論理型を返さなければならず、また左辺の入力型はインデックス列のデータ型に一致しなければなりません。

"順序付け" 用演算子の項目は、この演算子族のインデックスを ORDER BY indexed_column operator constant で表される順序で行を返すためのスキャンに使用することができることを示します。 こうした演算子の左辺の入力型はインデックス列のデータ型に一致しなければならないことは同じですが、任意のソート可能なデータ型を返すことができます。 ORDER BY の正確な意味は、この演算子の結果型用のbtree演算子族を参照する必要がある amopsortfamily 列により指定されます。

注意: 現在、順序付け演算子のソート順は参照される演算子族のデフォルト、つまり ASC NULLS LAST であると仮定されています。 これは将来、ソートオプションを明示的に指定する追加列を加えることで緩和されるかもしれません。

項目の amopmethod は、項目を含む演算子族の opfmethod に一致しなくてはいけません。 (ここでの amopmethod は、性能上の理由からカタログ構造を意図的に非正規化したものも含みます。) また、 amoplefttype amoprighttype は、参照されている pg_operator 項目の oprleft oprright に一致しなくてはいけません。


powered by SEO.CUG.NET