summaryrefslogtreecommitdiff
path: root/src/include/access/valid.h
AgeCommit message (Collapse)Author
2000-01-26Add:Bruce Momjian
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
1999-07-14Cleanup of /include #include's, for 6.6 only.Bruce Momjian
1999-05-26Make functions static or NOT_USED as appropriate.Bruce Momjian
1999-02-13Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian
1998-11-27New HeapTuple structure/interface.Vadim B. Mikheev
1998-09-01OK, folks, here is the pgindent output.Bruce Momjian
1998-09-01Renaming cleanup, no pgindent yet.Bruce Momjian
1998-01-31Inline fastgetattr and others so data access does not use functionBruce Momjian
calls.
1998-01-15Thank god for searchable mail archives.PostgreSQL Daemon
Patch by: [email protected] (Jan Wieck) One of the design rules of PostgreSQL is extensibility. And to follow this rule means (at least for me) that there should not only be a builtin PL. Instead I would prefer a defined interface for PL implemetations.
1997-11-24Remove tqual.h includes not needed.Bruce Momjian
1997-11-20Remove all time travel stuff. Small parser cleanup.Bruce Momjian
1997-11-02Good Bye, Time Travel!Vadim B. Mikheev
1997-09-18Inline frequently called functions.Bruce Momjian
1997-09-08Used modified version of indent that understands over 100 typedefs.Bruce Momjian
1997-09-08Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian
indenting. Also static variable indenting.
1997-09-07Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian
1997-03-28From: Dan McGuirk <[email protected]>Marc G. Fournier
Reply-To: [email protected], Dan McGuirk <[email protected]> To: [email protected] 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.
1996-11-05these ones have their dependencies cleaned upMarc G. Fournier
1996-10-31remove:Marc G. Fournier
#include "postgres.h" #include "c.h"
1996-08-27Moved from backend/access to include/accessMarc G. Fournier