| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
from Andreas.
|
|
|
|
|
|
| |
a child table already has a matching column. Acquire appropriate
lock on child table; do the right thing with any CHECK constraints
attached to the new parent column.
|
|
|
|
|
| |
the relfilenode and toast fields. This ensures that the newly-computed
statistics will be available on completion of CLUSTER.
|
|
|
|
|
|
| |
where it's safe to do database access. Along the way, fix core dump
for 'DEFAULT' parameters to CREATE DATABASE. initdb forced due to
change in pg_proc entry.
|
| |
|
|
|
|
|
| |
CONVERSION code. Still need to figure out what to do about inappropriate
coding in parsing.
|
|
|
|
|
|
|
|
| |
(usually bison output files), not as standalone files. This hack
works around flex's insistence on including <stdio.h> before we are
able to include postgres.h; postgres.h will already be read before
the compiler starts to read the flex output file. Needed for largefile
support on some platforms.
|
| |
|
|
|
|
| |
from WARNING to NOTICE, since they are expected messages in common cases.
|
|
|
|
|
|
| |
core file to be produced for debugging, and avoids trying to run the
normal proc-exit cleanup hooks, which are likely to cause additional
problems if the system is hosed.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
between signal handler and enable/disable code, avoid accumulation of
timing error due to trying to maintain remaining-time instead of
absolute-end-time, disable timeout before commit not after.
|
|
|
|
|
|
|
| |
Only affects machines where MAXALIGN > 4, and is a boundary-condition
case even there, but still surprising that it's not been identified
before. Also reduce tuple chain move give-up messages from WARNING
to DEBUG1, since they are not unexpected conditions.
|
|
|
|
| |
conform to C99's brain-dead notion of how inline functions should work.
|
| |
|
| |
|
|
|
|
| |
field is signed. Clean up casting.
|
|
|
|
|
|
| |
coercions, not implicit ones. For example, 'select abstime(1035497293)'
should succeed because there is an explicit binary coercion from int4
to abstime.
|
|
|
|
|
|
|
|
|
|
|
| |
principled order; in particular ensure that all shared resources
are released before we release transaction locks. The code used
to release locks before buffer pins, which might explain an ancient
note I have about a bufmgr assertion failure I'd seen once several
years ago, and been unable to reproduce since. (Theory: someone
trying to drop a relation might be able to reach FlushRelationBuffers
before the last user of the relation had gotten around to dropping
his buffer pins.)
|
|
|
|
|
|
| |
that they'd get to commit immediately on finishing. There's now a
centralized routine PreventTransactionChain() that implements the
necessary tests.
|
|
|
|
| |
Alvaro Herrera
|
|
|
|
|
| |
pgstat_vacuum_tabstat(). Assume that caller (namely, VACUUM) has done
the appropriate state checking beforehand.
|
|
|
|
| |
need for this optimization, and it's too easily fooled anyway.
|
|
|
|
|
| |
nearly so, by postponing write of flat password file until transaction
commit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
item, if the page containing the current item is split while the indexscan
is stopped and holds no read-lock on the page. The current item might
move right onto a page that the indexscan holds no pin on. In the prior
code this would allow btbulkdelete to reach and possibly delete the item,
causing 'my bits moved right off the end of the world!' when the indexscan
finally resumes. Fix by chaining read-locks to the right during
_bt_restscan and requiring btbulkdelete to LockBufferForCleanup on every
page it scans, not only those with deletable items. Per my pghackers
message of 25-May-02. (Too bad no one could think of a better way.)
|
|
|
|
|
|
|
|
|
| |
whose conditions might yield NULL. The negated qual to attach to the
original query is properly 'x IS NOT TRUE', not 'NOT x'. This fix
produces correct behavior, but we may be taking a performance hit because
the planner is much stupider about IS NOT TRUE than it is about NOT
clauses. Future TODO: teach prepqual, other parts of planner how to
cope with BooleanTest clauses more effectively.
|
|
|
|
| |
Fritz Lehmann-Grube back in January.
|
|
|
|
| |
referred to with whole-tuple syntax.
|
|
|
|
|
|
|
| |
all utility statement types *except* a short list, per discussion a few
days ago. Add missing SetQuerySnapshot calls in VACUUM and REINDEX,
and guard against calling REINDEX DATABASE from a function (has same
problem as VACUUM).
|
|
|
|
|
|
|
|
|
|
| |
rather than being reordered according to INSTEAD attribute for
implementation convenience.
Also, increase compiled-in recursion depth limit from 10 to 100 rewrite
cycles. 10 seems pretty marginal for situations where multiple rules
exist for the same query. There was a complaint about this recently,
so I'm going to bump it up. (Perhaps we should make the limit a GUC
parameter, but that's too close to being a new feature to do in beta.)
|
| |
|
|
|
|
|
|
|
|
| |
Ray Ontko 28-June-02. Also, fix prefix_selectivity for NAME lefthand
variables (it was bogusly assuming binary compatibility), and adjust
make_greater_string() to not call pg_mbcliplen() with invalid multibyte
data (this last per bug report that I can't find at the moment, but it
was in July '02).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> in the position that attislocal should be reset. I'll clean everything
> up and submit the patch I had originally made.
All right, this is it. This patch merely checks if child tables have
the column. If atttypid and atttypmod are the same, the attributes'
attinhcount is incremented; else the operation is aborted. If child
tables don't have the column, recursively add it.
attislocal is not touched in any case.
Alvaro Herrera
|
|
|
|
|
|
|
|
| |
specifically ceil(), floor(), and sign(). There may be other functions
that need to be added, but this is a start. I've included some simple
regression tests.
Neil Conway
|
| |
|
| |
|
|
|
|
|
|
| |
been bit by the fact that the locale functions return pointers to
modifiable variables. I added some comments that might help us avoid
the mistake in future.
|
|
|
|
| |
are still in use out there. Per report from Brendan LeFebvre.
|
|
|
|
|
|
|
| |
command status at the interactive level. SPI_processed, etc are set
in the same way as the returned command status would have been set if
the same querystring were issued interactively. Per gripe from
Michael Paesold 25-Sep-02.
|
|
|
|
|
| |
as per recent pghackers discussions. initdb forced due to change in
fields of stored Query nodes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
query that uses it. This ensures that triggers will be applied consistently
throughout a query even if someone commits changes to the relation's
pg_class.reltriggers field meanwhile. Per crash report from Laurette Cisneros.
While at it, simplify memory management in relcache.c, which no longer
needs the old hack to try to keep trigger info in the same place over
a relcache entry rebuild. (Should try to fix rd_att and rewrite-rule
access similarly, someday.) And make RelationBuildTriggers simpler and
more robust by making it build the trigdesc in working memory and then
CopyTriggerDesc() into cache memory.
|
|
|
|
|
|
|
|
|
|
| |
ANALYZE is not quite clear when branches of the query are never
executed. So this tiny patch fixes that.
The patch is attached and can also be found at:
http://svana.org/kleptog/pgsql/pgsql-explain.patch
Martijn van Oosterhout
|
| |
|
|
|
|
| |
Per gripe from Patrick Welche, 13-Oct-2002.
|
|
|
|
| |
one is pushed down into an outer join and the other is not.
|