Just a minor doc upgrade. I've linked a couple of the more prominent mentions of "escape string syntax" in Functions and Operators / Pattern Matching back to the section on SQL string literals, which explains how escape syntax works.
I considering linking all mentions of escape syntax, but thought that might be overkill since there are so many of them. Thanks for your time, BJ
Index: doc/src/sgml/func.sgml =================================================================== RCS file: /projects/cvsroot/pgsql/doc/src/sgml/func.sgml,v retrieving revision 1.392 diff -c -r1.392 func.sgml *** doc/src/sgml/func.sgml 31 Aug 2007 21:33:48 -0000 1.392 --- doc/src/sgml/func.sgml 1 Sep 2007 17:09:45 -0000 *************** *** 2929,2942 **** </para> <para> ! Note that the backslash already has a special meaning in string ! literals, so to write a pattern constant that contains a backslash ! you must write two backslashes in an SQL statement (assuming escape ! string syntax is used). Thus, writing a pattern ! that actually matches a literal backslash means writing four backslashes ! in the statement. You can avoid this by selecting a different escape ! character with <literal>ESCAPE</literal>; then a backslash is not special ! to <function>LIKE</function> anymore. (But it is still special to the string literal parser, so you still need two of them.) </para> --- 2929,2942 ---- </para> <para> ! Note that the backslash already has a special meaning in string literals, ! so to write a pattern constant that contains a backslash you must write two ! backslashes in an SQL statement (assuming escape string syntax is used, see ! <xref linkend="sql-syntax-strings">). Thus, writing a pattern that ! actually matches a literal backslash means writing four backslashes in the ! statement. You can avoid this by selecting a different escape character ! with <literal>ESCAPE</literal>; then a backslash is not special to ! <function>LIKE</function> anymore. (But it is still special to the string literal parser, so you still need two of them.) </para> *************** *** 3549,3555 **** meaning in <productname>PostgreSQL</> string literals. To write a pattern constant that contains a backslash, you must write two backslashes in the statement, assuming escape ! string syntax is used. </para> </note> --- 3549,3555 ---- meaning in <productname>PostgreSQL</> string literals. To write a pattern constant that contains a backslash, you must write two backslashes in the statement, assuming escape ! string syntax is used (see <xref linkend="sql-syntax-strings">). </para> </note>
---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match