Home Explore Blog CI



postgresql

64th chunk of `doc/src/sgml/catalogs.sgml`
9aa3275b26107564967ac7acc0dce11037ac340e355ac6650000000100000fa0
  <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprleft</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Type of the left operand (zero for a prefix operator)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprright</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Type of the right operand
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprresult</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-type"><structname>pg_type</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Type of the result
       (zero for a not-yet-defined <quote>shell</quote> operator)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprcom</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-operator"><structname>pg_operator</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Commutator of this operator (zero if none)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprnegate</structfield> <type>oid</type>
       (references <link linkend="catalog-pg-operator"><structname>pg_operator</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Negator of this operator (zero if none)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprcode</structfield> <type>regproc</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Function that implements this operator
       (zero for a not-yet-defined <quote>shell</quote> operator)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprrest</structfield> <type>regproc</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Restriction selectivity estimation function for this operator
       (zero if none)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>oprjoin</structfield> <type>regproc</type>
       (references <link linkend="catalog-pg-proc"><structname>pg_proc</structname></link>.<structfield>oid</structfield>)
      </para>
      <para>
       Join selectivity estimation function for this operator
       (zero if none)
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>

 </sect1>


 <sect1 id="catalog-pg-opfamily">
  <title><structname>pg_opfamily</structname></title>

  <indexterm zone="catalog-pg-opfamily">
   <primary>pg_opfamily</primary>
  </indexterm>

  <para>
   The catalog <structname>pg_opfamily</structname> defines operator families.
   Each operator family is a collection of operators and associated
   support routines that implement the semantics specified for a particular
   index access method.  Furthermore, the operators in a family are all
   <quote>compatible</quote>, in a way that is specified by the access method.
   The operator family concept allows cross-data-type operators to be used
   with indexes and to be reasoned about using knowledge of access method
   semantics.
  </para>

  <para>
  

Title: pg_operator Columns: Data Types, Commutator, Negator, Implementation Function, and Selectivity Estimation Functions
Summary
This section details more columns of the `pg_operator` catalog, expanding on the types of the left and right operands and the result type. It also defines the `oprcom` column (commutator operator), `oprnegate` column (negator operator), `oprcode` column (implementation function), `oprrest` column (restriction selectivity estimation function), and `oprjoin` column (join selectivity estimation function).