Doc: revise formatting of function/operator tables.
authorTom Lane
Sat, 18 Apr 2020 00:50:26 +0000 (20:50 -0400)
committerTom Lane
Sat, 18 Apr 2020 00:50:40 +0000 (20:50 -0400)
The table layout ideas proposed in commit e894c6183 were not as widely
popular as I'd hoped.  After discussion, we've settled on a layout
that's effectively a single-column table with cell contents much like a
 description of the function or operator; though we're not
actually using , because it'd add way too much vertical
space.  Instead the effect is accomplished using line-break processing
instructions to separate the description and example(s), plus CSS or FO
customizations to produce indentation of all but the first line in each
cell.  While technically this is a bit grotty, it does have the
advantage that we won't need to write nearly as much boilerplate markup.

This patch updates tables 9.30, 9.31, and 9.33 (which were touched by
the previous patch) to the revised style, and additionally converts
table 9.10.  A lot of work still remains to do, but hopefully it won't
be too controversial.

Thanks to Andrew Dunstan, Pierre Giraud, Robert Haas, Alvaro Herrera,
David Johnston, Jonathan Katz, Isaac Morland for valuable ideas.

Discussion: https://postgr.es/m/8691.1586798003@sss.pgh.pa.us

doc/src/sgml/func.sgml
doc/src/sgml/stylesheet-common.xsl
doc/src/sgml/stylesheet-fo.xsl
doc/src/sgml/stylesheet.css

index 7a270eb0ab228f81021e835a04a421f90d3573ae..92c1835ae3ea3ab1abc56b8e55e0774041e68a87 100644 (file)
        
        text
        
-        Remove the longest string containing only characters from
+        Remove the longest string containing only characters in
         characters (a space by default) from the
         start, end, or both ends (both is the default)
         of string
 
    
     Other String Functions
-    5">
+    1">
      
       
-       Function
-       Return Type
-       Description
-       Example
-       Result
+       
+        FunctionDescriptionExample(s)
+       
       
      
 
      
       
-       
+        role="functableentry">
         
          ascii
         
-        ascii(string)
-       
-       int
-       
-        ASCII code of the first character of the
-        argument.  For UTF8 returns the Unicode code
-        point of the character.  For other multibyte encodings, the
-        argument must be an ASCII character.
+        ascii ( text )
+        integer
+       
+        Returns the numeric code of the first character of the argument.
+        In UTF8 encoding, returns the Unicode code point
+        of the character.  In other multibyte encodings, the argument must
+        be an ASCII character.
+       
+        ascii('x')
+        120
        
-       ascii('x')
-       120
       
 
       
-       
+        role="functableentry">
         
          btrim
         
-        btrim(string text
-        characters text)
-       
-       text
-       
-        Remove the longest string consisting only of characters
+        btrim ( string text
+        characters text  )
+        text
+       
+        Removes the longest string consisting only of characters
         in characters (a space by default)
-        from the start and end of string
+        from the start and end of string.
+       
+        btrim('xyxtrimyyx', 'xyz')
+        trim
        
-       btrim('xyxtrimyyx', 'xyz')
-       trim
       
 
       
-       
+        role="functableentry">
         
          chr
         
-        chr(int)
+        chr ( integer )
+        text
+       
+        Returns the character with the given code. In UTF8
+        encoding the argument is treated as a Unicode code point. In other
+        multibyte encodings the argument must designate
+        an ASCII character.  chr(0) is
+        disallowed because text data types cannot store that character.
+      
+        chr(65)
+        A
        
-       text
-       
-        Character with the given code. For UTF8 the
-        argument is treated as a Unicode code point. For other multibyte
-        encodings the argument must designate an
-        ASCII character.  The NULL (0) character is not
-        allowed because text data types cannot store such bytes.
-       
-       chr(65)
-       A
       
 
       
-       
+        role="functableentry">
         
          concat
         
-        concat(str "any"
-         [, str "any" [, ...] ])
-       
-       text
-       
-        Concatenate the text representations of all the arguments.
+        concat ( val1 "any"
+         [, val2 "any" [, ...] ] )
+        text
+       
+        Concatenates the text representations of all the arguments.
         NULL arguments are ignored.
+       
+        concat('abcde', 2, NULL, 22)
+        abcde222
        
-       concat('abcde', 2, NULL, 22)
-       abcde222
       
 
       
-       
+        role="functableentry">
         
          concat_ws
         
-        concat_ws(sep text,
-        str "any"
-        [, str "any" [, ...] ])
-       
-       text
-       
-        Concatenate all but the first argument with separators. The first
-        argument is used as the separator string. NULL arguments are ignored.
+        concat_ws ( sep text,
+        val1 "any"
+        [, val2 "any" [, ...] ] )
+        text
+       
+        Concatenates all but the first argument, with separators. The first
+        argument is used as the separator string, and should not be NULL.
+        Other NULL arguments are ignored.
+       
+        concat_ws(',', 'abcde', 2, NULL, 22)
+        abcde,2,22
        
-       concat_ws(',', 'abcde', 2, NULL, 22)
-       abcde,2,22
       
 
       
-       
+        role="functableentry">
         
          format
         
-        <literal>format(formatstr text
-        [, formatarg "any" [, ...] ])
-       >
-       <entry>text>
-       
-         Format arguments according to a format string.
+        <function>format ( formatstr text
+        [, formatarg "any" [, ...] ] )
+        text>
+       <?br?>
+         Formats arguments according to a format string;
+         see .
          This function is similar to the C function sprintf.
-         See .
+       
+        format('Hello %s, %1$s', 'World')
+        Hello World, World
        
-       format('Hello %s, %1$s', 'World')
-       Hello World, World
       
 
       
-       
+        role="functableentry">
         
          initcap
         
-        initcap(string)
-       
-       text
-       
-        Convert the first letter of each word to upper case and the
+        initcap ( text )
+        text
+       
+        Converts the first letter of each word to upper case and the
         rest to lower case. Words are sequences of alphanumeric
         characters separated by non-alphanumeric characters.
+       
+        initcap('hi THOMAS')
+        Hi Thomas
        
-       initcap('hi THOMAS')
-       Hi Thomas
       
 
       
-       
+        role="functableentry">
         
          left
         
