Commit Graph

187 Commits

Author SHA1 Message Date
Marc G. Fournier
1af6b56427 From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
Ok, I have finally gotten all of the defines for Dec/Alpha and
Linux/Alpha sorted out as Marc asked. There is no longer any need for
'-Dalpha' or '-Dlinuxalpha' in either the Dec/Alpha or the Linux/Alpha
template files (./src/template/{alpha,linuxalpha}). I have replaced every
instance of 'alpha' or '__alpha__' with '__alpha', as that appears to be
the common symbol between C compilers on both operating systems (RH4.2 &
DecUnix 4.0b) for alpha.
1998-04-27 14:46:51 +00:00
Bruce Momjian
4cbfeef912 Inline some small functions called for every row. 1998-04-24 14:43:33 +00:00
Marc G. Fournier
56b3182241 From: "Billy G. Allie" <Bill.Allie@mug.org>
The following patches will allow postgreSQL 6.3 to compile and run on a
UNIXWARE 2.1.2 system with the native C compiler with the following library
change:

        The alloca function must be copied from the libucb.a archive and added
        to the libgen.a archive.

Also, the GNU flex program is needed to successfully build postgreSQL.
1998-03-01 04:47:38 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Marc G. Fournier
2a07e65dcd From: Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
Only occurrs in
src/include/storage/s_lock.h:#if defined(__AIX)
src/include/utils/dt.h:#if defined(__AIX)
src/include/utils/nabstime.h:#if defined(__AIX)

Simply delete one underscore, only occurs once per file, so no patch.
1998-02-13 17:12:08 +00:00
Marc G. Fournier
64e7adb07b From: Tom I Helbekkmo <tih@Hamartun.Priv.NO>
Apart from this Makefile hack, all I've done is to make dynamically
loaded code modules fail properly (as was already done for __mips__,
although I think this is too loose: I believe NetBSD for the pmax can
do dynamic linking), and to add test-and-set lock handling.  As Bruce
suggested, this is done in a maximally efficient inlined way: I was
not aware that this code was so important, speed-wise.
1998-02-13 05:10:06 +00:00
Marc G. Fournier
d85a5420f7 Port specific, compiler specfied for SGI/Irix5
From: Andrew Martin <martin@biochemistry.ucl.ac.uk>
1998-02-05 03:31:01 +00:00
Marc G. Fournier
50436b7214 Use proper symbol for hpux 1998-02-03 12:42:52 +00:00
Marc G. Fournier
feb5a2cfd6 Fix for various aix related 'mis-defines'
From: Darren King <darrenk@insightdist.com>
1998-02-03 02:09:08 +00:00
Bruce Momjian
862927f443 Real deadlock detection. 1998-01-27 03:00:43 +00:00
Bruce Momjian
91d983aa11 cash_words_out fix 1998-01-26 01:01:37 +00:00
Marc G. Fournier
98018c4b93 From: Keith Parks <emkxp01@mtcc.demon.co.uk>
Small patch for sparc solaris/tas()
1998-01-25 05:23:59 +00:00
Bruce Momjian
c16ebb0f67 getpid/pid cleanup 1998-01-25 05:15:15 +00:00
Bruce Momjian
7229513943 Fix prototypes so they don't look like function definitions. 1998-01-24 22:50:57 +00:00
Marc G. Fournier
1de8926bbe LOCK_LEVEL is defined in an i386_solaris system file, causing the compile
to break.  renaming to PG_LOCK_LEVEL
1998-01-23 19:53:44 +00:00
Bruce Momjian
661bb38812 Cleanup deadlock message. 1998-01-23 06:01:36 +00:00
Bruce Momjian
412a5e6539 Parser cleanup.
Add lock to i386 asm.
1998-01-20 05:05:08 +00:00
Bruce Momjian
3d24e75176 Added code so SubLinks make it to optimizer. 1998-01-19 05:48:55 +00:00
Marc G. Fournier
36c1c94bca From: "Billy G. Allie" <Bill.Allie@mug.org>
The attached patches will allow postgreSQL to compile successfully on SCO
UNIXWARE 2.1.x.  The patches fix the following problems:

