summaryrefslogtreecommitdiff
path: root/src/include/storage/sinvaladt.h
Commit message (Collapse)AuthorAgeFilesLines
* make sure the $Id tags are converted to $PostgreSQL as well ...PostgreSQL Daemon2003-11-291-1/+1
|
* Update copyrights to 2003.Bruce Momjian2003-08-041-2/+2
|
* This patch reserves the last superuser_reserved_connections slots forBruce Momjian2002-08-291-1/+2
| | | | | | | | | | | | | | | | | | | connections by the superuser only. This patch replaces the last patch I sent a couple of days ago. It closes a connection that has not been authorised by a superuser if it would leave less than the GUC variable ReservedBackends (superuser_reserved_connections in postgres.conf) backend process slots free in the SISeg. This differs to the first patch which only reserved the last ReservedBackends slots in the procState array. This has made the free slot test more expensive due to the use of a lock. After thinking about a comment on the first patch I've also made it a fatal error if the number of reserved slots is not less than the maximum number of connections. Nigel J. Andrews
* Update copyright to 2002.Bruce Momjian2002-06-201-2/+2
|
* Katherine Ward wrote:Jan Wieck2002-06-111-2/+2
| | | | | | | | | | | | | | > Changes to avoid collisions with WIN32 & MFC names... > 1. Renamed: > a. PROC => PGPROC > b. GetUserName() => GetUserNameFromId() > c. GetCurrentTime() => GetCurrentDateTime() > d. IGNORE => IGNORE_DTF in include/utils/datetime.h & utils/adt/datetim > > 2. Added _P to some lex/yacc tokens: > CONST, CHAR, DELETE, FLOAT, GROUP, IN, OUT Jan
* New pgindent run with fixes suggested by Tom. Patch manually reviewed,Bruce Momjian2001-11-051-2/+2
| | | | initdb/regression tests pass.
* Another pgindent run. Fixes enum indenting, and improves #endifBruce Momjian2001-10-281-1/+2
| | | | spacing. Also adds space for one-line comments.
* pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian2001-10-251-3/+2
| | | | tests pass.
* Clean up some longstanding problems in shared-cache invalidation.Tom Lane2001-06-191-15/+8
| | | | | | | | | | | | SI messages now include the relevant database OID, so that operations in one database do not cause useless cache flushes in backends attached to other databases. Declare SI messages properly using a union, to eliminate the former assumption that Oid is the same size as int or Index. Rewrite the nearly-unreadable code in inval.c, and document it better. Arrange for catcache flushes at end of command/transaction to happen before relcache flushes do --- this avoids loading a new tuple into the catcache while setting up new relcache entry, only to have it be flushed again immediately.
* pgindent run. Make it all clean.Bruce Momjian2001-03-221-2/+3
|
* Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group.Bruce Momjian2001-01-241-2/+2
|
* Significant cleanups in SysV IPC handling (shared mem and semaphores).Tom Lane2000-11-281-5/+3
| | | | | | | | | | | IPC key assignment will now work correctly even when multiple postmasters are using same logical port number (which is possible given -k switch). There is only one shared-mem segment per postmaster now, not 3. Rip out broken code for non-TAS case in bufmgr and xlog, substitute a complete S_LOCK emulation using semaphores in spin.c. TAS and non-TAS logic is now exactly the same. When deadlock is detected, "Deadlock detected" is now the elog(ERROR) message, rather than a NOTICE that comes out before an unhelpful ERROR.
* Keep track of the last active slot in the shared ProcState array, soTom Lane2000-11-121-2/+2
| | | | | | | | | that search loops only have to scan that far and not through all maxBackends entries. This eliminates a performance penalty for setting maxBackends much higher than the average number of active backends. Also, eliminate no-longer-used 'backend tag' concept. Remove setting of environment variables at backend start (except for CYR_RECODE), since none of them are being examined by the backend any longer.
* Clean up #include's.Bruce Momjian2000-06-151-2/+1
|
* Ye-old pgindent run. Same 4-space tabs.Bruce Momjian2000-04-121-10/+12
|
* Add:Bruce Momjian2000-01-261-2/+3
| | | | | | * Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
* Several changes here, not very related but touching some of the same files.Tom Lane1999-09-241-1/+3
| | | | | | | | | | | | | | | | | | | | | * Buffer refcount cleanup (per my "progress report" to pghackers, 9/22). * Add links to backend PROC structs to sinval's array of per-backend info, and use these links for routines that need to check the state of all backends (rather than the slow, complicated search of the ShmemIndex hashtable that was used before). Add databaseOID to PROC structs. * Use this to implement an interlock that prevents DESTROY DATABASE of a database containing running backends. (It's a little tricky to prevent a concurrently-starting backend from getting in there, since the new backend is not able to lock anything at the time it tries to look up its database in pg_database. My solution is to recheck that the DB is OK at the end of InitPostgres. It may not be a 100% solution, but it's a lot better than no interlock at all...) * In ALTER TABLE RENAME, flush buffers for the relation before doing the rename of the physical files, to ensure we don't get failures later from mdblindwrt(). * Update TRUNCATE patch so that it actually compiles against current sources :-(. You should do "make clean all" after pulling these changes.
* I finally understood what sinvaladt.c is doing --- and itTom Lane1999-09-061-83/+69
| | | | | | offended my aesthestic sensibility that there was so much unreadable code doing so little. Rewritten code is about half the size, faster, and (I hope) much more intelligible.
* Modify sinval so that InvalidateSharedInvalid() does not holdTom Lane1999-09-041-4/+4
| | | | | | | | the SInval spinlock while it is calling the passed invalFunction or resetFunction. This is necessary to avoid deadlock with lmgr change; InvalidateSharedInvalid can be called recursively now. It should be a good performance improvement anyway --- holding a spinlock for more than a very short interval is a no-no.
* More cleanupBruce Momjian1999-07-161-2/+2
|
* Change #include's to use <> and "" as appropriate.Bruce Momjian1999-07-151-3/+3
|
* Repair performance problem in SI segment manipulations: iteratingTom Lane1999-05-281-10/+16
| | | | | | | | through MAXBACKENDS array entries used to be fine when MAXBACKENDS = 64. It's not so cool with MAXBACKENDS = 1024 (or more!), especially not in a frequently-used routine like SIDelExpiredDataEntries. Repair by making procState array size be the soft MaxBackends limit rather than the hard limit, and by converting SIGetProcStateLimit() to a macro.
* pgindent run over code.Bruce Momjian1999-05-251-3/+2
|
* Allow maximum number of backends to be set at configure timeTom Lane1999-02-191-4/+3
| | | | | | | | | (--with-maxbackends). Add a postmaster switch (-N backends) that allows the limit to be reduced at postmaster start time. (You can't increase it, sorry to say, because there are still some fixed-size arrays.) Grab the number of semaphores indicated by min(MAXBACKENDS, -N) at postmaster startup, so that this particular form of bogus configuration is exposed immediately rather than under heavy load.
* Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian1999-02-131-2/+2
|
* OK, folks, here is the pgindent output.Bruce Momjian1998-09-011-4/+3
|
* From: Massimo Dal Zotto <dz@cs.unitn.it>Marc G. Fournier1998-08-251-3/+3
| | | | | | | | | | | | | | | > sinval.patch > > fixes a problem in SI cache which causes table overflow if some > backend is idle for a long time while other backends keep adding > entries. > It uses the new signal handling implemented in tprintf.patch. > I have also increacasesed the max number of backends from 32 to 64 > and the table size from 1000 to 5000. > I don't know if anybody is working on SI, but until another > solution is found this patch fixes the problem. I have received > messages from other people reporting the same problem which I > fixed many months ago.
* pgindent run before 6.3 release, with Thomas' requested changes.Bruce Momjian1998-02-261-2/+3
|
* Fix prototypes so they don't look like function definitions.Bruce Momjian1998-01-241-3/+2
|
* Used modified version of indent that understands over 100 typedefs.Bruce Momjian1997-09-081-12/+12
|
* Another PGINDENT run that changes variable indenting and case label ↵Bruce Momjian1997-09-081-33/+33
| | | | indenting. Also static variable indenting.
* Massive commit to run PGINDENT on all *.c and *.h files.Bruce Momjian1997-09-071-83/+93
|
* Another directory totally cleaned outMarc G. Fournier1996-11-051-4/+3
|
* remove:Marc G. Fournier1996-10-311-3/+1
| | | | | #include "postgres.h" #include "c.h"
* More cleanups of the include filesMarc G. Fournier1996-08-281-0/+126
- centralizing to simplify the -I's required to compile