-        left(string text,
-        n int)
+        left ( string text,
+        n integer )
+        text
+       
+        Returns first n characters in the
+        string, or when n is negative, returns
+        all but last |n| characters.
+       
+        left('abcde', 2)
+        ab
        
-       text
-       
-        Return first n characters in the
-        string, or when n is negative, return
-        all but last |n| characters
-        
-       left('abcde', 2)
-       ab
       
 
       
-       
+        role="functableentry">
         
          length
         
-        length(string)
-       
-       int
-       
-        Number of characters in string
+        length ( text )
+        integer
+       
+        Returns the number of characters in the string.
+       
+        length('jose')
+        4
        
-       length('jose')
-       4
       
 
       
-       
+        role="functableentry">
         
          lpad
         
-        lpad(string text,
-        length int
-        fill text)
-       
-       text
-       
-        Extend the string to length
+        lpad ( string text,
+        length integer
+        fill text  )
+        text
+       
+        Extends the string to length
         length by prepending the characters
         fill (a space by default).  If the
         string is already longer than
-        length then it is truncated (on the
-        right).
+        length then it is truncated (on the right).
+       
+        lpad('hi', 5, 'xy')
+        xyxhi
        
-       lpad('hi', 5, 'xy')
-       xyxhi
       
 
       
-       
+        role="functableentry">
         
          ltrim
         
-        ltrim(string text
-        characters text)
-       
-       text
-       
-        Remove the longest string containing only characters from
+        ltrim ( string text
+        characters text  )
+        text
+       
+        Removes the longest string containing only characters in
         characters (a space by default) from the start of
-        string
+        string.
+       
+        ltrim('zzzytest', 'xyz')
+        test
        
-       ltrim('zzzytest', 'xyz')
-       test
       
 
       
-       
+        role="functableentry">
         
          md5
         
-        md5(string)
-       
-       text
-       
-        MD5 hash, with
-        the result written in hexadecimal
+        md5 ( text )
+        text
+       
+        Computes the MD5 hash of
+        the argument, with the result written in hexadecimal.
+       
+        md5('abc')
+        900150983cd24fb0&zwsp;d6963f7d28e17f72
        
-       md5('abc')
-       900150983cd24fb0 d6963f7d28e17f72
       
 
       
-       
+        role="functableentry">
         
          parse_ident
         
-        parse_ident(qualified_identifier text
-           [, strictmode boolean DEFAULT true ] )
-       
-       text[]
-       
-        Split qualified_identifier into an array of
+        parse_ident ( qualified_identifier text
+        [, strict_mode boolean DEFAULT true ] )
+        text[]
+       
+        Splits qualified_identifier into an array of
         identifiers, removing any quoting of individual identifiers.  By
         default, extra characters after the last identifier are considered an
         error; but if the second parameter is false, then such
         names for objects like functions.) Note that this function does not
         truncate over-length identifiers. If you want truncation you can cast
         the result to name[].
+       
+        parse_ident('"SomeSchema".someTable')
+        {SomeSchema,sometable}
        
-       parse_ident('"SomeSchema".someTable')
-       {SomeSchema,sometable}
       
 
       
-       
+        role="functableentry">
         
          pg_client_encoding
         
-        pg_client_encoding()
+        pg_client_encoding ( )
+        name
+       
+        Returns current client encoding name.
+       
+        pg_client_encoding()
+        UTF8
        
-       name
-       
-        Current client encoding name
-       
-       pg_client_encoding()
-       SQL_ASCII
       
 
       
-       
+        role="functableentry">
         
          quote_ident
         
-        quote_ident(string text)
-       
-       text
-       
-        Return the given string suitably quoted to be used as an identifier
+        quote_ident ( text )
+        text
+       
+        Returns the given string suitably quoted to be used as an identifier
         in an SQL statement string.
         Quotes are added only if necessary (i.e., if the string contains
         non-identifier characters or would be case-folded).
         Embedded quotes are properly doubled.
         See also .
+       
+        quote_ident('Foo bar')
+        "Foo bar"
        
-       quote_ident('Foo bar')
-       "Foo bar"
       
 
       
-       
+        role="functableentry">
         
          quote_literal
         
-        quote_literal(string text)
-       
-       text
-       
-        Return the given string suitably quoted to be used as a string literal
+        quote_literal ( text )
+        text
+       
+        Returns the given string suitably quoted to be used as a string literal
         in an SQL statement string.
         Embedded single-quotes and backslashes are properly doubled.
         Note that quote_literal returns null on null
         input; if the argument might be null,
         quote_nullable is often more suitable.
         See also .
+       
+        quote_literal(E'O\'Reilly')
+        'O''Reilly'
        
-       quote_literal(E'O\'Reilly')
-       'O''Reilly'
       
 
       
-       quote_literal(value anyelement)
-       text
-       
-        Coerce the given value to text and then quote it as a literal.
+       
+        quote_literal ( anyelement )
+        text
+       
+        Converts the given value to text and then quotes it as a literal.
         Embedded single-quotes and backslashes are properly doubled.
+       
+        quote_literal(42.5)
+        '42.5'
        
-       quote_literal(42.5)
-       '42.5'
       
 
       
-       
+        role="functableentry">
         
          quote_nullable
         
-        quote_nullable(string text)
-       
-       text
-       
-        Return the given string suitably quoted to be used as a string literal
+        quote_nullable ( text )
+        text
+       
+        Returns the given string suitably quoted to be used as a string literal
         in an SQL statement string; or, if the argument
-        is null, return NULL.
+        is null, returns NULL.
         Embedded single-quotes and backslashes are properly doubled.
         See also .
+       
+        quote_nullable(NULL)
+        NULL
        
-       quote_nullable(NULL)
-       NULL
       
 
       
-       quote_nullable(value anyelement)
-       text
-       
-        Coerce the given value to text and then quote it as a literal;
-        or, if the argument is null, return NULL.
+       
+        quote_nullable ( anyelement )
+        text
+       
+        Converts the given value to text and then quotes it as a literal;
+        or, if the argument is null, returns NULL.
         Embedded single-quotes and backslashes are properly doubled.
+       
+        quote_nullable(42.5)
+        '42.5'
        
-       quote_nullable(42.5)
-       '42.5'
       
 
       