1.  Configure did not properly recognize the UNIXWARE system as needing the
    univel port.  It used the sys4 port.

2.  Configure did not properly process the CC flag in the template file.

3.  There was no working test and set locking implementation for the native
    UNIXWARE compiler.

4.  The test and set locking used for Intel X86 that was selected by defining
    NEED_I386_TAS_ASM could fail in a multi-processor environment.

5.  The makefiles for libpq and libpgtcl did not make a shared library for
    the univel port.
1998-01-17 23:33:58 +00:00
Marc G. Fournier
8adc838ff6 Various cleanups for the i386_solaris environment 1998-01-13 19:28:39 +00:00
Vadim B. Mikheev
9453940a85 Remove PageSizeIsValid from BufferGetPageSize. 1998-01-13 14:56:15 +00:00
Marc G. Fournier
374bb5d261 Some *very* major changes by darrenk@insightdist.com (Darren King)
==========================================
What follows is a set of diffs that cleans up the usage of BLCKSZ.

As a side effect, the person compiling the code can change the
value of BLCKSZ _at_their_own_risk_.  By that, I mean that I've
tried it here at 4096 and 16384 with no ill-effects.  A value
of 4096 _shouldn't_ affect much as far as the kernel/file system
goes, but making it bigger than 8192 can have severe consequences
if you don't know what you're doing.  16394 worked for me, _BUT_
when I went to 32768 and did an initdb, the SCSI driver broke and
the partition that I was running under went to hell in a hand
basket. Had to reboot and do a good bit of fsck'ing to fix things up.

The patch can be safely applied though.  Just leave BLCKSZ = 8192
and everything is as before.  It basically only cleans up all of the
references to BLCKSZ in the code.

If this patch is applied, a comment in the config.h file though above
the BLCKSZ define with warning about monkeying around with it would
be a good idea.

Darren  darrenk@insightdist.com

(Also cleans up some of the #includes in files referencing BLCKSZ.)
==========================================
1998-01-13 04:05:12 +00:00
Marc G. Fournier
0aa928764a Various fixes NETBSD/sparc related
From: Tom I Helbekkmo <tih@Hamartun.Priv.NO>
1998-01-04 19:13:04 +00:00
Marc G. Fournier
8a0967a3b1 bring in alpha/linux s_lock changes
From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
1997-12-30 04:01:28 +00:00
Bruce Momjian
b69359e2d7 Spark/Linux patch for locking, from Tom Szybist 1997-12-09 20:55:33 +00:00
Bruce Momjian
3fa2bb316c Remove archive stuff. 1997-11-21 18:12:58 +00:00
Bruce Momjian
6016148c61 new alpha linux locking from Travis Melhiser <melhiser@viper.co.union.nc.us> 1997-11-07 21:35:41 +00:00
Bruce Momjian
58ed1232f5 Fix for netbsd locking, from Henry B. Hotz. 1997-10-30 05:24:19 +00:00
Bruce Momjian
83cd375cd2 Linux/alpha patch from Dan Maynard 1997-10-03 15:27:18 +00:00
Bruce Momjian
d663f1c839 Sparc lock fix for Linux/netbsd. 1997-10-02 18:32:58 +00:00
Bruce Momjian
cb9604f2ac Add support for NetBSD/sparc. 1997-09-30 16:21:42 +00:00
Bruce Momjian
be5241420a S_LOCK_FREE fix. 1997-09-25 01:48:58 +00:00
Bruce Momjian
ebb3008dbd Fix for S_FREE_LOCK. 1997-09-24 23:37:26 +00:00
Bruce Momjian
09dfed4022 Cleanup backslashes. 1997-09-22 18:14:25 +00:00
Bruce Momjian
a2a0842d1c Fix for missing tas on some platforms. 1997-09-22 15:59:19 +00:00
Bruce Momjian
85f7555132 Small lock cleanup for prototype. 1997-09-22 15:49:14 +00:00
Vadim B. Mikheev
94e52d38df Two copies... 1997-09-22 04:21:51 +00:00
Bruce Momjian
8cb4154492 Inline frequently called functions. 1997-09-18 14:21:02 +00:00
Bruce Momjian
59f6a57e59 Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
Bruce Momjian
075cede748 Add typdefs to pgindent run. 1997-09-08 20:59:27 +00:00
Bruce Momjian
319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Bruce Momjian
1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
Bruce Momjian
75c6c2b608 Inlined heap_getattr(). 1997-08-26 23:31:58 +00:00
Bruce Momjian
c4cb617504 Major patch to speed up backend startup after profiling analysis. 1997-08-24 23:08:01 +00:00
Bruce Momjian
1d8bbfd2e7 Make functions static where possible, enclose unused functions in #ifdef NOT_USED. 1997-08-19 21:40:56 +00:00
Bruce Momjian
022903f22e Reduce open() calls. Replace fopen() calls with calls to fd.c functions. 1997-08-18 02:15:04 +00:00
Bruce Momjian
6ed1715b1f Cleanup for NAMEDATALEN use. 1997-08-03 02:38:47 +00:00
Marc G. Fournier
159f8c63ad From: Dan McGuirk <mcguirk@indirect.com>
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.
1997-03-28 07:06:53 +00:00
Marc G. Fournier
5dde558ce6 From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] linux/alpha patches

