| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
| |
that is commands that have out-of-line parameters but the plan is prepared
assuming that the parameter values are constants. This is needed for the
plpgsql EXECUTE USING patch, but will probably have use elsewhere.
This commit includes the SPI functions and documentation, but no callers
nor regression tests. The upcoming EXECUTE USING patch will provide
regression-test coverage. I thought committing this separately made
sense since it's logically a distinct feature.
|
|
|
|
|
|
|
|
|
|
| |
eval_const_expressions needs to be passed the PlannerInfo ("root") structure,
because in some cases we want it to substitute values for Param nodes.
(So "constant" is not so constant as all that ...) This mistake partially
disabled optimization of unnamed extended-Query statements in 8.3: in
particular the LIKE-to-indexscan optimization would never be applied if the
LIKE pattern was passed as a parameter, and constraint exclusion depending
on a parameter value didn't work either.
|
|
|
|
| |
Add some regression tests for plausible failures in this area.
|
|
|
|
|
|
| |
while EState still contains pointers to those relations. Exposed by the
CLOBBER_CACHE_ALWAYS tests that buildfarm member jaguar is running (I knew
those cycles would pay off...)
|
|
|
|
|
|
|
|
|
|
|
|
| |
key files that are similar to the one for the postmaster's data directory
permissions check. (I chose to standardize on that one since it's the most
heavily used and presumably best-wordsmithed by now.) Also eliminate explicit
tests on file ownership in these places, since the ensuing read attempt must
fail anyway if it's wrong, and there seems no value in issuing the same error
message for distinct problems. (But I left in the explicit ownership test in
postmaster.c, since it had its own error message anyway.) Also be more
specific in the documentation's descriptions of these checks. Per a gripe
from Kevin Hunter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The places that did, eg,
(statbuf.st_mode & S_IFMT) == S_IFDIR
were correct, but there is no good reason not to use S_ISDIR() instead,
especially when that's what the other 90% of our code does. The places
that did, eg,
(statbuf.st_mode & S_IFDIR)
were flat out *wrong* and would fail in various platform-specific ways,
eg a symlink could be mistaken for a regular file on most Unixen.
The actual impact of this is probably small, since the problem cases
seem to always involve symlinks or sockets, which are unlikely to be
found in the directories that PG code might be scanning. But it's
clearly trouble waiting to happen, so patch all the way back anyway.
(There seem to be no occurrences of the mistake in 7.4.)
|
|
|
|
|
|
| |
database size, when available to the current user.
Andrew Gilligan
|
|
|
|
|
|
| |
\d output for a table.
Kenneth D'Souza, some changes by myself.
|
|
|
|
|
|
| |
This requires a working 64-bit integer type. If such a type cannot
be found, "--disable-integer-datetimes" can be used to switch
back to the previous floating point-based datetime implementation.
|
|
|
|
| |
Harald Armin Massa.
|
|
|
|
|
|
|
|
|
|
| |
where the relation name was schema-qualified, for example
UPDATE foo.bar SET <tab>
Also support cases where the relation name was quoted unnecessarily,
for example
UPDATE "foo" SET <tab>
Greg Sabino Mullane, slightly simplified by myself.
|
|
|
|
| |
Whatever we do about that, this isn't the path to the solution.
|
|
|
|
| |
> * -Add ability to trigger on TRUNCATE
|
|
|
|
|
|
|
| |
restore_command should report failure on non-existent .backup and .history
files. Tidy up some related text along the way.
Patch by Markus Bertheau, with some editing by Simon Riggs and myself.
|
|
|
|
|
|
|
|
|
| |
>
> o Add CASE capability to language (already in SQL)
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00696.php
>
>
|
|
|
|
|
|
|
|
| |
> * Allow one transaction to see tuples using the snapshot of another
> transaction
>
> This would assist multiple backends in working together.
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00400.php
|
|
|
|
|
|
|
|
|
| |
useless for an ungrouped-aggregate query holds regardless of whether
optimize_minmax_aggregates succeeds. So we might as well apply the
optimization in any case.
I'll leave 8.3 as it was, since this version is a tad more invasive
than my earlier patch.
|
| |
|
|
|
|
|
|
|
|
|
| |
>
> * Consider being smarter about memory and external files used during
> sorts
>
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php
> http://archives.postgresql.org/pgsql-hackers/2007-12/msg00045.php
|
|
|
|
|
|
|
| |
* Consider allowing control of upper/lower case folding of unquoted
identifiers
> http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php
|
|
|
|
|
|
|
|
|
|
| |
the query result must be exactly one row (since we don't do this when there's
any GROUP BY). Therefore any ORDER BY or DISTINCT attached to the query is
useless and can be dropped. Aside from saving useless cycles, this protects
us against problems with matching the hacked-up tlist entries to sort clauses,
as seen in a bug report from Taiki Yamaguchi. We might need to work harder
if we ever try to optimize grouped queries with this approach, but this
solution will do for now.
|
|
|
|
| |
Windows. Users should use their operating system tools instead.
|
| |
|
|
|
|
|
| |
- Correctly parse connect options.
- Changed regression tests accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
| |
inclusions in src/include/catalog/*.h files. The main idea here is to push
function declarations for src/backend/catalog/*.c files into separate headers,
rather than sticking them into the corresponding catalog definition file as
has been done in the past. This commit only carries out that idea fully for
pg_proc, pg_type and pg_conversion, but that's enough for the moment ---
if pg_list.h ever becomes unsafe for frontend code to include, we'll need
to work a bit more.
Zdenek Kotala
|
|
|
|
|
|
| |
tqual.h into heapam.h. This makes all inclusion of tqual.h explicit.
I also sorted alphabetically the includes on some source files.
|
|
|
|
| |
Per complaint from Tom Lane.
|
|
|
|
| |
pg_dump --ignore-version comments into pg_dumpall and pg_restore pages.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
snapmgmt.c file for the former. The header files have also been reorganized
in three parts: the most basic snapshot definitions are now in a new file
snapshot.h, and the also new snapmgmt.h keeps the definitions for snapmgmt.c.
tqual.h has been reduced to the bare minimum.
This patch is just a first step towards managing live snapshots within a
transaction; there is no functionality change.
Per my proposal to pgsql-patches on 20080318191940.GB27458@alvh.no-ip.org and
subsequent discussion.
|
|
|
|
|
| |
While at it, change the order of the documented options to be
alphabetically again.
|
| |
|
| |
|
|
|
|
|
|
| |
< o Consider invalidating the cache or keeping seperate cached
< copies when search_path changes
> o Consider keeping seperate cached copies when search_path changes
|
|
|
|
|
|
|
|
| |
>
> * Consider transaction start/end performance improvements
>
> http://archives.postgresql.org/pgsql-hackers/2007-07/msg00948.php
> http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php
|
|
|
|
| |
a NULL value. Per bug #4058.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
strings. This patch introduces four support functions cstring_to_text,
cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and
two macros CStringGetTextDatum and TextDatumGetCString. A number of
existing macros that provided variants on these themes were removed.
Most of the places that need to make such conversions now require just one
function or macro call, in place of the multiple notational layers that used
to be needed. There are no longer any direct calls of textout or textin,
and we got most of the places that were using handmade conversions via
memcpy (there may be a few still lurking, though).
This commit doesn't make any serious effort to eliminate transient memory
leaks caused by detoasting toasted text objects before they reach
text_to_cstring. We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few
places where it was easy, but much more could be done.
Brendan Jurd and Tom Lane
|
|
|
|
| |
> * -Avoid tuple some tuple copying in sort routines
|
|
|
|
|
|
|
| |
identical to tuplestore_puttuple(), except it operates on arrays of
Datums + nulls rather than a fully-formed HeapTuple. In several places
that use the tuplestore API, this means we can avoid creating a
HeapTuple altogether, saving a copy.
|
|
|
|
| |
* Simplify integer cross-data-type operators
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
>
> * Add SQL-standard array_agg() and unnest() array functions
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg01017.php
>
|
|
|
|
|
|
|
|
| |
>
> o Consider invalidating the cache or keeping seperate cached
> copies when search_path changes
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php
|
|
|
|
|
|
|
| |
>
> * Add more cross-data-type operators
>
> http://archives.postgresql.org/pgsql-bugs/2008-01/msg00189.php
|
|
|
|
|
|
| |
> * Detect deadlocks involving LockBufferForCleanup()
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
|
|
|
|
|
|
|
|
|
| |
>
> o Improve display if enums
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00826.php
>
>
|
|
|
|
|
|
|
| |
>
> o Fix port/rint.c to be spec-compliant
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php
|
|
|
|
|
|
|
| |
>
> * Consider sorting entries before inserting into btree index
>
> http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php
|