-       
+        role="functableentry">
         
          regexp_match
         
-        regexp_match(string textpattern text [, flags text])
-       
-       text[]
-       
-        Return captured substring(s) resulting from the first match of a POSIX
-        regular expression to the string (see
-         for more information)
+        regexp_match ( string textpattern text [, flags text ] )
+        text[]
+       
+        Returns captured substring(s) resulting from the first match of a POSIX
+        regular expression to the string; see
+        .
+       
+        regexp_match('foobarbequebaz', '(bar)(beque)')
+        {bar,beque}
        
-       regexp_match('foobarbequebaz', '(bar)(beque)')
-       {bar,beque}
       
 
       
-       
+        role="functableentry">
         
          regexp_matches
         
-        regexp_matches(string textpattern text [, flags text])
-       
-       setof text[]
-       
-        Return captured substring(s) resulting from matching a POSIX regular
-        expression to the string (see
-         for more information)
+        regexp_matches ( string textpattern text [, flags text ] )
+        setof text[]
+       
+        Returns captured substring(s) resulting from matching a POSIX regular
+        expression to the string; see
+        .
+       
+        regexp_matches('foobarbequebaz', 'ba.', 'g')
+        {bar}{baz}(2 rows in result)
        
-       regexp_matches('foobarbequebaz', 'ba.', 'g')
-       {bar}{baz} (2 rows)
       
 
       
-       
+        role="functableentry">
         
          regexp_replace
         
-        regexp_replace(string textpattern textreplacement text [, flags text])
-       
-       text
-       
-        Replace substring(s) matching a POSIX regular expression (see
-         for more information)
+        regexp_replace ( string textpattern textreplacement text [, flags text ] )
+        text
+       
+        Replaces substring(s) matching a POSIX regular expression; see
+        .
+       
+        regexp_replace('Thomas', '.[mN]a.', 'M')
+        ThM
        
-       regexp_replace('Thomas', '.[mN]a.', 'M')
-       ThM
       
 
       
-       
+        role="functableentry">
         
          regexp_split_to_array
         
-        regexp_split_to_array(string textpattern text [, flags text ])
-       
-       text[]
-       
-        Split string using a POSIX regular expression as
-        the delimiter (see  for more
-        information)
+        regexp_split_to_array ( string textpattern text [, flags text ] )
+        text[]
+       
+        Splits string using a POSIX regular
+        expression as the delimiter; see
+        .
+       
+        regexp_split_to_array('hello world', '\s+')
+        {hello,world}
        
-       regexp_split_to_array('hello world', '\s+')
-       {hello,world}
       
 
       
-       
+        role="functableentry">
         
          regexp_split_to_table
         
-        regexp_split_to_table(string textpattern text [, flags text])
-       
-       setof text
-       
-        Split string using a POSIX regular expression as
-        the delimiter (see  for more
-        information)
+        regexp_split_to_table ( string textpattern text [, flags text ] )
+        setof text
+       
+        Splits string using a POSIX regular
+        expression as the delimiter; see
+        .
+       
+        regexp_split_to_table('hello world', '\s+')
+        helloworld(2 rows in result)
        
-       regexp_split_to_table('hello world', '\s+')
-       helloworld (2 rows)
       
 
       
-       
+        role="functableentry">
         
          repeat
         
-        repeat(string textnumber int)
+        repeat ( string textnumber integer )
+        text
+       
+        Repeats string the specified
+        number of times.
+       
+        repeat('Pg', 4)
+        PgPgPgPg
        
-       text
-       Repeat string the specified
-       number of times
-       repeat('Pg', 4)
-       PgPgPgPg
       
 
       
-       
+        role="functableentry">
         
          replace
         
-        <literal>replace(string text,
+        <function>replace ( string text,
         from text,
-        to text)
+        to text )
+        text
+       
+        Replaces all occurrences in string of
+        substring from with
+        substring to.
+       
+        replace('abcdefabcdef', 'cd', 'XX')
+        abXXefabXXef
        
-       text
-       Replace all occurrences in string of substring
-        from with substring to
-       
-       replace('abcdefabcdef', 'cd', 'XX')
-       abXXefabXXef
       
 
       
-       
+        role="functableentry">
         
          reverse
         
-        reverse(str)
+        reverse ( text )
+        text
+       
+        Reverses the order of the characters in the string.
+       
+        reverse('abcde')
+        edcba
        
-       text
-       
-        Reverse the order of the characters in string
-       
-       reverse('abcde')
-       edcba
       
 
       
-       
+        role="functableentry">
         
          right
         
-        right(string text,
-         n int)
-       
-       text
-       
-        Return last n characters in the string,
-        or when n is negative, return all but
-        first |n| characters
+        right ( string text,
+         n integer )
+ )
+        text
+       
+        Returns last n characters in the string,
+        or when n is negative, returns all but
+        first |n| characters.
+       
+        right('abcde', 2)
+        de
        
-       right('abcde', 2)
-       de
       
 
       
-       
+        role="functableentry">
         
          rpad
         
-        <literal>rpad(string text,
-        length int
-        fill text)
-       
-       text>
-       <entry>
-        Extend the string to length
+        <function>rpad ( string text,
+        length integer
+        fill text  )
+ )
+        text>
+       <?br?>
+        Extends the string to length
         length by appending the characters
         fill (a space by default).  If the
         string is already longer than
         length then it is truncated.
+       
+        rpad('hi', 5, 'xy')
+        hixyx
        
-       rpad('hi', 5, 'xy')
-       hixyx
       
 
       
-       
+        role="functableentry">
         
          rtrim
         
-        rtrim(string text
-         characters text)
-       
-       text
-       
-        Remove the longest string containing only characters from
+        rtrim ( string text
+         characters text  )
+        text
+       
+        Removes the longest string containing only characters in
         characters (a space by default) from the end of
-        string
+        string.
+       
+        rtrim('testxxzx', 'xyz')
+        test
        
-       rtrim('testxxzx', 'xyz')
-       test
       
 
       
-       
+        role="functableentry">
         
          split_part
         
