Go to file
Tom Lane bb45c64041 Support default arguments and named-argument notation for window functions.
These things didn't work because the planner omitted to do the necessary
preprocessing of a WindowFunc's argument list.  Add the few dozen lines
of code needed to handle that.

Although this sounds like a feature addition, it's really a bug fix because
the default-argument case was likely to crash previously, due to lack of
checking of the number of supplied arguments in the built-in window
functions.  It's not a security issue because there's no way for a
non-superuser to create a window function definition with defaults that
refers to a built-in C function, but nonetheless people might be annoyed
that it crashes rather than producing a useful error message.  So
back-patch as far as the patch applies easily, which turns out to be 9.2.
I'll put a band-aid in earlier versions as a separate patch.

(Note that these features still don't work for aggregates, and fixing that
case will be harder since we represent aggregate arg lists as target lists
not bare expression lists.  There's no crash risk though because CREATE
AGGREGATE doesn't accept defaults, and we reject named-argument notation
when parsing an aggregate call.)
2013-11-06 13:33:09 -05:00
config Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
contrib Use appendStringInfoString instead of appendStringInfo where possible. 2013-10-31 10:55:59 -04:00
doc Support default arguments and named-argument notation for window functions. 2013-11-06 13:33:09 -05:00
src Support default arguments and named-argument notation for window functions. 2013-11-06 13:33:09 -05:00
.dir-locals.el Update Emacs configuration 2013-08-13 20:08:44 -04:00
.gitignore Add *.pot to .gitignore 2013-10-19 10:56:52 -04:00
aclocal.m4
configure Get rid of use of asprintf() in favor of a more portable implementation. 2013-10-22 18:42:13 -04:00
configure.in Get rid of use of asprintf() in favor of a more portable implementation. 2013-10-22 18:42:13 -04:00
COPYRIGHT Update copyrights for 2013 2013-01-01 17:15:01 -05:00
GNUmakefile.in Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
Makefile
README
README.git

PostgreSQL Database Management System
=====================================

This directory contains the source code distribution of the PostgreSQL
database management system.

PostgreSQL is an advanced object-relational database management system
that supports an extended subset of the SQL standard, including
transactions, foreign keys, subqueries, triggers, user-defined types
and functions.  This distribution also contains C language bindings.

PostgreSQL has many language interfaces, many of which are listed here:

	http://www.postgresql.org/download

See the file INSTALL for instructions on how to build and install
PostgreSQL.  That file also lists supported operating systems and
hardware platforms and contains information regarding any other
software packages that are required to build or run the PostgreSQL
system.  Changes between all PostgreSQL releases are recorded in the
file HISTORY.  Copyright and license information can be found in the
file COPYRIGHT.  A comprehensive documentation set is included in this
distribution; it can be read as described in the installation
instructions.

The latest version of this software may be obtained at
http://www.postgresql.org/download/.  For more information look at our
web site located at http://www.postgresql.org/.