These patches lay the groundwork for a Linux/Alpha port.  The port doesn't
actually work unless you tweak the linker to put all the pointers in the
first 32 bits of the address space, but it's at least a start.  It
implements the test-and-set instruction in Alpha assembly, and also fixes
a lot of pointer-to-integer conversions, which is probably good anyway.
1997-03-12 21:13:19 +00:00
Marc G. Fournier
497e3c9b5e Fix the prototype for on_exitpg() 1997-03-03 23:34:27 +00:00
Bruce Momjian
31c8e94b34 Remove WIN32 defines. They never worked. 1997-02-14 04:19:07 +00:00
Marc G. Fournier
fb70587c1d Patch from Massimo Dal Zotto <dz@cs.unitn.it>
The following patches add to the backend a new debugging flag -K which prints
a debug trace of all locking operations on user relations (those with oid
greater than 20000). The code is compiled only if LOCK_MGR_DEBUG is defined,
so the patch should be harmless if not explicitly enabled.
I'm using the code to trace deadlock conditions caused by application queries
using the command "$POSTMASTER -D $PGDATA -o '-d 1 -K 1'.
The patches are for version 6.0 dated 970126.
1997-02-12 05:25:13 +00:00
Marc G. Fournier
e72b1ccd30 Add test for union semun to configure
Remove references to NEED_UNION_SEMUN from include/config.h.in and
from include/storage/ipc.h, replacing it with a single HAVE_UNION_SEMUN
1997-02-06 05:30:50 +00:00
Bruce Momjian
1836ce2c81 Change next to nextstep where missed. 1997-01-26 20:15:26 +00:00
Bruce Momjian
6dbe1be690 Restructure padding to handle structure already 128 bytes(alpha). 1997-01-25 03:09:33 +00:00
Bruce Momjian
fa937b5e6b Remove SB_PAD. Compute padding at compile time. 1997-01-23 18:15:29 +00:00
Vadim B. Mikheev
deef313fd0 New flag for BufferDesc - BM_JUST_DIRTIED, - to prevent
losing data changes.
1997-01-20 04:06:13 +00:00
Vadim B. Mikheev
5abfe1484a SetBufferWriteMode () added; FlushLocalBuffer () fixed (shouldn't
release buffer if called from WriteNoReleaseBuffer ())
1997-01-16 07:53:27 +00:00
Vadim B. Mikheev
cbac986736 There is no more ReleaseTmpRelBuffers, but ReleaseRelationBuffers. 1997-01-14 05:36:15 +00:00
Bryan Henderson
6ece8a8d0b Part of patch to make a working nextstep port. 1997-01-13 03:54:48 +00:00
Bryan Henderson
9005a38bdb Change portname "sparc" to "sunos4" and change some portname dependencies to
feature dependencies.  Thanks Kurt J. Lidl.
1996-12-04 03:06:33 +00:00
Bryan Henderson
9c0afeabb7 More stuff to make it compile on various ports. 1996-11-27 08:16:44 +00:00
Vadim B. Mikheev
948720ee94 New mdtruncate() & smgrtruncate() funcs. 1996-11-27 07:33:42 +00:00
Vadim B. Mikheev
b41aa3903c TransactionIdIsInProgress moved to shmem.c 1996-11-27 07:32:10 +00:00
Bruce Momjian
aaeef4d17d All external function definitions now have prototypes that are checked. 1996-11-10 03:06:38 +00:00
Bruce Momjian
c9c0e111b8 More compile cleanups 1996-11-08 20:46:33 +00:00
Bruce Momjian
4b2b8592a0 Compile and warning cleanup 1996-11-08 06:02:30 +00:00
Marc G. Fournier
d2125805d1 Another directory totally cleaned out 1996-11-05 06:11:08 +00:00
Marc G. Fournier
5a5f9420e5 Another series started from utils/builtins.h 1996-11-04 07:46:06 +00:00
Marc G. Fournier
d93d3c843a -Wall based cleanup of include files, based from acl.h, and everything
that it depends on
1996-11-04 07:18:46 +00:00
Bruce Momjian
7e42f4814d Removed PORTNAME_. Use OS version only. 1996-11-04 04:00:56 +00:00
Marc G. Fournier
ff36ebc922 More cleans of the inter-dependencies in the #include files 1996-11-03 12:13:35 +00:00
Marc G. Fournier
3516eda61c Okay, following Bryan's (and others) suggestions...cleaning up the
include files properly...yet, slowly...
1996-11-01 09:31:17 +00:00
Marc G. Fournier
6d4c760eb5 Include file cleanup:
Based on include files require by htup.h, as:

	access/htup.h
		storage/itemptr.h
			storage/block.h
			storage/off.h
		utils/nabstime.h
			<time.h>
