summaryrefslogtreecommitdiff
path: root/src/backend/access/common/heapvalid.c
AgeCommit message (Collapse)Author
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
1997-09-22+#include <access/xact.h>Vadim B. Mikheev
1997-09-18Inline frequently called functions.Bruce Momjian
1997-09-12heapattr functions now return a Datum, not char *.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-08-29TupleUpdatedByCurXactAndCmd () changed due toVadim B. Mikheev
Fix very old bug which made tuples changed/inserted by a commnd visible to command itself (so we had multiple update of updated tuples, etc).
1997-08-26Inlined heap_getattr().Bruce Momjian
1997-08-24Major patch to speed up backend startup after profiling analysis.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-10All external function definitions now have prototypes that are checked.Bruce Momjian
1996-11-05Re-add -I../.. for fmgr.hMarc G. Fournier
Change #include "" to #include <> Remove a few unused #includes Make sure it compiles with -Wall -Werror
1996-11-03More include file cleanupsMarc G. Fournier
1996-11-01More intelligent #include cleanups, as pointed out by Bryan...Marc G. Fournier
Compiled with -Wall -Werror
1996-10-31Added misc include filesMarc G. Fournier
1996-10-30Fixes:Marc G. Fournier
I found another bug in btree index. Looking at the code it seems that NULL keys are never used to build or scan a btree index (see the explain commands in the example). However this is not the case when a null key is retrieved in an outer loop of a join select and used in an index scan of an inner loop. This bug causes at least three kinds of problems: 1) the backend crashes when it tries to compare a text string with a null. 2) it is not possible to find tuples with null keys in a join. 3) null is considered equal to 0 when the datum is passed by value, see the last query. Submitted by: Massimo Dal Zotto <[email protected]>
1996-10-21Cosmetic changes to ordering of #include filesMarc G. Fournier
1996-10-20Other then:Marc G. Fournier
indextuple.c:159: warning: `bp' might be used uninitialized in this function this directory passes -Wall -Werror under FreeBSD
1996-10-20First pass at fixing my own mistakesMarc G. Fournier
Mainly...fix up the includes I removed, as well as prototypes Pointed out by D'Arcy
1996-10-19There...that pretty much cleans up redundant/unused #includes inMarc G. Fournier
access/common...how many more directories to go? :)
1996-10-19another one with #include file clean'd upMarc G. Fournier
1996-07-09Postgres95 1.01 Distribution - Virgin SourcesPG95-1_01Marc G. Fournier