~ubuntu-branches/ubuntu/trusty/postgresql-9.3/trusty-proposed

« back to all changes in this revision

Viewing changes to src/backend/nodes/read.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2014-07-24 16:13:59 UTC
  • mfrom: (1.1.8)
  • Revision ID: package-import@ubuntu.com-20140724161359-uk325qfv03euxuuh
Tags: 9.3.5-0ubuntu0.14.04.1
* New upstream bug fix release: (LP: #1348176)
  - pg_upgrade: Users who upgraded to version 9.3 using pg_upgrade may have
    an issue with transaction information which causes VACUUM to eventually
    fail. These users should run the script provided in the release notes to
    determine if their installation is affected, and then take the remedy
    steps outlined there.
  - Various data integrity and other bug fixes.
  - Secure Unix-domain sockets of temporary postmasters started during make
    check.
    Any local user able to access the socket file could connect as the
    server's bootstrap superuser, then proceed to execute arbitrary code as
    the operating-system user running the test, as we previously noted in
    CVE-2014-0067. This change defends against that risk by placing the
    server's socket in a temporary, mode 0700 subdirectory of /tmp.
  - See release notes for details:
    http://www.postgresql.org/about/news/1534/
* Remove pg_regress patches to support --host=/path, obsolete with above
  upstream changes and not applicable any more.
* Drop tcl8.6 patch, applied upstream.
* Add missing logrotate test dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
85
85
 *        Backslashes themselves must also be backslashed for consistency.
86
86
 *        Any other character can be, but need not be, backslashed as well.
87
87
 *      * If the resulting token is '<>' (with no backslash), it is returned
88
 
 *        as a non-NULL pointer to the token but with length == 0.      Note that
 
88
 *        as a non-NULL pointer to the token but with length == 0.  Note that
89
89
 *        there is no other way to get a zero-length token.
90
90
 *
91
91
 * Returns a pointer to the start of the next token, and the length of the
92
 
 * token (including any embedded backslashes!) in *length.      If there are
 
92
 * token (including any embedded backslashes!) in *length.  If there are
93
93
 * no more tokens, NULL and 0 are returned.
94
94
 *
95
95
 * NOTE: this routine doesn't remove backslashes; the caller must do so
96
96
 * if necessary (see "debackslash").
97
97
 *
98
98
 * NOTE: prior to release 7.0, this routine also had a special case to treat
99
 
 * a token starting with '"' as extending to the next '"'.      This code was
 
99
 * a token starting with '"' as extending to the next '"'.  This code was
100
100
 * broken, however, since it would fail to cope with a string containing an
101
101
 * embedded '"'.  I have therefore removed this special case, and instead
102
 
 * introduced rules for using backslashes to quote characters.  Higher-level
 
102
 * introduced rules for using backslashes to quote characters.  Higher-level
103
103
 * code should add backslashes to a string constant to ensure it is treated
104
104
 * as a single token.
105
105
 */
259
259
 *        Slightly higher-level reader.
260
260
 *
261
261
 * This routine applies some semantic knowledge on top of the purely
262
 
 * lexical tokenizer pg_strtok().       It can read
 
262
 * lexical tokenizer pg_strtok().   It can read
263
263
 *      * Value token nodes (integers, floats, or strings);
264
264
 *      * General nodes (via parseNodeString() from readfuncs.c);
265
265
 *      * Lists of the above;