-        <literal>split_part(string text,
+        <function>split_part ( string text,
         delimiter text,
-        field int)
-       
-       text
-       Split string on delimiter
-        and return the given field (counting from one)
+        n integer )
+        text
+       
+        Splits string at occurrences
+        of delimiter and returns
+        the n'th field (counting from one).
+       
+        split_part('abc~@~def~@~ghi', '~@~', 2)
+        def
        
-       split_part('abc~@~def~@~ghi', '~@~', 2)
-       def
       
 
       
-       
+        role="functableentry">
         
          strpos
         
-        strpos(stringsubstring)
-       
-       int
-       
-        Location of specified substring (same as
-        position(substring in
-         string), but note the reversed
-        argument order)
+        strpos ( string textsubstring text )
+        integer
+       
+        Returns location of specified substring
+        within string, or zero if it's not present.
+        (Same as position(substring in
+        string), but note the reversed
+        argument order.)
+       
+        strpos('high', 'ig')
+        2
        
-       strpos('high', 'ig')
-       2
       
 
       
-       
+        role="functableentry">
         
          substr
         
-        substr(stringfrom count)
-       
-       text
-       
-        Extract substring (same as
-        substring(string from from for count))
-       
-       substr('alphabet', 3, 2)
-       ph
-      
-
-      
-       
+        substr ( string textstart integer count integer  )
+ )
+        text
+       
+        Extracts substring starting at index start,
+        and extending for count characters if that is
+        specified.  (Same
+        as substring(string
+        from start
+        for count).)
+       
+        substr('alphabet', 3)
+        phabet
+       
+        substr('alphabet', 3, 2)
+        ph
+       
+      
+
+      
+       
         
          starts_with
         
-        starts_with(stringprefix)
+        starts_with ( string textprefix text )
+        boolean
+       
+        Returns true if string starts
+        with prefix.
+       
+        starts_with('alphabet', 'alph')
+        t
        
-       bool
-       
-        Return true if string starts
-        with prefix
-       
-       starts_with('alphabet', 'alph')
-       t
       
 
       
-       
+        role="functableentry">
         
          to_ascii
         
-        to_ascii(string text
-        encoding text)
-       
-       text
-       
-       Convert string to ASCII from another encoding
-       (only supports conversion from  LATIN1LATIN2LATIN9,
-       and WIN1250 encodings)
+        to_ascii ( string text
+        encoding name or integer  )
+        text
+       
+        Converts string to ASCII
+        from another encoding, which may be identified by name or number;
+        if encoding is omitted the database encoding
+        is assumed.  The conversion consists primarily of dropping accents.
+        Conversion is only supported
+        from LATIN1LATIN2,
+        LATIN9, and WIN1250 encodings.
+       
+        to_ascii('Karél')
+        Karel
        
-       to_ascii('Karel')
-       Karel
       
 
       
-       
+        role="functableentry">
         
          to_hex
         
-        to_hex(number int
-        or bigint)
-       
-       text
-       Convert number to its equivalent hexadecimal
-        representation
+        to_hex ( number
+        integer
+        or bigint )
+        text
+       
+        Converts number to its equivalent hexadecimal
+        representation.
+       
+        to_hex(2147483647)
+        7fffffff
        
-       to_hex(2147483647)
-       7fffffff
       
 
       
-       
+        role="functableentry">
         
          translate
         
-        <literal>translate(string text,
+        <function>translate ( string text,
         from text,
-        to text)
-       
-       text
-       
-        Any character in string that matches a
-        character in the from set is replaced by
-        the corresponding character in the to
+        to text )
+        text
+       
+        Replaces each character in string that
+        matches a character in the from set with the
+        corresponding character in the to
         set. If from is longer than
         to, occurrences of the extra characters in
-        from are removed.
+        from are deleted.
+       
+        translate('12345', '143', 'ax')
+        a2x5
        
-       translate('12345', '143', 'ax')
-       a2x5
       
 
      
@@ -6743,257 +6768,224 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}');
     
      Date/Time Operators
 
-     
-      
-      
-      
-      
-      
-      
-      
-      
+     
       
        
-        Operator
-        Signature
-       
-       
-        Description
-       
-       
-        Example
-        Example Result
+        
+         OperatorDescriptionExample(s)
+        
        
       
 
       
        
-         + 
-        date + integer
-         date
-       
-       
-        Add a number of days to a date
-       
-       
-        date '2001-09-28' + 7
-        2001-10-05
+        
+         date + integer
+         date
+        
+         Add a number of days to a date
+        
+         date '2001-09-28' + 7
+         2001-10-05
+        
        
 
        
-         + 
-        date + interval
-         timestamp
-       
-       
-        Add an interval to a date
-       
-       
-        date '2001-09-28' + interval '1 hour'
-        2001-09-28 01:00:00
+        
+         date + interval
+         timestamp
+        
+         Add an interval to a date
+        
+         date '2001-09-28' + interval '1 hour'
+         2001-09-28 01:00:00
+        
        
 
        
-         + 
-        date + time
-         timestamp
-       
-       
-        Add a time-of-day to a date
-       
-       
-        date '2001-09-28' + time '03:00'
-        2001-09-28 03:00:00
+        
+         date + time
+         timestamp
+        
+         Add a time-of-day to a date
+        
+         date '2001-09-28' + time '03:00'
+         2001-09-28 03:00:00
+        
        
 
        
-         + 
-        interval + interval
-         interval
-       
-       
-        Add intervals
-       
-       
-        interval '1 day' + interval '1 hour'
-        1 day 01:00:00
+        
+         interval + interval
+         interval
+        
+         Add intervals
+        
+         interval '1 day' + interval '1 hour'
+         1 day 01:00:00
+        
        
 
        
-         + 
-        timestamp + interval
-         timestamp
-       
-       
-        Add an interval to a timestamp
-       
-       
-        timestamp '2001-09-28 01:00' + interval '23 hours'
-        2001-09-29 00:00:00
+        
+         timestamp + interval
+         timestamp
+        
+         Add an interval to a timestamp
+        
+         timestamp '2001-09-28 01:00' + interval '23 hours'
+         2001-09-29 00:00:00
+        
        
 
        
-         + 
-        time + interval
-         time
-       
-       
-        Add an interval to a time
-       
-       
-        time '01:00' + interval '3 hours'
-        04:00:00
+        
+         time + interval
+         time
+        
+         Add an interval to a time
+        
+         time '01:00' + interval '3 hours'
+         04:00:00
+        
        
 
        
