| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
when scanning a table that we need all the columns from. In case of
SELECT INTO, we have to check that the hasoids flag matches the desired
output type, too. Per report from Mike Mascari.
|
|
|
|
| |
field anymore.
|
|
|
|
|
|
| |
default value for geqo_effort is supposed to be 40, not 1. The actual
'genetic' component of the GEQO algorithm has been practically disabled
since 7.1 because of this mistake. Improve documentation while at it.
|
|
|
|
|
| |
conversion_create.sql be empty (except for a helpful comment) in this
case. Allows initdb to succeed with --disable-shared.
|
|
|
|
|
| |
gets us past 'make install', but initdb still fails for lack of conversion
libraries ...
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
should not be too eager to reject paths involving unknown schemas, since
it can't really tell whether the schemas exist in the target database.
(Also, when reading pg_dumpall output, it could be that the schemas
don't exist yet, but eventually will.) ALTER USER SET has a similar issue.
So, reduce the normal ERROR to a NOTICE when checking search_path values
for these commands. Supporting this requires changing the API for GUC
assign_hook functions, which causes the patch to touch a lot of places,
but the changes are conceptually trivial.
|
| |
|
|
|
|
| |
we have detected that an IN subquery must return unique results.
|
|
|
|
|
| |
UNION/INTERSECT/EXCEPT (without ALL). This adds on to the previous
optimization for subqueries using DISTINCT.
|
|
|
|
|
|
| |
dynamically loaded C functions). Some limited testing suggests that
this puts the lookup speed for external functions just about on par
with built-in functions. Per discussion with Eric Ridge.
|
|
|
|
|
|
|
|
|
| |
in a COPY error message. It seems that glibc gets indigestion if it is
asked to truncate strings that contain invalid UTF-8 encoding sequences.
vsnprintf will return -1 in such cases, leading to looping and eventual
memory overflow in elog.c. Instead use our own, more robust pg_mbcliplen
routine. I believe this problem accounts for several recent reports of
unexpected 'out of memory' errors during COPY IN.
|
|
|
|
|
|
|
|
|
|
|
|
| |
check instead of hardwiring assumptions that only certain plan node types
can appear at the places where we are testing. This was always a pretty
fragile assumption, and it turns out to be broken in 7.4 for certain cases
involving IN-subselect tests that need type coercion.
Also, modify code that builds finished Plan tree so that node types that
don't do projection always copy their input node's targetlist, rather than
having the tlist passed in from the caller. The old method makes it too
easy to write broken code that thinks it can modify the tlist when it
cannot.
|
|
|
|
|
|
| |
a run-time key (that is, a nonconstant expression compared to the index
variable), the key is evaluated just once per scan, but we were charging
costs as though it were evaluated once per visited index entry.
|
|
|
|
|
|
|
| |
tuptoaster.c --- fields that are compressed in-line are not a reason
to invoke the toaster. Along the way, add a couple more htup.h macros
to eliminate confusing negated tests, and get rid of the already
vestigial TUPLE_TOASTER_ACTIVE symbol.
|
|
|
|
|
|
| |
ARC buffer replacement strategy.
Jan
|
|
|
|
|
|
|
|
|
| |
for sure...). Rather than relying on the query context of a rangetable
entry to identify what permissions it wants checked, store a full AclMode
mask in each RTE, and check exactly those bits. This allows an RTE
specifying, say, INSERT privilege on a view to be copied into a derived
UPDATE query without changing meaning. Per recent discussion thread.
initdb forced due to change of stored rule representation.
|
| |
|
|
|
|
| |
not apply to system views. It never mattered before 7.4, but it does now.
|
|
|
|
|
|
|
|
|
| |
incorrect permissions checking, but in fact disabled most all permissions
checks for view updates. This corrects problems reported by Sergey
Yatskevich among others, at the cost of re-introducing the problem
previously reported by Tim Burgess. However, since we'd lived with that
problem for quite awhile without knowing it, we can live with it awhile
longer until a proper fix can be made in 7.5.
|
|
|
|
| |
already-canonicalized qual expression.
|
|
|
|
|
| |
useful improvement in any case, and it keeps the new logic for restrictinfo
structures happy. Per report from Kris Jurka.
|
| |
|
|
|
|
|
|
|
| |
expressions supported by CREATE SCHEMA.
Also added the beginning of some regression tests for CREATE SCHEMA;
plenty more work is needed here.
|
|
|
|
|
|
| |
fork/exec portion of the port), and fixes a handful of whitespace issues
Claudio Natoli
|
|
|
|
|
|
|
|
|
|
| |
intended to allow application authors to insulate themselves from
changes to the default value of 'default_with_oids' in future releases
of PostgreSQL.
This patch also fixes a bug in the earlier implementation of the
'default_with_oids' GUC variable: code in gram.y should not examine
the value of GUC variables directly due to synchronization issues.
|
|
|
|
|
|
| |
variables, not just simple variables. This was foreseen in the original
coding of this routine, but not implemented until now. Responds to
performance gripe from Laurent Perez.
|
| |
|
| |
|
|
|
|
| |
TRANSACTION.
|
|
|
|
|
|
| |
'simple' references another view that is not simple. Must recheck
conditions after performing recursive pullup. Per example from
Laurent Perez, 9-Jan-04.
|
| |
|
| |
|
|
|
|
| |
select(). Add Win32 Sleep() for delay.
|
|
|
|
| |
Claudio Natoli
|
|
|
|
| |
both added it.
|
|
|
|
|
|
|
|
| |
ignore SIGPIPE from send() in libpq, but terminate on any other SIGPIPE,
unless the user installs their own signal handler.
This is a minor fix because the only time you get SIGPIPE from libpq's
send() is when the backend dies.
|
|
|
|
|
| |
Give a more reasonable error message when lock file exists but has
zero length; prior code confused this with could-not-read-file case.
|
| |
|
|
|
|
|
|
|
|
|
| |
predicate tester. It can now deal with commuted clauses (for
instance, 4 < x implies x > 3), subclauses more complicated than
a simple Var (for example, upper(x) = 't' implies upper(x) > 'a'),
and <> operators (for example, x < 3 implies x <> 4). Still
only understands operators associated with btree opclasses, though.
Inspired by example from Martin Hampl.
|
| |
|
|
|
|
|
|
|
|
| |
pointer type when it is not necessary to do so.
For future reference, casting NULL to a pointer type is only necessary
when (a) invoking a function AND either (b) the function has no prototype
OR (c) the function is a varargs function.
|
|
|
|
| |
it in the same file as the 'List' node.
|
|
|
|
|
|
|
|
|
| |
parameters to be declared with names. pg_proc has a column to store
names, and CREATE FUNCTION can insert data into it, but that's all as
yet. I need to do more work on the pg_dump and plpgsql portions of the
patch before committing those, but I thought I'd get the bulky changes
in before the tree drifts under me.
initdb forced due to pg_proc change.
|
|
|
|
|
|
|
|
| |
BackendFork/SSDataBase/pgstat) startup, to allow fork/exec calls to
closely mimic (the soon to be provided) Win32 CreateProcess equivalent
calls.
Claudio Natoli
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Update comment in IsReservedName() to the present day
- Improve some variable & function names in commands/vacuum.c. I
was planning to rewrite this to avoid lappend(), but since I
still intend to do the list rewrite, there's no need for that.
- Update some smgr comments which seemed to imply that we still
forced all dirty pages to disk at commit-time.
- Replace some #ifdef DIAGNOSTIC code with assertions.
- Make the distinction between OS-level file descriptors and
virtual file descriptors a little clearer in a few comments
- Other minor comment improvements in the smgr code
|
|
|
|
| |
backend.
|
|
|
|
| |
hide it behind #ifdef WAL_DEBUG blocks.
|