Chapter 11. SQLの拡張:演算子

Table of Contents
11.1. 序文
11.2.
11.3. 演算子最適化に関する情報
11.3.1. COMMUTATOR句
11.3.2. NEGATOR句
11.3.3. RESTRICT句
11.3.4. JOIN 句
11.3.5. HASHES句
11.3.6. MERGES (SORT1, SORT2, LTCMP, GTCMP)

11.1. 序文

PostgreSQLでは左単項演算子、右単項演算子、二項演算子をサポートしています。演算子はオーバーロード可能です。 つまり、同じ演算子名をオペランドの数と型が異なる演算子に対して使用することができるということです。もし使用する演算子に曖昧な状態があり、システムが使用するべき正しい演算子を決定することができない場合は、エラーを返します。その場合、どの演算子を使いたいのかを明示的に指定するために、左/右演算項目を型キャストを行う必要があるかもしれません。

全ての演算子は、実際の処理を行なう関数を呼び出す"文法的代理"です。 したがって、演算子を作成する前に、まずはその基礎となる関数を作成する必要があります。しかし、演算子は単なる文法的代理だけではありません。 その演算子を使う問い合わせを最適化するクエリプランナを補助するための、追加的な情報を伝える機能を持っています。この章の大部分は、この追加的な情報について説明します。