-         - 
-        - interval
-         interval
-       
-       
-        Negate an interval
-       
-       
-        - interval '23 hours'
-        -23:00:00
+        
+         - interval
+         interval
+        
+         Negate an interval
+        
+         - interval '23 hours'
+         -23:00:00
+        
        
 
        
-         - 
-        date - date
-         integer
-       
-       
-        Subtract dates
-       
-       
-        date '2001-10-01' - date '2001-09-28'
-        3
+        
+         date - date
+         integer
+        
+         Subtract dates, producing the number of days elapsed
+        
+         date '2001-10-01' - date '2001-09-28'
+         3
+        
        
 
        
-         - 
-        date - integer
-         date
-       
-       
-        Subtract a number of days from a date
-       
-       
-        date '2001-10-01' - 7
-        2001-09-24
+        
+         date - integer
+         date
+        
+         Subtract a number of days from a date
+        
+         date '2001-10-01' - 7
+         2001-09-24
+        
        
 
        
-         - 
-        date - interval
-         timestamp
-       
-       
-        Subtract an interval from a date
-       
-       
-        date '2001-09-28' - interval '1 hour'
-        2001-09-27 23:00:00
+        
+         date - interval
+         timestamp
+        
+         Subtract an interval from a date
+        
+         date '2001-09-28' - interval '1 hour'
+         2001-09-27 23:00:00
+        
        
 
        
-         - 
-        time - time
-         interval
-       
-       
-        Subtract times
-       
-       
-        time '05:00' - time '03:00'
-        02:00:00
+        
+         time - time
+         interval
+        
+         Subtract times
+        
+         time '05:00' - time '03:00'
+         02:00:00
+        
        
 
        
-         - 
-        time - interval
-         time
-       
-       
-        Subtract an interval from a time
-       
-       
-        time '05:00' - interval '2 hours'
-        03:00:00
+        
+         time - interval
+         time
+        
+         Subtract an interval from a time
+        
+         time '05:00' - interval '2 hours'
+         03:00:00
+        
        
 
        
-         - 
-        timestamp - interval
-         timestamp
-       
-       
-        Subtract an interval from a timestamp
-       
-       
-        timestamp '2001-09-28 23:00' - interval '23 hours'
-        2001-09-28 00:00:00
+        
+         timestamp - interval
+         timestamp
+        
+         Subtract an interval from a timestamp
+        
+         timestamp '2001-09-28 23:00' - interval '23 hours'
+         2001-09-28 00:00:00
+        
        
 
        
-         - 
-        interval - interval
-         interval
-       
-       
-        Subtract intervals
-       
-       
-        interval '1 day' - interval '1 hour'
-        1 day -01:00:00
+        
+         interval - interval
+         interval
+        
+         Subtract intervals
+        
+         interval '1 day' - interval '1 hour'
+         1 day -01:00:00
+        
        
 
        
-         - 
-        timestamp - timestamp
-         interval
-       
-       
-        Subtract timestamps
-       
-       
-        timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00'
-        1 day 15:00:00
+        
+         timestamp - timestamp
+         interval
+        
+         Subtract timestamps
+        
+         timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00'
+         1 day 15:00:00
+        
        
 
        
-         * 
-        double precision * interval
-         interval
-       
-       
-        Multiply an interval by a scalar
-       
-       
-        900 * interval '1 second'
-        00:15:00
-       
-       
-        21 * interval '1 day'
-        21 days
-       
-       
-        3.5 * interval '1 hour'
-        03:30:00
+        
+         interval * double precision
+         interval
+        
+         Multiply an interval by a scalar
+        
+         interval '1 second' * 900
+         00:15:00
+        
+         interval '1 day' * 21
+         21 days
+        
+         interval '1 hour' * 3.5
+         03:30:00
+        
        
 
        
-         / 
-        interval / double precision
-         interval
-       
-       
-        Divide an interval by a scalar
-       
-       
-        interval '1 hour' / 1.5
-        00:40:00
+        
+         interval / double precision
+         interval
+        
+         Divide an interval by a scalar
+        
+         interval '1 hour' / 1.5
+         00:40:00
+        
        
       
      
@@ -7001,677 +6993,552 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}');
 
     
      Date/Time Functions
-     
-      
-      
-      
-      
-      
-      
-      
-      
+     
       
        
-        Function
-        Signature
-       
-       
-        Description
-       
-       
-        Example
-        Example Result
+        
+         FunctionDescriptionExample(s)
+        
        
       
 
       
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           age
          
-         age
+         age ( timestamptimestamp )
+         interval
+        
+         Subtract arguments, producing a symbolic result that
+         uses years and months, rather than just days
+        
+         age(timestamp '2001-04-10', timestamp '1957-06-13')
+         43 years 9 mons 27 days
         
-        age(timestamptimestamp)
-         interval
-       
-       
-        Subtract arguments, producing a symbolic result that
-        uses years and months, rather than just days
-       
-       
-        age(timestamp '2001-04-10', timestamp '1957-06-13')
-        43 years 9 mons 27 days
        
 
        
-        age
-        age(timestamp)
-         interval
-       
-       
-        Subtract from current_date (at midnight)
-       
-       
-        age(timestamp '1957-06-13')
-        variable
+        
+         age ( timestamp )
+         interval
+        
+         Subtract argument from current_date (at midnight)
+        
+         age(timestamp '1957-06-13')
+         62 years 6 mons 10 days
+        
        
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           clock_timestamp
          
-         clock_timestamp
-        
-        clock_timestamp()
-         timestamp with time zone
-       
-       
-        Current date and time (changes during statement execution);
+         clock_timestamp ( )
+         timestamp with time zone
+        
+         Current date and time (changes during statement execution);
          see 
+        
+         clock_timestamp()
+         2019-12-23 14:39:53.662522-05
         
        
-       
-        clock_timestamp()
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           current_date
          
          current_date
-        
-        current_date
-         date
-       
-       
-         Current date;
-         see 
+         date
+        
+         Current date; see 
+        
+         current_date
+         2019-12-23
         
        
-       
-        current_date
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           current_time
          
          current_time
+         time with time zone
+        
+         Current time of day; see 
+        
+         current_time
+         14:39:53.662522-05
         
