aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/bufmgr.c
Commit message (Collapse)AuthorAge
...
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-01
|
* Renaming cleanup, no pgindent yet.Bruce Momjian1998-09-01
|
* heap_fetch requires buffer pointer, must be released; heap_getnextBruce Momjian1998-08-19
| | | | | | | | | | | | | no longer returns buffer pointer, can be gotten from scan; descriptor; bootstrap can create multi-key indexes; pg_procname index now is multi-key index; oidint2, oidint4, oidname are gone (must be removed from regression tests); use System Cache rather than sequential scan in many places; heap_modifytuple no longer takes buffer parameter; remove unused buffer parameter in a few other functions; oid8 is not index-able; remove some use of single-character variable names; cleanup Buffer variables usage and scan descriptor looping; cleaned up allocation and freeing of tuples; 18k lines of diff;
* Lmgr cleanup, new locking modes for LLL.Vadim B. Mikheev1998-08-01
|
* Inline function, rename libpq variablees, change lrel to lockrel.Bruce Momjian1998-07-13
|
* Remove un-needed braces around single statements.Bruce Momjian1998-06-15
|
* Inline some small functions called for every row.Bruce Momjian1998-04-24
|
* Remove GetDatabaseName/Path and use globals. Make consts later.Bruce Momjian1998-04-05
|
* pgindent run before 6.3 release, with Thomas' requested changes.Bruce Momjian1998-02-26
|
* Goodbye register keyword. Compiler knows better.Bruce Momjian1998-02-11
|
* From: Peter T Mount <patches@maidast.demon.co.uk>Marc G. Fournier1998-02-02
| | | | | | | | | | | | | | | | [This is a repost - it supercedes the previous one. It fixes the patch so it doesn't bread aix port, plus there's a file missing out of the original post because difforig doesn't pick up new files. It's now attached. peter] This patch brings the JDBC driver up to the current protocol spec. Basically, the backend now tells the driver what authentication scheme to use. The patch also fixes a performance problem with large objects. In the buffer manager, each fastpath call was sending multiple Notifications to the backend (sometimes more data in the form of notifications were being sent than blob data!).
* getpid/pid cleanupBruce Momjian1998-01-25
|
* Goodbye ABORT. Hello ERROR for all errors.Bruce Momjian1998-01-07
|
* Change elog(WARN) to elog(ERROR) and elog(ABORT).Bruce Momjian1998-01-05
|
* Remove archive stuff.Bruce Momjian1997-11-21
|
* Debug stuff added to BlowawayRelationBuffers().Vadim B. Mikheev1997-10-22
|
* Decrement relation reference count incremented inVadim B. Mikheev1997-10-12
| | | | | RelationIdCacheGetRelation() to flush relations from cache in commit time.
* Blowaway relation buffers from buffer pool before truncation:Vadim B. Mikheev1997-09-22
| | | | + BlowawayRelationBuffers(relation, blocknumber)
* Inline memset() as MemSet().Bruce Momjian1997-09-18
|
* Inline frequently called functions.Bruce Momjian1997-09-18
|
* Used modified version of indent that understands over 100 typedefs.Bruce Momjian1997-09-08
|
* Add typdefs to pgindent run.Bruce Momjian1997-09-08
|
* Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian1997-09-08
| | | | indenting. Also static variable indenting.
* Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian1997-09-07
|
* Make functions static where possible, enclose unused functions in #ifdef ↵Bruce Momjian1997-08-19
| | | | NOT_USED.
* Now that names are null terminated, no need to do all that NAMEDATALEN stuff.Bruce Momjian1997-08-18
|
* Reduce open() calls. Replace fopen() calls with calls to fd.c functions.Bruce Momjian1997-08-18
|
* Remove more (void) and fix -Wall warnings.Bruce Momjian1997-08-12
|
* Added SCO support, from Daniel Harris.Bruce Momjian1997-07-28
|
* Various compile errors concerning overflow due to shifts, unsigned, and bad ↵Bruce Momjian1997-07-24
| | | | prototypes, from Solaris, from Diab Jerius
* CommitInfoNeedsSave[buffer - 1] = 0Vadim B. Mikheev1997-04-18
| | | | added to WriteBuffer(), FlushBuffer(), WriteNoReleaseBuffer().
* PrintBufferUsage() changed to report about shared, local and directVadim B. Mikheev1997-04-18
| | | | blocks transfferes.
* From: Dan McGuirk <mcguirk@indirect.com>Marc G. Fournier1997-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reply-To: hackers@hub.org, Dan McGuirk <mcguirk@indirect.com> To: hackers@hub.org Subject: [HACKERS] tmin writeback optimization I was doing some profiling of the backend, and noticed that during a certain benchmark I was running somewhere between 30% and 75% of the backend's CPU time was being spent in calls to TransactionIdDidCommit() from HeapTupleSatisfiesNow() or HeapTupleSatisfiesItself() to determine that changed rows' transactions had in fact been committed even though the rows' tmin values had not yet been set. When a query looks at a given row, it needs to figure out whether the transaction that changed the row has been committed and hence it should pay attention to the row, or whether on the other hand the transaction is still in progress or has been aborted and hence the row should be ignored. If a tmin value is set, it is known definitively that the row's transaction has been committed. However, if tmin is not set, the transaction referred to in xmin must be looked up in pg_log, and this is what the backend was spending a lot of time doing during my benchmark. So, implementing a method suggested by Vadim, I created the following patch that, the first time a query finds a committed row whose tmin value is not set, sets it, and marks the buffer where the row is stored as dirty. (It works for tmax, too.) This doesn't result in the boost in real time performance I was hoping for, however it does decrease backend CPU usage by up to two-thirds in certain situations, so it could be rather beneficial in high-concurrency settings.
* The second patch adds a more explicative error message to BufferPoolCheckLeak.Marc G. Fournier1997-01-23
| | | | | | It should be completely harmless. Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
* Fixing possible losing data changes:Vadim B. Mikheev1997-01-20
| | | | | | | | | | 1. New flag - BM_JUST_DIRTIED - added for BufferDesc; 2. All data "dirtiers" (WriteBuffer and WriteNoReleaseBuffer) set this flag (and BM_DIRTY too); 3. All data "flushers" (FlushBuffer, BufferSync and BufferReplace) turn this flag off just before calling smgr[blind]write/smgrflush and check this flag after flushing buffer: if it turned ON then BM_DIRTY will stay ON.
* No more LateWrite, but there is WriteMode;Vadim B. Mikheev1997-01-16
| | | | | | SetBufferWriteMode () added; FlushBuffer () fixed: now directly calls smgrflush () and releases buffer only if required by caller.
* ReleaseTmpRelBuffers is ReleaseRelationBuffers now.Vadim B. Mikheev1997-01-14
|
* ReleaseTmpRelBuffers () releases buffers in LOCAL buffer pool nowVadim B. Mikheev1996-12-31
| | | | (if rd_islocal is true).
* Compile and warning cleanupBruce Momjian1996-11-08
|
* Clean up MakefileMarc G. Fournier1996-11-03
| | | | | | Add #include "postgres.h" as required Remove #include "utils/elog.h"
* Fix for pg_log bugMarc G. Fournier1996-09-19
| | | | Submitted by: "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
* iBrought in a fix for backend crashesMarc G. Fournier1996-07-23
| | | | Submitted by: "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
* Postgres95 1.01 Distribution - Virgin SourcesPG95-1_01Marc G. Fournier1996-07-09