aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access
Commit message (Collapse)AuthorAge
* Clean up non-reentrant interface for hash_seq/HashTableWalk, so thatTom Lane2001-01-02
| | | | | | | | starting a new hashtable search no longer clobbers any other search active anywhere in the system. Fix RelationCacheInvalidate() so that it will not crash or go into an infinite loop if invoked recursively, as for example by a second SI Reset message arriving while we are still processing a prior one.
* 1. WAL needs in zero-ed content of newly initialized page.Vadim B. Mikheev2000-12-30
| | | | | 2. Log record for PageRepaireFragmentation now keeps array of !LP_USED offnums to redo cleanup properly.
* Fixed misprint in heap update WALoging.Vadim B. Mikheev2000-12-30
|
* Fix failure in CreateCheckPoint on some Alpha boxes --- it's not OK toTom Lane2000-12-29
| | | | | | | assume that TAS() will always succeed the first time, even if the lock is known to be free. Also, make sure that code will eventually time out and report a stuck spinlock, rather than looping forever. Small cleanups in s_lock.h, too.
* MUST update (in-memory) data page BEFORE XLogInsert to logVadim B. Mikheev2000-12-29
| | | | NEW page content if WAL will decide to backup page.
* nbtree_xlog_newroot: set meta flag in meta page opaque.Vadim B. Mikheev2000-12-29
|
* New WAL version - CRC and data blocks backup.Vadim B. Mikheev2000-12-28
|
* Fix portability problems recently exposed by regression tests on Alphas.Tom Lane2000-12-27
| | | | | | | | | | 1. Distinguish cases where a Datum representing a tuple datatype is an OID from cases where it is a pointer to TupleTableSlot, and make sure we use the right typlen in each case. 2. Make fetchatt() and related code support 8-byte by-value datatypes on machines where Datum is 8 bytes. Centralize knowledge of the available by-value datatype sizes in two macros in tupmacs.h, so that this will be easier if we ever have to do it again.
* Revise lock manager to support "session level" locks as well as "transactionTom Lane2000-12-22
| | | | | | | | | | | | | | | | level" locks. A session lock is not released at transaction commit (but it is released on transaction abort, to ensure recovery after an elog(ERROR)). In VACUUM, use a session lock to protect the master table while vacuuming a TOAST table, so that the TOAST table can be done in an independent transaction. I also took this opportunity to do some cleanup and renaming in the lock code. The previously noted bug in ProcLockWakeup, that it couldn't wake up any waiters beyond the first non-wakeable waiter, is now fixed. Also found a previously unknown bug of the same kind (failure to scan all members of a lock queue in some cases) in DeadLockCheck. This might have led to failure to detect a deadlock condition, resulting in indefinite waits, but it's difficult to characterize the conditions required to trigger a failure.
* >> Here is a patch for the beos port (All regression tests are OK).Bruce Momjian2000-12-18
| | | | | | | | | | | | | | | | | | | | | | >> xlog.c : special case for beos to avoid 'link' which does not work yet >> beos/sem.c : implementation of new sem_ctl call (GETPID) and a new >sem_op >> flag (IPCNOWAIT) >> dynloader/beos.c : add a verification of symbol validity (seem that the >> loader sometime return OK with an invalid symbol) >> postmaster.c : add beos forking support for the new checkpoint process >> postgres.c : remove beos special case for getrusage >> beos.h : Correction of a bas definition of AF_UNIX, misc defnitions >> >> >> thanks >> >> >> cyril Cyril VELTER
* Clean up backend-exit-time cleanup behavior. Use on_shmem_exit callbacksTom Lane2000-12-18
| | | | | | to ensure that we have released buffer refcounts and so forth, rather than putting ad-hoc operations before (some of the calls to) proc_exit. Add commentary to discourage future hackers from repeating that mistake.
* Remove elog for online log files.Vadim B. Mikheev2000-12-11
|
* elog(LOG)-->elog(DEBUG) for skipped logs.Vadim B. Mikheev2000-12-11
|
* Resolve complie error(was my fault).Hiroshi Inoue2000-12-11
|
* *redo: Heap move* neglects to set t_cmin for MOVED_IN tuples.Hiroshi Inoue2000-12-11
|
* Repair erroneous use of hashvarlena() for MACADDR, which is not aTom Lane2000-12-08
| | | | | | | varlena type. (I did not force initdb, but you won't see the fix unless you do one.) Also, make sure all index support operators and functions are careful not to leak memory for toasted inputs; I had missed some hash and rtree support ops on this point before.
* Resurrect -F switch: it controls fsyncs again, though the fsyncs areTom Lane2000-12-08
| | | | | mostly just on the WAL logfile nowadays. But if people want to disable fsync for performance, why should we say no?
* RecordTransactionAbort() shouldn't log XLOG_XACT_ABORTHiroshi Inoue2000-12-07
| | | | if the transaction has already been committed ?
* Silence compiler warning.Tom Lane2000-12-07
|
* Disable elog(ERROR|FATAL) in signal handlers inVadim B. Mikheev2000-12-03
| | | | critical sections of code.
* Make tuple receive/print routines TOAST-aware. Formerly, printtup wouldTom Lane2000-12-01
| | | | | leak memory when printing a toasted attribute, and printtup_internal didn't work at all...
* Remove VARLENA_FIXED_SIZE hack, which is irreversibly broken now thatTom Lane2000-11-30
| | | | | | | | both MULTIBYTE and TOAST prevent char(n) from being truly fixed-size. Simplify and speed up fastgetattr() and index_getattr() macros by eliminating special cases for attnum=1. It's just as fast to handle the first attribute by presetting its attcacheoff to zero; so do that instead when loading the tupledesc in relcache.c.
* No more #ifdef XLOG.Vadim B. Mikheev2000-11-30
|
* XLOG stuff for sequences.Vadim B. Mikheev2000-11-30
| | | | CommitDelay in guc.c
* Rearrange bufmgr header files so that buf_internals.h need not beTom Lane2000-11-30
| | | | | | | included by everything that includes bufmgr.h --- it's supposed to be internals, after all, not part of the API! This fixes the conflict against FreeBSD headers reported by Rosenman, by making it unnecessary for s_lock.h to be included by plperl.c.
* Significant cleanups in SysV IPC handling (shared mem and semaphores).Tom Lane2000-11-28
| | | | | | | | | | | 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.
* Check for link(2) failure.Tom Lane2000-11-27
|
* Store current LC_COLLATE and LC_CTYPE settings in pg_control during initdb;Tom Lane2000-11-25
| | | | | | | | | | re-adopt these settings at every postmaster or standalone-backend startup. This should fix problems with indexes becoming corrupt due to failure to provide consistent locale environment for postmaster at all times. Also, refuse to start up a non-locale-enabled compilation in a database originally initdb'd with a non-C locale. Suppress LIKE index optimization if locale is not "C" or "POSIX" (are there any other locales where it's safe?). Issue NOTICE during initdb if selected locale disables LIKE optimization.
* Refine log/error messages. Print out the errno message, not the number.Peter Eisentraut2000-11-21
| | | | | Remove timestamps from messages where this would be redundant with the log_timestamp option.
* Put external declarations into header files.Peter Eisentraut2000-11-21
|
* miscVadim B. Mikheev2000-11-21
|
* Fix OID bootstraping.Vadim B. Mikheev2000-11-21
|
* Init ShmemVariableCache in BootStrapXLOG()Vadim B. Mikheev2000-11-21
| | | | (should fix OID bootstraping).
* Silence gcc warnings.Tom Lane2000-11-20
|
* Include postgres.h before checking #ifdef XLOG.Peter Eisentraut2000-11-20
|
* Compile WAL by default.Vadim B. Mikheev2000-11-20
|
* Change SearchSysCache coding conventions so that a reference count isTom Lane2000-11-16
| | | | | | | maintained for each cache entry. A cache entry will not be freed until the matching ReleaseSysCache call has been executed. This eliminates worries about cache entries getting dropped while still in use. See my posting to pg-hackers of even date for more info.
* That variable I removed broke XLOG, that part of the deltaBruce Momjian2000-11-16
| | | | | | should have read: Alfred Perlstein
* Make pgsql compile on FreeBSD-alpha.Bruce Momjian2000-11-16
| | | | | | | | | | | | | | | | | | Context diff this time. Remove -m486 compile args for FreeBSD-i386, compile -O2 on i386. Compile with only -O on alpha for codegen safety. Make the port use the TEST_AND_SET for alpha and i386 on FreeBSD. Fix a lot of bogus string formats for outputting pointers (cast to int and %u/%x replaced with no cast and %p), and 'Size'(size_t) are now cast to 'unsigned long' and output with %lu/ Remove an unused variable. Alfred Perlstein
* Minor cleanup of tableOid-related coding.Tom Lane2000-11-14
|
* Clean up syscache so that recursive invocation is safe, and remove errorTom Lane2000-11-10
| | | | | | | | message about recursive use of a syscache. Also remove most of the specialized indexscan routines in indexing.c --- it turns out that catcache.c is perfectly able to perform the indexscan for itself, in fact has already looked up all the information needed to do so! This should be faster as well as needing far less boilerplate code.
* Auto checkpoint creation.Vadim B. Mikheev2000-11-09
|
* Make DROP TABLE rollback-able: postpone physical file delete until commit.Tom Lane2000-11-08
| | | | | | | | | (WAL logging for this is not done yet, however.) Clean up a number of really crufty things that are no longer needed now that DROP behaves nicely. Make temp table mapper do the right things when drop or rename affecting a temp table is rolled back. Also, remove "relation modified while in use" error check, in favor of locking tables at first reference and holding that lock throughout the statement.
* New CHECKPOINT command.Vadim B. Mikheev2000-11-05
| | | | | Auto removing of offline log files and creating new file at checkpoint time.
* pg_variable is not used in WAL version now.Vadim B. Mikheev2000-11-03
|
* Forgot to check page LSN and unlock buffer in btree_xlog_delete - fixed.Vadim B. Mikheev2000-11-01
| | | | (Thanks to Tatsuo Ishii for finding bug)
* Fix recovery cache code (thanks to Peter Eisentraut forVadim B. Mikheev2000-10-31
| | | | pointing to bug).
* WAL fixes.Vadim B. Mikheev2000-10-29
|
* WALVadim B. Mikheev2000-10-28
|
* Fix AbortOutOfAnyTransaction logic to avoid notice aboutTom Lane2000-10-24
| | | | | | 'AbortTransaction and not in in-progress state' when client disconnects just after an error. Notice seems pretty harmless, so I'm not going to worry about back-patching this into 7.0.* ...