-        current_time
-         time with time zone
-       
-       
-        Current time of day;
-         see 
-        
-       
-       
-        current_time
-        variable
        
 
        
-        current_time
-        current_time(integer)
-         time with time zone
-       
-       
-        Current time of day, with limited precision;
+        
+         current_time ( integer )
+         time with time zone
+        
+         Current time of day, with limited precision;
          see 
+        
+         current_time(2)
+         14:39:53.66-05
         
        
-       
-        current_time(2)
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           current_timestamp
          
          current_timestamp
-        
-        current_timestamp
-         timestamp with time zone
-       
-       
-        Current date and time (start of current transaction);
+         timestamp with time zone
+        
+         Current date and time (start of current transaction);
          see 
+        
+         current_timestamp
+         2019-12-23 14:39:53.662522-05
         
        
-       
-        current_timestamp
-        variable
-       
 
        
-        current_timestamp
-        current_timestamp(integer)
-         timestamp with time zone
-       
-       
-        Current date and time (start of current transaction), with limited precision;
+        
+         current_timestamp ( integer )
+         timestamp with time zone
+        
+         Current date and time (start of current transaction), with limited precision;
          see 
+        
+         current_timestamp(0)
+         2019-12-23 14:39:53-05
         
        
-       
-        current_timestamp(0)
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           date_part
          
-         date_part
-        
-        date_part(texttimestamp)
-         double precision
-       
-       
-        Get timestamp subfield (equivalent to extract);
+         date_part ( texttimestamp )
+         double precision
+        
+         Get timestamp subfield (equivalent to extract);
          see 
+        
+         date_part('hour', timestamp '2001-02-16 20:38:40')
+         20
         
        
-       
-        date_part('hour', timestamp '2001-02-16 20:38:40')
-        20
-       
 
        
-        date_part
-        date_part(textinterval)
-         double precision
-       
-       
-        Get interval subfield (equivalent to
-         extract); see 
+        
+         date_part ( textinterval )
+         double precision
+        
+         Get interval subfield (equivalent to extract);
+         see 
+        
+         date_part('month', interval '2 years 3 months')
+         3
         
        
-       
-        date_part('month', interval '2 years 3 months')
-        3
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           date_trunc
          
-         date_trunc
+         date_trunc ( texttimestamp )
+         timestamp
+        
+         Truncate to specified precision; see 
+        
+         date_trunc('hour', timestamp '2001-02-16 20:38:40')
+         2001-02-16 20:00:00
         
-        date_trunc(texttimestamp)
-         timestamp
-       
-       
-        Truncate to specified precision; see 
-        
-       
-       
-        date_trunc('hour', timestamp '2001-02-16 20:38:40')
-        2001-02-16 20:00:00
        
 
        
-        date_trunc
-        date_trunc(texttimestamp with time zonetext)
-         timestamp with time zone
-       
-       
-        Truncate to specified precision in the specified time zone; see 
+        
+         date_trunc ( texttimestamp with time zonetext )
+         timestamp with time zone
+        
+         Truncate to specified precision in the specified time zone; see
+         
+        
+         date_trunc('day', timestamptz '2001-02-16 20:38:40+00', 'Australia/Sydney')
+         2001-02-16 13:00:00+00
         
        
-       
-        date_trunc('day', timestamptz '2001-02-16 20:38:40+00', 'Australia/Sydney')
-        2001-02-16 13:00:00+00
-       
 
        
-        date_trunc
-        date_trunc(textinterval)
-         interval
-       
-       
-        Truncate to specified precision; see 
+        
+         date_trunc ( textinterval )
+         interval
+        
+         Truncate to specified precision; see
+         
+        
+         date_trunc('hour', interval '2 days 3 hours 40 minutes')
+         2 days 03:00:00
         
        
-       
-        date_trunc('hour', interval '2 days 3 hours 40 minutes')
-        2 days 03:00:00
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           extract
          
-         extract
+         extract ( field from timestamp )
+         double precision
+        
+         Get timestamp subfield; see 
+        
+         extract(hour from timestamp '2001-02-16 20:38:40')
+         20
         
-        extract(field from timestamp)
-         double precision
-       
-       
-        Get timestamp subfield; see 
-        
-       
-       
-        extract(hour from timestamp '2001-02-16 20:38:40')
-        20
        
 
        
-        extract
-        extract(field from interval)
-         double precision
-       
-       
-        Get interval subfield; see 
+        
+         extract ( field from interval )
+         double precision
+        
+         Get interval subfield; see 
+        
+         extract(month from interval '2 years 3 months')
+         3
         
        
-       
-        extract(month from interval '2 years 3 months')
-        3
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           isfinite
          
-         isfinite
+         isfinite ( date )
+         boolean
+        
+         Test for finite date (not +/-infinity)
+        
+         isfinite(date '2001-02-16')
+         true
         
-        isfinite(date)
-         boolean
-       
-       
-        Test for finite date (not +/-infinity)
-       
-       
-        isfinite(date '2001-02-16')
-        true
        
 
        
-        isfinite
-        isfinite(timestamp)
-         boolean
-       
-       
-        Test for finite timestamp (not +/-infinity)
-       
-       
-        isfinite(timestamp 'infinity')
-        false
+        
+         isfinite ( timestamp )
+         boolean
+        
+         Test for finite timestamp (not +/-infinity)
+        
+         isfinite(timestamp 'infinity')
+         false
+        
        
 
        
-        isfinite
-        isfinite(interval)
-         boolean
-       
-       
-        Test for finite interval (currently always true)
-       
-       
-        isfinite(interval '4 hours')
-        true
+        
+         isfinite ( interval )
+         boolean
+        
+         Test for finite interval (currently always true)
+        
+         isfinite(interval '4 hours')
+         true
+        
        
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           justify_days
          
-         justify_days
+         justify_days ( interval )
+         interval
+        
+         Adjust interval so 30-day time periods are represented as months
+        
+         justify_days(interval '35 days')
+         1 mon 5 days
         
-        justify_days(interval)
-         interval
-       
-       
-        Adjust interval so 30-day time periods are represented as months
-       
-       
-        justify_days(interval '35 days')
-        1 mon 5 days
        
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           justify_hours
          
