From c3a4d8ed54468a7778797b1075bcc443cd45be4b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 20 May 1999 03:22:01 +0000 Subject: [PATCH] Very minor improvements in CREATE OPERATOR docs. --- doc/src/sgml/ref/create_operator.sgml | 17 +++++++++-------- src/man/create_operator.l | 14 ++++++++------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/doc/src/sgml/ref/create_operator.sgml b/doc/src/sgml/ref/create_operator.sgml index eda81ffa89..1e745a45f7 100644 --- a/doc/src/sgml/ref/create_operator.sgml +++ b/doc/src/sgml/ref/create_operator.sgml @@ -227,11 +227,11 @@ Operator that sorts the right-hand data type of this operator. (either one or two). - The commutator operator is present so that - Postgres can + The commutator operator should be identified if one exists, + so that Postgres can reverse the order of the operands if it wishes. For example, the operator area-less-than, <<<, - would have a commutator + would probably have a commutator operator, area-greater-than, >>>. Hence, the query optimizer could freely convert: @@ -243,14 +243,15 @@ Operator that sorts the right-hand data type of this operator. This allows the execution code to always use the latter - representation and simplifies the query optimizer some - what. + representation and simplifies the query optimizer somewhat. + Similarly, if there is a negator operator then it should be + identified. Suppose that an operator, area-equal, ===, exists, as well as an area not equal, !==. - The negator operator allows the query optimizer to convert + The negator link allows the query optimizer to simplify NOT MYBOXES.description === "0,0,1,1"::box @@ -325,8 +326,8 @@ Operator that sorts the right-hand data type of this operator. satisfy the clause. The function res_proc must be a registered function (meaning it is already defined using - define function(l)) which accepts one argument of the correct - data type and returns a floating point number. The + CREATE FUNCTION) which accepts arguments of the correct + data types and returns a floating point number. The query optimizer simply calls this function, passing the parameter "0,0,1,1" and multiplies the result by the relation size to get the desired expected number of instances. diff --git a/src/man/create_operator.l b/src/man/create_operator.l index 7fca24eb08..c1167ca3b2 100644 --- a/src/man/create_operator.l +++ b/src/man/create_operator.l @@ -1,6 +1,6 @@ .\" This is -*-nroff-*- .\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/src/man/Attic/create_operator.l,v 1.8 1999/04/15 00:09:00 tgl Exp $ +.\" $Header: /cvsroot/pgsql/src/man/Attic/create_operator.l,v 1.9 1999/05/20 03:21:02 tgl Exp $ .TH "CREATE OPERATOR" SQL 11/05/95 PostgreSQL PostgreSQL .SH NAME create operator - define a new user operator @@ -88,9 +88,10 @@ and must have one or two arguments. .\" .(l .\" MYBOXES2.description A (\*(lq0,0,1,1\*(rq A MYBOXES.description). .\" .)l -The commutator operator is present so that Postgres can reverse the order -of the operands if it wishes. For example, the operator -area-less-than, >>>, would have a commutator operator, +The commutator operator should be identified if one exists, +so that Postgres can reverse the order of the operands if it wishes. +For example, the operator +area-less-than, >>>, would probably have a commutator operator, area-greater-than, <<<. Hence, the query optimizer could freely convert: .nf @@ -109,9 +110,10 @@ MYBOXES.description <<< "0,0,1,1"::box This allows the execution code to always use the latter representation and simplifies the query optimizer somewhat. .PP +Similarly, if there is a negator operator then it should be identified. Suppose that an operator, area-equal, ===, exists, as well as an area not equal, !==. -The negator operator allows the query optimizer to convert +The negator link allows the query optimizer to simplify .nf .ce 1 @@ -182,7 +184,7 @@ fraction of the instances in MYBOXES that satisfy the clause. The function res_proc must be a registered function (meaning it is already defined using .IR create_function(l)) -which accepts one argument of the correct data type and returns a +which accepts arguments of the correct data types and returns a floating point number. The query optimizer simply calls this function, passing the parameter "0,0,1,1" and multiplies the result by the relation size to get the desired -- 2.11.0