| Commit message (Collapse) | Author | Age |
|
|
|
| |
from sergiop@sinectis.com.ar.
|
|
|
|
| |
of early December 2000. COPY BINARY is now TOAST-safe.
|
|
|
|
| |
to it. Bad dog.
|
|
|
|
|
|
|
| |
Previous result did not have correct month boundaries so anything near edge
cases was suspect (e.g. April was in Q1 and July, August were lumped into
Q2).
Thanks to Denis Osadchy <osadchy@turbo.nsk.su> for the report.
|
|
|
|
|
|
|
|
| |
starting a new hashtable search no longer clobbers any other search
active anywhere in the system. Fix RelationCacheInvalidate() so that
it will not crash or go into an infinite loop if invoked recursively,
as for example by a second SI Reset message arriving while we are still
processing a prior one.
|
| |
|
|
|
|
| |
tuples for a relation. Needed to prevent Assert failure in CLUSTER.
|
| |
|
|
|
|
| |
of-others.
|
| |
|
|
|
|
| |
Bug is revealed by OID regress test on 64-bit platforms.
|
|
|
|
|
| |
2. Log record for PageRepaireFragmentation now keeps array
of !LP_USED offnums to redo cleanup properly.
|
| |
|
|
|
|
|
|
| |
In theory we should always get EEXIST if there's a key collision, but
if the kernel code tests error conditions in a weird order, perhaps
EACCES or EIDRM could occur too.
|
|
|
|
|
|
|
| |
assume that TAS() will always succeed the first time, even if the lock
is known to be free. Also, make sure that code will eventually time out
and report a stuck spinlock, rather than looping forever. Small cleanups
in s_lock.h, too.
|
|
|
|
| |
NEW page content if WAL will decide to backup page.
|
| |
|
| |
|
|
|
|
| |
for 64-bit platforms ...
|
|
|
|
|
|
|
|
|
|
| |
1. Distinguish cases where a Datum representing a tuple datatype is an OID
from cases where it is a pointer to TupleTableSlot, and make sure we use
the right typlen in each case.
2. Make fetchatt() and related code support 8-byte by-value datatypes on
machines where Datum is 8 bytes. Centralize knowledge of the available
by-value datatype sizes in two macros in tupmacs.h, so that this will be
easier if we ever have to do it again.
|
|
|
|
| |
nodes.
|
|
|
|
|
| |
according to the ANSI C spec, (b) gets the boundary conditions right,
and (c) is about a third as long and three times more intelligible.
|
|
|
|
|
|
|
| |
table that inherits from a temp table. Make sure the right things happen
if one creates a temp table, creates another temp that inherits from it,
then renames the first one. (Previously, system would end up trying to
delete the temp tables in the wrong order.)
|
|
|
|
| |
64-bit machines. Also, make oidvectorin use the same code as oidin.
|
| |
|
|
|
|
| |
table has a child table.
|
|
|
|
|
| |
semantics of RI operations. Eventually we ought to look at making RI
work properly across inheritance trees, but not for 7.1 ...
|
|
|
|
|
|
| |
recommendation from Paul Vixie. Add a new abbrev() function to produce
abbreviated format as text. No forced initdb, but new function is not
available unless you do an initdb or add the pg_proc row manually.
|
|
|
|
| |
will not accept types named with operator names or vice versa.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
level" locks. A session lock is not released at transaction commit (but it
is released on transaction abort, to ensure recovery after an elog(ERROR)).
In VACUUM, use a session lock to protect the master table while vacuuming a
TOAST table, so that the TOAST table can be done in an independent
transaction.
I also took this opportunity to do some cleanup and renaming in the lock
code. The previously noted bug in ProcLockWakeup, that it couldn't wake up
any waiters beyond the first non-wakeable waiter, is now fixed. Also found
a previously unknown bug of the same kind (failure to scan all members of
a lock queue in some cases) in DeadLockCheck. This might have led to failure
to detect a deadlock condition, resulting in indefinite waits, but it's
difficult to characterize the conditions required to trigger a failure.
|
|
|
|
|
|
| |
applied to the duplicated subtree twice. Probably someday we should
fix the parser not to generate multiple links to the same subtree,
but for now a quick copyObject() is the path of least resistance.
|
|
|
|
| |
over two years.
|
|
|
|
|
|
|
| |
observed by Inoue. Also, don't call ProcRemove() from postmaster if we
have detected a backend crash --- too risky if shared memory is corrupted.
It's not needed anyway, considering we are going to reinitialize shared
memory and semaphores as soon as the last child is dead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
>> xlog.c : special case for beos to avoid 'link' which does not work yet
>> beos/sem.c : implementation of new sem_ctl call (GETPID) and a new
>sem_op
>> flag (IPCNOWAIT)
>> dynloader/beos.c : add a verification of symbol validity (seem that
the
>> loader sometime return OK with an invalid symbol)
>> postmaster.c : add beos forking support for the new checkpoint
process
>> postgres.c : remove beos special case for getrusage
>> beos.h : Correction of a bas definition of AF_UNIX, misc defnitions
>>
>>
>> thanks
>>
>>
>> cyril
Cyril VELTER
|
|
|
|
|
|
| |
might change it. Experimentation shows that the signal handler call
mechanism does not save/restore errno for you, at least not on Linux
or HPUX, so this is definitely a real risk.
|
|
|
|
|
| |
to same joinrel. Although make_rels_by_joins doesn't mind, GEQO has
an Assert that doesn't like this.
|
|
|
|
| |
inherited column, per bug report from Elphick 12/15/00.
|
|
|
|
|
|
| |
to ensure that we have released buffer refcounts and so forth, rather than
putting ad-hoc operations before (some of the calls to) proc_exit. Add
commentary to discourage future hackers from repeating that mistake.
|
|
|
|
|
| |
types in a category --- it was taking the last preferred type among the
inputs, rather than the first one as intended.
|
| |
|
|
|
|
| |
insensitive to the order of arguments. Per pghackers discussion 12/10/00.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Date: Thu, 14 Dec 2000 12:44:47 +0100 (CET)
> From: Kovacs Zoltan Sandor <tip@pc10.radnoti-szeged.sulinet.hu>
> To: pgsql-bugs@postgresql.org
> Subject: [BUGS] to_char() causes backend to close connection
>
> Hi, this query gives different strange results:
>
> select to_char(now()::abstime,'YYMMDDHH24MI');
>
> I get e.g. a "backend closed the channel unexpectedly..." error with
> successful or failed resetting attempt (indeterministic)
Again thanks Kovacs, you found really designing bug, that appear
if anyone write bad format template to "number" version of to_char()
(as you with 'DD').
Karel
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Trying to connect to template0 left a global referenced buffer
because the scan of pg_database wasn't ended properly before
elog(FATAL).
Jan
|
|
|
|
|
|
|
|
|
|
|
|
| |
comparison does not consider paths different when they differ only in
uninteresting aspects of sort order. (We had a special case of this
consideration for indexscans already, but generalize it to apply to
ordered join paths too.) Be stricter about what is a canonical pathkey
to allow faster pathkey comparison. Cache canonical pathkeys and
dispersion stats for left and right sides of a RestrictInfo's clause,
to avoid repeated computation. Total speedup will depend on number of
tables in a query, but I see about 4x speedup of planning phase for
a sample seven-table query.
|
| |
|
|
|
|
|
|
| |
OIDs rather than names. Aside from being simpler and faster, this way
doesn't blow up in the face of 'create temp table foo () inherits (foo)'.
Which is a rather odd thing to do, but it seems some people want to.
|
|
|
|
| |
output first outer tuple before advancing...
|
|
|
|
|
|
|
| |
avoid repeated evaluations in cost_qual_eval(). This turns out to save
a useful fraction of planning time. No change to external representation
of RestrictInfo --- although that node type doesn't appear in stored
rules anyway.
|