-         justify_hours
+         justify_hours ( interval )
+         interval
+        
+         Adjust interval so 24-hour time periods are represented as days
+        
+         justify_hours(interval '27 hours')
+         1 day 03:00:00
         
-        justify_hours(interval)
-         interval
-       
-       
-        Adjust interval so 24-hour time periods are represented as days
-       
-       
-        justify_hours(&zwsp;interval '27 hours')
-        1 day 03:00:00
        
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           justify_interval
          
-         justify_interval
+         justify_interval ( interval )
+         interval
+        
+         Adjust interval using justify_days
+         and justify_hours, with additional sign
+         adjustments
+        
+         justify_interval(interval '1 mon -1 hour')
+         29 days 23:00:00
         
-        justify_interval(interval)
-         interval
-       
-       
-        Adjust interval using justify_days and justify_hours, with additional sign adjustments
-       
-       
-        justify_interval(&zwsp;interval '1 mon -1 hour')
-        29 days 23:00:00
        
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           localtime
          
          localtime
-        
-        localtime
-         time
-       
-       
-        Current time of day;
+         time
+        
+         Current time of day;
          see 
+        
+         localtime
+         14:39:53.662522
         
        
-       
-        localtime
-        variable
-       
 
        
-        localtime
-        localtime(integer)
-         time
-       
-       
-        Current time of day, with limited precision;
+        
+         localtime ( integer )
+         time
+        
+         Current time of day, with limited precision;
          see 
+        
+         localtime(0)
+         14:39:53
         
        
-       
-        localtime(0)
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           localtimestamp
          
          localtimestamp
-        
-        localtimestamp
-         timestamp
-       
-       
-        Current date and time (start of current transaction);
+         timestamp
+        
+         Current date and time (start of current transaction);
          see 
