| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
statements before the multi-line statement, rather than inside the
multi-line statement.
|
|
|
|
|
|
|
|
|
|
| |
columns of the grouping clause to avoid redundant sorts. The optimizer
is not currently capable of doing this, so this patch implements a
simple hack in the analysis phase (transformGroupClause): if any
subset of the GROUP BY clause matches a prefix of the ORDER BY list,
that prefix is moved to the front of the GROUP BY clause. This
shouldn't change the semantics of the query, and allows a redundant
sort to be avoided for queries like "GROUP BY a, b ORDER BY b".
|
|
|
|
| |
and docs from Dmitry Karasik, slightly editorialised.
|
| |
|
| |
|
|
|
|
| |
variable.
|
|
|
|
| |
Add DLLIMPORT for V1 headers, in case Win32 don't export all symbols.
|
|
|
|
| |
Patch by Joachim Wieland, somewhat reworked for clarity and portability.
|
|
|
|
| |
This is consistent with the standard definition of fopen().
|
|
|
|
|
|
| |
In particular, ensure that enlargement of the memtuples[] array doesn't
fall foul of MaxAllocSize when work_mem is very large, and don't bother
enlarging it if that would force an immediate switch into 'tape' mode anyway.
|
|
|
|
| |
per report from Stefan Kaltenbrunner.
|
|
|
|
|
|
|
| |
we'll go over to disk-based sort if we reach that limit.
This fixes Stefan Kaltenbrunner's observation that sorting can suffer an
'invalid memory alloc request size' failure when sort_mem is set large
enough. It's unfortunately not so easy to fix in 8.1 ...
|
|
|
|
|
| |
sequence such as "0x95 0x27". Patches from Akio Ishida.
Also update copyright notice.
|
|
|
|
|
|
|
|
|
|
| |
> type
Wouldn't it be better to use the UINT64CONST macro? I realize this
file is Windows-only, but we do worry about more than one compiler
on that platform.
Kris Jurka
|
| |
|
|
|
|
|
|
|
| |
gettimeofday.c:35: warning: integer constant is too large for "long"
type
Kris Jurka
|
|
|
|
|
|
|
|
|
|
|
| |
/dev/tty, but it isn't a device file and doesn't work as expected.
This fixes a known bug where psql does not prompt for a password on some
Win32 systems.
Backpatch to 8.1.X.
Robert Kinberg
|
|
|
|
|
| |
instead of the old deprecated ones.
Volkan Yazici, with some editorializing by moi.
|
|
|
|
| |
Hiroshi Saito
|
| |
|
|
|
|
|
|
| |
have. This happens when MSVC uses pg_config.h generated by MinGW.
Per report from Charles F. I. Savage
|
|
|
|
|
| |
and tighten up its sanity checking of the tag as a safety measure.
Volkan Yazici.
|
| |
|
|
|
|
|
| |
rows copied. Backend side of Volkan Yazici's recent patch, with
corrections and documentation.
|
|
|
|
|
|
|
| |
relations are still checked for permissions etc as soon as they are
opened. The original form of the patch could hold exclusive lock for a
long time on relations that the user doesn't even have permissions to
access, let alone truncate.
|
|
|
|
| |
Fixes problem with 'su' on some platforms.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
checkpoint in the bgwriter. This forestalls overflow of the fsync request
queue, which is not fatal but causes considerable performance degradation
when it occurs (because backends then have to do their own fsyncs). Per
patch from Itagaki Takahiro, modified a little bit by me.
|
|
|
|
|
|
|
| |
a need for it back in the neolithic era, but it's certainly dead code in
any PG release we would recognize as such. Since it forces an additional
network round trip to the backend, getting rid of it should provide some
small performance improvement for large-object-using clients.
|
|
|
|
|
| |
was opening with INV_READ flag and then writing. Prior to 8.1 the backend
did not reject this, but now it does.
|
|
|
|
| |
them to use array_recv :-(. Per report from Tim Kordas.
|
|
|
|
|
|
|
|
|
| |
then modified within the same transaction. The code was using a linked list
of active PLpgSQL_expr structs, which was OK when it was written because
plpgsql never released any parse data structures for the life of the backend.
But since Neil fixed plpgsql's memory management, elements of the linked list
could be freed, leading to crash when the list is chased. Per report and test
case from Kris Jurka.
|
|
|
|
|
|
|
|
|
|
| |
make use of the recently added ability to create a shell type explicitly.
I also put in place some infrastructure to allow dump/no dump decisions
to be made separately for each database object, rather than the former
hardwired 'dump if in a dumpable schema' policy. This was needed anyway
for shell types so now seemed a convenient time to do it. The flexibility
isn't exposed to the user yet, but is ready for future extensions.
|
|
|
|
|
| |
error messages I made yesterday -- thanks to Andrew Dunstan for reporting
this, and my apologies for missing it the first time.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are unnecessarily allocated on the heap rather than the stack. If the
StringInfo doesn't outlive the stack frame in which it is created,
there is no need to allocate it on the heap via makeStringInfo() --
stack allocation is faster. While it's not a big deal unless the
code is in a critical path, I don't see a reason not to save a few
cycles -- using stack allocation is not less readable.
I also cleaned up a bit of code along the way: moved variable
declarations into a more tightly-enclosing scope where possible,
fixed some pointless copying of strings in dblink, etc.
|
|
|
|
|
|
|
|
| |
more compliant with the error message style guide. In particular,
errdetail should begin with a capital letter and end with a period,
whereas errmsg should not. I also fixed a few related issues in
passing, such as fixing the repeated misspelling of "lexeme" in
contrib/tsearch2 (per Tom's suggestion).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
creation of a shell type. This allows a less hacky way of dealing with
the mutual dependency between a datatype and its I/O functions: make a
shell type, then make the functions, then define the datatype fully.
We should fix pg_dump to handle things this way, but this commit just deals
with the backend.
Martijn van Oosterhout, with some corrections by Tom Lane.
|
|
|
|
| |
does not return None, per suggestion from Tom.
|
|
|
|
|
|
|
| |
(I didn't use his patch, however). A void-returning PL/Python function
must return None (from Python), which is translated into a void datum
(and *not* NULL) for Postgres. I also added some regression tests for
this functionality.
|
|
|
|
| |
backend version in C using > and < comparisons.
|
|
|
|
|
| |
when the passed-down eflags indicate they can.
Simon Riggs and Tom Lane
|
|
|
|
|
|
|
|
|
|
|
|
| |
bits indicating which optional capabilities can actually be exercised
at runtime. This will allow Sort and Material nodes, and perhaps later
other nodes, to avoid unnecessary overhead in common cases.
This commit just adds the infrastructure and arranges to pass the correct
flag values down to plan nodes; none of the actual optimizations are here
yet. I'm committing this separately in case anyone wants to measure the
added overhead. (It should be negligible.)
Simon Riggs and Tom Lane
|
|
|
|
|
| |
particular get rid of single quotes around language names and old WITH ()
construct.
|
| |
|
|
|
|
|
|
| |
each tuple, as per my proposal of several days ago. Also, clean up
sort memory management by keeping all working data in a separate memory
context, and refine the handling of low-memory conditions.
|
| |
|