Index: doc/src/sgml/func.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/func.sgml,v
retrieving revision 1.506
diff -c -c -r1.506 func.sgml
*** doc/src/sgml/func.sgml	23 Feb 2010 16:14:25 -0000	1.506
--- doc/src/sgml/func.sgml	3 Mar 2010 22:27:36 -0000
***************
*** 5089,5095 ****
         </row>
         <row>
          <entry><literal>Q</literal></entry>
!         <entry>quarter</entry>
         </row>
         <row>
          <entry><literal>RM</literal></entry>
--- 5089,5095 ----
         </row>
         <row>
          <entry><literal>Q</literal></entry>
!         <entry>quarter (ignored by <function>to_date</> and <function>to_timestamp</>)</entry>
         </row>
         <row>
          <entry><literal>RM</literal></entry>
***************
*** 5209,5215 ****
         even if it contains pattern key words.  For example, in
         <literal>'"Hello Year "YYYY'</literal>, the <literal>YYYY</literal>
         will be replaced by the year data, but the single <literal>Y</literal> in <literal>Year</literal>
!        will not be.
        </para>
       </listitem>
  
--- 5209,5218 ----
         even if it contains pattern key words.  For example, in
         <literal>'"Hello Year "YYYY'</literal>, the <literal>YYYY</literal>
         will be replaced by the year data, but the single <literal>Y</literal> in <literal>Year</literal>
!        will not be.  In <function>to_date</>, <function>to_number</>,
!        and <function>to_timestamp</>, double-quoted strings skip the number of
!        input characters contained in the string, e.g. <literal>"XX"</>
!        skips two input characters.
        </para>
       </listitem>
  
Index: src/backend/utils/adt/formatting.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/adt/formatting.c,v
retrieving revision 1.168
diff -c -c -r1.168 formatting.c
*** src/backend/utils/adt/formatting.c	26 Feb 2010 02:01:08 -0000	1.168
--- src/backend/utils/adt/formatting.c	3 Mar 2010 22:27:38 -0000
***************
*** 2671,2680 ****
  				s += SKIP_THth(n->suffix);
  				break;
  			case DCH_Q:
- 
  				/*
! 				 * We ignore Q when converting to date because it is not
! 				 * normative.
  				 *
  				 * We still parse the source string for an integer, but it
  				 * isn't stored anywhere in 'out'.
--- 2671,2682 ----
  				s += SKIP_THth(n->suffix);
  				break;
  			case DCH_Q:
  				/*
! 				 * We ignore 'Q' when converting to date because it is
! 				 * unclear which date in the quarter to use, and some
! 				 * people specify both quarter and month, so if it was
! 				 * honored it might conflict with the supplied month.
! 				 * That is also why we don't throw an error.
  				 *
  				 * We still parse the source string for an integer, but it
  				 * isn't stored anywhere in 'out'.