+        
+         localtimestamp
+         2019-12-23 14:39:53.662522
         
        
-       
-        localtimestamp
-        variable
-       
 
        
-        localtimestamp
-        localtimestamp(integer)
-         timestamp
-       
-       
-        Current date and time (start of current
+        
+         localtimestamp ( integer )
+         timestamp
+        
+         Current date and time (start of current
          transaction), with limited precision;
          see 
+        
+         localtimestamp(2)
+         2019-12-23 14:39:53.66
         
        
-       
-        localtimestamp(2)
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           make_date
          
-         make_date
-        
-        make_date(year int,
+         make_date ( year int,
          month int,
-         day int)
-         date
-       
-       
-        
+         day int )
+         date
+        
          Create date from year, month and day fields
+        
+         make_date(2013, 7, 15)
+         2013-07-15
         
        
-       
-        make_date(2013, 7, 15)
-        2013-07-15
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
           make_interval
          
-         make_interval
-        
-        make_interval( year int
+         make_interval (  year int
          month int
          week int
          day int
          hour int
          min int
          sec double precision
-         )
-         interval
-       
-       
-        
+          )
+         interval
+        
          Create interval from years, months, weeks, days, hours, minutes and
          seconds fields, each of which can default to zero
+        
+         make_interval(days => 10)
+         10 days
         
        
-       
-        make_interval(days => 10)
-        10 days
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           make_time
          
-         make_time
-        
-        make_time(hour int,
+         make_time ( hour int,
          min int,
-         sec double precision)
-         time
-       
-       
-        
+         sec double precision )
+         time
+        
          Create time from hour, minute and seconds fields
+        
+         make_time(8, 15, 23.5)
+         08:15:23.5
         
        
-       
-        make_time(8, 15, 23.5)
-        08:15:23.5
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           make_timestamp
          
-         make_timestamp
-        
-        make_timestamp(year int,
+         make_timestamp ( year int,
          month int,
          day int,
          hour int,
          min int,
-         sec double precision)
-         timestamp
-       
-       
-        
+         sec double precision )
+         timestamp
+        
          Create timestamp from year, month, day, hour, minute and seconds fields
+        
+         make_timestamp(2013, 7, 15, 8, 15, 23.5)
+         2013-07-15 08:15:23.5
         
        
-       
-        make_timestamp(&zwsp;2013, 7, 15, 8, 15, 23.5)
-        2013-07-15 08:15:23.5
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           make_timestamptz
          
-         make_timestamptz
-        
-        make_timestamptz(year int,
+         make_timestamptz ( year int,
          month int,
          day int,
          hour int,
          min int,
          sec double precision
-         timezone text )
-         timestamp with time zone
-       
-       
-        
+         timezone text  )
+         timestamp with time zone
+        
          Create timestamp with time zone from year, month, day, hour, minute
          and seconds fields; if timezone is not
          specified, the current time zone is used
+        
+         make_timestamptz(2013, 7, 15, 8, 15, 23.5)
+         2013-07-15 08:15:23.5+01
         
        
-       
-        make_timestamptz(&zwsp;2013, 7, 15, 8, 15, 23.5)
-        2013-07-15 08:15:23.5+01
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           now
          
-         now
-        
-        now()
-         timestamp with time zone
-       
-       
-        Current date and time (start of current transaction);
+         now ( )
+         timestamp with time zone
+        
+         Current date and time (start of current transaction);
          see 
+        
+         now()
+         2019-12-23 14:39:53.662522-05
         
        
-       
-        now()
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           statement_timestamp
          
-         statement_timestamp
-        
-        statement_timestamp()
-         timestamp with time zone
-       
-       
-        Current date and time (start of current statement);
+         statement_timestamp ( )
+         timestamp with time zone
+        
+         Current date and time (start of current statement);
          see 
+        
+         statement_timestamp()
+         2019-12-23 14:39:53.662522-05
         
        
-       
-        statement_timestamp()
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           timeofday
          
-         timeofday
-        
-        timeofday()
-         text
-       
-       
-        Current date and time
+         timeofday ( )
+         text
+        
+         Current date and time
          (like clock_timestamp, but as a text string);
          see 
+        
+         timeofday()
+         Mon Dec 23 14:39:53.662522 2019 EST
         
        
-       
-        timeofday()
-        variable
-       
 
        
-        spanname="name" morerows="2">
+        role="functableentry">
          
           transaction_timestamp
          
-         transaction_timestamp
-        
-        transaction_timestamp()
-         timestamp with time zone
-       
-       
-        Current date and time (start of current transaction);
+         transaction_timestamp ( )
+         timestamp with time zone
+        
+         Current date and time (start of current transaction);
          see 
+        
+         transaction_timestamp()
+         2019-12-23 14:39:53.662522-05
         
        
+
        
-        transaction_&zwsp;timestamp()
-        variable
-       
-       
-        
+        
          
           to_timestamp
          
-         to_timestamp
+         to_timestamp ( double precision )
+         timestamp with time zone
+        
+         Convert Unix epoch (seconds since 1970-01-01 00:00:00+00) to
+         timestamp with time zone
+        
+         to_timestamp(1284352323)
+         2010-09-13 04:32:03+00
         
-        to_timestamp(double precision)
-         timestamp with time zone
-       
-       
-        Convert Unix epoch (seconds since 1970-01-01 00:00:00+00) to
-         timestamp
-       
-       
-        to_timestamp(&zwsp;1284352323)
-        2010-09-13 04:32:03+00
        
       
      
@@ -8468,16 +8335,16 @@ SELECT CURRENT_TIME;
 Result: 14:39:53.662522-05
 
 SELECT CURRENT_DATE;
-Result: 2001-12-23
+Result: 2019-12-23
 
 SELECT CURRENT_TIMESTAMP;
-Result: 2001-12-23 14:39:53.662522-05
+Result: 2019-12-23 14:39:53.662522-05
 
 SELECT CURRENT_TIMESTAMP(2);
-Result: 2001-12-23 14:39:53.66-05
+Result: 2019-12-23 14:39:53.66-05
 
 SELECT LOCALTIMESTAMP;
-Result: 2001-12-23 14:39:53.662522
+Result: 2019-12-23 14:39:53.662522
 
    
 
@@ -8645,103 +8512,80 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple
 
   
     Enum Support Functions
-    
-     
-     
-     
-     
-     
-     
-     
-     
+    
      
       
-       Function
-       Signature
-      
-      
-       Description
-      
-      
-       Example
-       Example Result
+       
+        FunctionDescriptionExample(s)
+       
       
      
+
      
       
-       spanname="name" morerows="2">
+       role="functableentry">
         
          enum_first
         
-        enum_first
+        enum_first ( anyenum )
+        anyenum
+       
+        Returns the first value of the input enum type.
+       
+        enum_first(null::rainbow)
+        red
        
-       enum_first(anyenumanyenum
       
       
-       Returns the first value of the input enum type
-      
-      
-       enum_first(&zwsp;null::rainbow)
-       red
-      
-      
-       
+       
         
          enum_last
         
-        enum_last
+        enum_last ( anyenum )
+        anyenum
+       
+        Returns the last value of the input enum type.
+       
+        enum_last(null::rainbow)
+        purple
        
-       enum_last(anyenumanyenum
       
       
-       Returns the last value of the input enum type
-      
-      
-       enum_last(&zwsp;null::rainbow)
-       purple
-      
-      
-       
+       
         
          enum_range
         
-        enum_range
+        enum_range ( anyenum )
+        anyarray
+       
+        Returns all values of the input enum type in an ordered array.
+       
+        enum_range(null::rainbow)
+        {red,orange,yellow,&zwsp;green,blue,purple}
        
-       enum_range(anyenumanyarray
-      
-      
-       Returns all values of the input enum type in an ordered array
-      
-      
-       enum_range(&zwsp;null::rainbow)
-       {red,orange,yellow,&zwsp;green,blue,purple}
-      
-      
-       enum_range
-       enum_range(anyenumanyenumanyarray
       
       
-       
+       
+        enum_range ( anyenumanyenum )
+        anyarray
+       
         Returns the range between the two given enum values, as an ordered
         array. The values must be from the same enum type. If the first
         parameter is null, the result will start with the first value of
         the enum type.
         If the second parameter is null, the result will end with the last
         value of the enum type.
+       
+        enum_range('orange'::rainbow, 'green'::rainbow)
+        {orange,yellow,green}
+       
+        enum_range(NULL, 'green'::rainbow)
+        {red,orange,&zwsp;yellow,green}
+       
+        enum_range('orange'::rainbow, NULL)
+        {orange,yellow,green,&zwsp;blue,purple}
        
       
-      
-       enum_range(&zwsp;'orange'::rainbow, 'green'::rainbow)
-       {orange,yellow,green}
-      
-      
-       enum_range(NULL, 'green'::rainbow)
-       {red,orange,yellow,&zwsp;green}
-      
-      
-       enum_range(&zwsp;'orange'::rainbow, NULL)
-       {orange,yellow,green,&zwsp;blue,purple}
-      
      
     
    
index a13565e6018d8beb41800cd070063a1d42d39e3b..105ed1ce265349546cac1b2afa49b87c07aabca7 100644 (file)
   
 
 
+
+
+
+
+  
+
+
 
index 2aaae82092fd83eb03ddd592e724ad85b0c44b82..6fce0be8b758d9fbdb080f4473c9c5eeb4101ee9 100644 (file)
   
 
 
+
+
+  
+  
+    
+      bold
+    
+    
+    
+                    (ancestor::table[@rowheader = 'firstcol'] or
+                    ancestor::informaltable[@rowheader = 'firstcol']) and
+                    ancestor-or-self::entry[1][count(preceding-sibling::entry) = 0]">
+      bold
+    
+  
+  
+  
+  
+    
+      5em
+      -5em
+      left
+    
+  
+
+
 
 
 
   
 
 
+
+
+  
+
+
 
 
 
index 1a66c789d50b1260a91d58f8ab5a975ddd71efc5..795188153f56f90c38cc7832a0d7237d9dc2869e 100644 (file)
@@ -76,6 +76,20 @@ div.example {
    margin: 0.5ex;
 }
 
+/* formatting for entries in tables of functions: indent all but first line */
+
+th.functableentry {
+   padding-left: 5em;
+   text-indent: -5em;
+   text-align: left;
+}
+
+td.functableentry {
+   padding-left: 5em;
+   text-indent: -5em;
+   text-align: left;
+}
+
 /* Put these here instead of inside the HTML (see unsetting of
    admon.style in XSL) so that the web site stylesheet can set its own
    style. */