- 18 11月, 2005 1 次提交
-
-
由 Tom Lane 提交于
that was added to localbuf.c in 8.1; therefore, applying it to a temp table left corrupt lookup state in memory. The only case where this had a significant chance of causing problems was an ON COMMIT DELETE ROWS temp table; the other possible paths left bogus state that was unlikely to be used again. Per report from Csaba Nagy.
-
- 05 11月, 2005 1 次提交
-
-
由 Tom Lane 提交于
to assume that the string pointer passed to set_ps_display is good forever. There's no need to anyway since ps_status.c itself saves the string, and we already had an API (get_ps_display) to return it. I believe this explains Jim Nasby's report of intermittent crashes in elog.c when %i format code is in use in log_line_prefix. While at it, repair a previously unnoticed problem: on some platforms such as Darwin, the string returned by get_ps_display was blank-padded to the maximum length, meaning that lock.c's attempt to append " waiting" to it never worked.
-
- 29 10月, 2005 1 次提交
-
-
由 Peter Eisentraut 提交于
-
- 28 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
advance its usage_count. This includes writes of dirty buffers triggered by bgwriter, checkpoint, or FlushRelationBuffers, as well as various corner cases that really ought not count as accesses to the page. Should make for some marginal improvement in the quality of our decisions about when to recycle buffers. Per suggestion from ITAGAKI Takahiro.
-
- 15 10月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 13 10月, 2005 3 次提交
-
-
由 Neil Conway 提交于
-
由 Tom Lane 提交于
protected data structures and not using a volatile pointer for same.
-
由 Tom Lane 提交于
pointers, to ensure that compilers won't rearrange accesses to occur while we're not holding the buffer header spinlock. It's probably not necessary to mark volatile in every single place in bufmgr.c, but better safe than sorry. Per trouble report from Kevin Grittner.
-
- 12 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
whether we seem to be running in a uniprocessor or multiprocessor. The adjustment rules could probably still use further tweaking, but I'm convinced this should be a win overall.
-
- 08 10月, 2005 2 次提交
- 23 9月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
It uses existing macros instead of touching directly. ITAGAKI Takahiro
-
- 20 9月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 16 9月, 2005 1 次提交
-
-
由 Tom Lane 提交于
bytes. This shouldn't make any difference on x86 machines, where the size happened to be 16 bytes anyway, but on 64-bit machines and machines with slock_t int or wider, it will speed array indexing and hopefully reduce SMP cache contention effects. Per recent experimentation.
-
- 26 8月, 2005 2 次提交
- 21 8月, 2005 1 次提交
-
-
由 Tom Lane 提交于
to 'Size' (that is, size_t), and install overflow detection checks in it. This allows us to remove the former arbitrary restrictions on NBuffers etc. It won't make any difference in a 32-bit machine, but in a 64-bit machine you could theoretically have terabytes of shared buffers. (How efficiently we could manage 'em remains to be seen.) Similarly, num_temp_buffers, work_mem, and maintenance_work_mem can be set above 2Gb on a 64-bit machine. Original patch from Koichi Suzuki, additional work by moi.
-
- 20 8月, 2005 1 次提交
-
-
由 Tatsuo Ishii 提交于
-
- 17 8月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
max_fsm_relations.
-
- 13 8月, 2005 2 次提交
-
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
David Fetter
-
- 12 8月, 2005 2 次提交
-
-
由 Tom Lane 提交于
computation. On modern machines this is as fast if not faster, and we don't have to clog the CPU's L2 cache with a tens-of-KB pointer array. If we ever decide to adopt a more dynamic allocation method for shared buffers, we'll probably have to revert this patch, but in the meantime we might as well save a few bytes and nanoseconds. Per Qingqing Zhou.
-
由 Tom Lane 提交于
whenever we generate a new OID. This prevents occasional duplicate-OID errors that can otherwise occur once the OID counter has wrapped around. Duplicate relfilenode values are also checked for when creating new physical files. Per my recent proposal.
-
- 09 8月, 2005 1 次提交
-
-
由 Tom Lane 提交于
compiled with USE_ASSERT_CHECKING but is running with assert_enabled false.
-
- 08 8月, 2005 2 次提交
-
-
由 Tom Lane 提交于
exit, instead of trying to take shortcuts. Introduce some additional shutdown callback routines to eliminate kluges like having ProcKill be responsible for shutting down the buffer manager. Ensure that the order of operations during shutdown is predictable and what you would expect given the module layering.
-
由 Tom Lane 提交于
max_files_per_process. Going further than that is just a waste of cycles, and it seems that current Cygwin does not cope gracefully with deliberately running the system out of FDs. Per Andrew Dunstan.
-
- 03 8月, 2005 1 次提交
-
-
由 Tom Lane 提交于
doesn't block the bgwriter from making progress writing out other buffers. This was a hard problem in the context of the ARC/2Q design, but it's trivial in the context of clock sweep ... just advance the sweep counter before we try to write not after.
-
- 02 8月, 2005 1 次提交
-
-
由 Tom Lane 提交于
Original patch by Hans-Juergen Schoenig, revisions by Karel Zak and Tom Lane.
-
- 01 8月, 2005 1 次提交
-
-
由 Tom Lane 提交于
This patch also includes preliminary update of pg_dumpall for roles. Petr Jelinek, with review by Bruce Momjian and Tom Lane.
-
- 30 7月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 04 7月, 2005 1 次提交
-
-
由 Tom Lane 提交于
chdir into PGDATA and subsequently use relative paths instead of absolute paths to access all files under PGDATA. This seems to give a small performance improvement, and it should make the system more robust against naive DBAs doing things like moving a database directory that has a live postmaster in it. Per recent discussion.
-
- 21 6月, 2005 1 次提交
-
-
由 Tom Lane 提交于
(a/k/a SELECT INTO). Instead, flush and fsync the whole relation before committing. We do still need the WAL log when PITR is active, however. Simon Riggs and Tom Lane.
-
- 20 6月, 2005 1 次提交
-
-
由 Tom Lane 提交于
includes error checking and an appropriate ereport(ERROR) message. This gets rid of rather tedious and error-prone manipulation of errno, as well as a Windows-specific bug workaround, at more than a dozen call sites. After an idea in a recent patch by Heikki Linnakangas.
-
- 18 6月, 2005 1 次提交
-
-
由 Tom Lane 提交于
hacking by Alvaro Herrera and Tom Lane.
-
- 15 6月, 2005 1 次提交
-
-
由 Tom Lane 提交于
it is sufficient to track whether a backend holds a lock or not, and store information about transaction vs. session locks only in the inside-the-backend LocalLockTable. Since there can now be but one PROCLOCK per lock per backend, LockCountMyLocks() is no longer needed, thus eliminating some O(N^2) behavior when a backend holds many locks. Also simplify the LockAcquire/LockRelease API by passing just a 'sessionLock' boolean instead of a transaction ID. The previous API was designed with the idea that per-transaction lock holding would be important for subtransactions, but now that we have subtransactions we know that this is unwanted. While at it, add an 'isTempObject' parameter to LockAcquire to indicate whether the lock is being taken on a temp table. This is not used just yet, but will be needed shortly for two-phase commit.
-
- 13 6月, 2005 1 次提交
-
-
由 Tom Lane 提交于
a descriptor that uses the current transaction snapshot, rather than SnapshotNow as it did before (and still does if INV_WRITE is set). This means pg_dump will now dump a consistent snapshot of large object contents, as it never could do before. Also, add a lo_create() function that is similar to lo_creat() but allows the desired OID of the large object to be specified. This will simplify pg_restore considerably (but I'll fix that in a separate commit).
-
- 07 6月, 2005 2 次提交
-
-
由 Tom Lane 提交于
up have the standard layout with unused space between pd_lower and pd_upper. When this is set, XLogInsert will omit the unused space without bothering to scan it to see if it's zero. That saves time in XLogInsert, and also allows reversion of my earlier patch to make PageRepairFragmentation et al explicitly re-zero freed space. Per suggestion by Heikki Linnakangas.
-
由 Tom Lane 提交于
That code is never going to be used in the foreseeable future, and where it's more than a stub it's making the redo routines harder to read.
-
- 02 6月, 2005 1 次提交
-
-
由 Tom Lane 提交于
Instead of a separate CRC on each backup block, include backup blocks in their parent WAL record's CRC; this is important to ensure that the backup block really goes with the WAL record, ie there was not a page tear right at the start of the backup block. Implement a simple form of compression of backup blocks: drop any run of zeroes starting at pd_lower, so as not to store the unused 'hole' that commonly exists in PG heap and index pages. Tweak PageRepairFragmentation and related routines to ensure they keep the unused space zeroed, so that the above compression method remains effective. All per recent discussions.
-
- 30 5月, 2005 1 次提交
-
-
由 Tom Lane 提交于
are now reported via elog, eliminating the need to test the result code at most call sites. Make it possible for the caller to distinguish a freshly acquired lock from one already held in the current transaction. Use that capability to avoid redundant AcceptInvalidationMessages() calls in LockRelation().
-