Re: More outdated examples - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | Re: More outdated examples |
Date | |
Msg-id | 200303192120.h2JLKQf12986@candle.pha.pa.us Whole thread Raw |
In response to | Re: More outdated examples (Tom Lane <tgl@sss.pgh.pa.us>) |
Responses |
Re: More outdated examples
|
List | pgsql-hackers |
The following applied patch removes the section Tom thought wasn't needed anymore. --------------------------------------------------------------------------- Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > > I can find no suitable replacement for this example. Can anyone else? > > > Peter Eisentraut wrote: > >> This example in User's Guide section 7.2 doesn't work anymore at all: > >> > >> tgl=> select @ text '-4.5' as "abs"; > > Both of the examples in this section have been obsoleted by our recent > elimination of a lot of implicit casts. This one would still work if > text-to-float8 were an implicit cast, but it's not anymore. Also, > though the second one still acts as described, the reason given for it > in the text is wrong: the system is not unable to choose among multiple > alternatives. Rather, it finds *no* alternatives, again because the > text-to-various-int-types casts are no longer implicit. > > The closest similar cases that I can find for the first example are not > good replacements because they are also slated for destruction :-(. > Basically, I see us moving away from the preferred-type mechanism, and > perhaps eliminating it entirely soon. > > I'd just remove the whole of Example 7.3, I think. The mechanisms are > still there, for now, but they are not invoked in any standard cases. > > regards, tom lane > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 Index: doc/src/sgml/typeconv.sgml =================================================================== RCS file: /cvsroot/pgsql-server/doc/src/sgml/typeconv.sgml,v retrieving revision 1.27 diff -c -c -r1.27 typeconv.sgml *** doc/src/sgml/typeconv.sgml 13 Mar 2003 01:30:29 -0000 1.27 --- doc/src/sgml/typeconv.sgml 19 Mar 2003 21:17:32 -0000 *************** *** 403,459 **** </para> </example> - <example> - <title>Absolute-Value and Factorial Operator Type Resolution</title> - - <para> - The <productname>PostgreSQL</productname> operator catalog has several - entries for the prefix operator <literal>@</>, all of which implement - absolute-value operations for various numeric data types. One of these - entries is for type <type>float8</type>, which is the preferred type in - the numeric category. Therefore, <productname>PostgreSQL</productname> - will use that entry when faced with a non-numeric input: - <screen> - SELECT @ '-4.5' AS "abs"; - abs - ----- - 4.5 - (1 row) - </screen> - Here the system has performed an implicit conversion from <type>text</type> to <type>float8</type> - before applying the chosen operator. We can verify that <type>float8</type> and - not some other type was used: - <screen> - SELECT @ '-4.5e500' AS "abs"; - - ERROR: Input '-4.5e500' is out of range for float8 - </screen> - </para> - - <para> - On the other hand, the postfix operator <literal>!</> (factorial) - is defined only for integer data types, not for <type>float8</type>. So, if we - try a similar case with <literal>!</>, we get: - <screen> - SELECT '20' ! AS "factorial"; - - ERROR: Unable to identify a postfix operator '!' for type 'text' - You may need to add parentheses or an explicit cast - </screen> - This happens because the system can't decide which of the several - possible <literal>!</> operators should be preferred. We can help - it out with an explicit cast: - <screen> - SELECT CAST('20' AS int8) ! AS "factorial"; - - factorial - --------------------- - 2432902008176640000 - (1 row) - </screen> - </para> - </example> - </sect1> <sect1 id="typeconv-func"> --- 403,408 ----
pgsql-hackers by date: