| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
| |
anymore given the mktime() workaround now done in DetermineLocalTimeZone.
This has now been confirmed by Robert Bruccoleri for Irix, and I'm going
to extrapolate to AIX as well.
|
|
|
|
|
|
|
|
|
| |
before commit, not after :-( --- the original coding is not only unsafe
if an error occurs while it's processing, but it generates an invalid
sequence of WAL entries. Resurrect 7.2 logic for deleting items when
no longer needed. Use an enum instead of random macros. Editorialize
on names used for routines and constants. Teach backend/nodes routines
about new field in CreateTable struct. Add a regression test.
|
| |
|
|
|
|
| |
to MemSet is a performance boost.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
>
> ... he is now about to write an inlined version that can go into
> s_lock.h . I'll send the new patch later on...
OK, here it comes:
An inlined version of tas(), that works for both, powerpc and
powerpc64. The patch is against 7.3b5 and passes the test suite on
both architectures.
Reinhard Max
|
|
|
|
| |
Neil Conway
|
|
|
|
|
|
| |
for temp tables.
Gavin Sherry
|
|
|
|
|
|
|
|
| |
postgres.h or c.h includes a system header (such as stdio.h or
stdlib.h), there's no need to specifically include it in any of the .c
files in the backend.
Neil Conway
|
|
|
|
|
|
| |
in hopes of reducing platform-to-platform variations in its results.
This will cause the geometry regression test to start failing on some
platforms. I plan to update the test later today.
|
|
|
|
|
|
|
| |
precision for float4, float8, and geometric types. Set it in pg_dump
so that float data can be dumped/reloaded exactly (at least on platforms
where the float I/O support is properly implemented). Initial patch by
Pedro Ferreira, some additional work by Tom Lane.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
now)" item on the open items, and subsequent plpgsql function I sent in,
made me realize it was too hard to get the upper and lower bound of an
array. The attached creates two functions that I think will be very
useful when combined with the ability of plpgsql to return sets.
array_lower(array, dim_num)
- and -
array_upper(array, dim_num)
They return the value (as an int) of the upper and lower bound of the
requested dim in the provided array.
Joe Conway
|
|
|
|
|
| |
as well as unnecessary (and incorrect on Windows) assignments to
errno/SOCK_ERRNO.
|
|
|
|
| |
hashed aggregation, but there's not yet planner support for it.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
node now does its own grouping of the input rows, and has no need for a
preceding GROUP node in the plan pipeline. This allows elimination of
the misnamed tuplePerGroup option for GROUP, and actually saves more code
in nodeGroup.c than it costs in nodeAgg.c, as well as being presumably
faster. Restructure the API of query_planner so that we do not commit to
using a sorted or unsorted plan in query_planner; instead grouping_planner
makes the decision. (Right now it isn't any smarter than query_planner
was, but that will change as soon as it has the option to select a hash-
based aggregation step.) Despite all the hackery, no initdb needed since
only in-memory node types changed.
|
| |
|
|
|
|
| |
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.)
|