1996-11-01 09:19:11 +00:00
Bruce Momjian
dd10d0de23 More chanes for bsdi_2_1 removal 1996-11-01 03:36:16 +00:00
Marc G. Fournier
99412aef23 remove:
#include "postgres.h"
	#include "c.h"
1996-10-31 09:51:30 +00:00
Bruce Momjian
3d7fe6c97c Added needed include file. 1996-10-31 05:58:01 +00:00
Marc G. Fournier
87b48ff032 D'Arcy's cleanups 1996-10-26 04:15:05 +00:00
Marc G. Fournier
f36b2560a4 Major code cleanups from D'arcy (-Wall -Werror) 1996-10-23 07:42:13 +00:00
Marc G. Fournier
2b5a8bc38b More include files cleaned up 1996-10-20 06:35:27 +00:00
Marc G. Fournier
0eac5b0ed5 Welp, another subdirectory cleaned out of redundant/unused #include
files
1996-10-19 06:27:33 +00:00
Marc G. Fournier
9b6b82b91d and another one.. 1996-10-19 04:03:29 +00:00
Marc G. Fournier
c2c618fada anothre one reduced to its component parts 1996-10-19 04:01:41 +00:00
Vadim B. Mikheev
57de92c648 Move definition of PageIsNew from hio.c to here 1996-10-18 07:39:07 +00:00
Marc G. Fournier
81cda65f74 Add a MIPS/NetBSD port... 1996-10-11 03:56:41 +00:00
Marc G. Fournier
22ef6d06fc Moved whether to define union semun from include/storage/ipc.h to
a define in include/config.h
1996-10-02 20:40:17 +00:00
Marc G. Fournier
1054097464 More cleanups of the include files
- centralizing to simplify the -I's required to compile
1996-08-28 01:59:28 +00:00