| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
| |
as a shared dirtybit for each shared buffer. The shared dirtybit still
controls writing the buffer, but the local bit controls whether we need
to fsync the buffer's file. This arrangement fixes a bug that allowed
some required fsyncs to be missed, and should improve performance as well.
For more info see my post of same date on pghackers.
|
|
|
|
|
|
|
|
| |
In the event of an elog() while the mode was set to immediate write,
there was no way for it to be set back to the normal delayed write.
The mechanism was a waste of space and cycles anyway, since the only user
was varsup.c, which could perfectly well call FlushBuffer directly.
Now it does just that, and the notion of a write mode is gone.
|
| |
|
|
|
|
|
|
| |
running gcc and HP's cc with warnings cranked way up. Signed vs unsigned
comparisons, routines declared static and then defined not-static,
that kind of thing. Tedious, but perhaps useful...
|
|
|
|
|
| |
so that the fmgr lookup only has to happen once per index scan and not
once per tuple. Seems to save 5% or so of CPU time for an indexscan.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Subj: [PORTS] initdb problem on NT with 7.0). Since nobody helped me,
I had to find out the reson. The difference between NT and Linux (for
instance) is that "open( path, O_RDWR );" opens a file in text mode. So
sometime less block can be read than required.
I suggest a following patch. BTW the situation appeared before, see
hba.c, pqcomm.c and others.
Alexei Zakharov
|
| |
|
|
|
|
| |
performance in catcache lookups.
|
| |
|
|
|
|
|
|
|
| |
appropriate btree three-way comparison routine. Not clear why the
three-way comparison routines were being used in some paths and not
others in btree --- incomplete changes by someone long ago, maybe?
Anyway, this makes for a nice speedup in CREATE INDEX.
|
| |
|
|
|
|
| |
Don Baccus
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
syscache and relcache flushes). Relcache entry rebuild now preserves
original tupledesc, rewrite rules, and triggers if possible, so that pointers
to these things remain valid --- if these things change while relcache entry
has positive refcount, we elog(ERROR) to avoid later crash. Arrange for
xact-local rels to be rebuilt when an SI inval message is seen for them,
so that they are updated by CommandCounterIncrement the same as regular rels.
(This is useful because of Hiroshi's recent changes to process our own SI
messages at CommandCounterIncrement time.) This allows simplification of
some routines that previously hacked around the lack of an automatic update.
catcache now keeps its own copy of tupledesc for its relation, rather than
depending on the relcache's copy; this avoids needing to reinitialize catcache
during a cache flush, which saves some cycles and eliminates nasty circularity
problems that occur if a cache flush happens while trying to initialize a
catcache.
Eliminate a number of permanent memory leaks that used to happen during
catcache or relcache flush; not least of which was that catcache never
freed any cached tuples! (Rule parsetree storage is still leaked, however;
will fix that separately.)
Nothing done yet about code that uses tuples retrieved by SearchSysCache
for longer than is safe.
|
|
|
|
|
|
|
| |
Initdb help correction
Changed end/abort to commit/rollback and changed related notices
Commented out way old printing functions in libpq
Fixed a typo in alter table / alter column
|
| |
|
|
|
|
|
|
| |
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
to all files copyright Regents of Berkeley. Man, that's a lot of files.
|
|
|
|
|
|
| |
pghackers discussion of 5-Jan-2000. The amopselect and amopnpages
estimators are gone, and in their place is a per-AM amcostestimate
procedure (linked to from pg_am, not pg_amop).
|
| |
|
|
|
|
|
| |
New INSTALL file
Fixed a copyright notice
|
|
|
|
|
|
|
|
|
| |
from a constraint condition does not violate the constraint (cf. discussion
on pghackers 12/9/99). Implemented by adding a parameter to ExecQual,
specifying whether to return TRUE or FALSE when the qual result is
really NULL in three-valued boolean logic. Currently, ExecRelCheck is
the only caller that asks for TRUE, but if we find any other places that
have the wrong response to NULL, it'll be easy to fix them.
|
| |
|
|
|
|
|
| |
where necessary --- several of them didn't really need it, though.
tqual-checking macros simplified accordingly.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
this would fix TODO
* elog() flushes cache, try invalidating just entries from
current xact, perhaps using invalidation cache
|
|
|
|
| |
as well as when inserting entries into an existing index.
|
| |
|
|
|
|
|
|
| |
relcache entry no longer leaks a small amount of memory. index_endscan
now releases all the memory acquired by index_beginscan, so callers of it
should NOT pfree the scan descriptor anymore.
|
|
|
|
|
| |
not BLCKSZ/2 as some of us thought. Add check for oversize item so that
failure is detected before corrupting the index, not after.
|
|
|
|
|
|
| |
in regression tests.
Jan
|
|
|
|
| |
Jan
|
|
|
|
| |
Jan
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
after...
|
| |
|
| |
|
|
|
|
|
|
|
| |
Make all system indexes unique.
Make all cache loads use system indexes.
Rename *rel to *relid in inheritance tables.
Rename cache names to be clearer.
|
|
|
|
| |
Jan
|
|
|
|
| |
This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp).
|
| |
|
| |
|
|
|
|
|
|
| |
Fewer calls to nameout.
Better use of RelationGetRelationName.
|
|
|
|
|
| |
mdnblocks. Bad enough it does an lseek, but to do it twice for no
reason...
|