aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access
Commit message (Collapse)AuthorAge
...
* Fix problems seen in parallel regress tests when SI buffer overruns (causingTom Lane2000-01-31
| | | | | | | | | | | | | | | | | | | | | | | syscache and relcache flushes). Relcache entry rebuild now preserves original tupledesc, rewrite rules, and triggers if possible, so that pointers to these things remain valid --- if these things change while relcache entry has positive refcount, we elog(ERROR) to avoid later crash. Arrange for xact-local rels to be rebuilt when an SI inval message is seen for them, so that they are updated by CommandCounterIncrement the same as regular rels. (This is useful because of Hiroshi's recent changes to process our own SI messages at CommandCounterIncrement time.) This allows simplification of some routines that previously hacked around the lack of an automatic update. catcache now keeps its own copy of tupledesc for its relation, rather than depending on the relcache's copy; this avoids needing to reinitialize catcache during a cache flush, which saves some cycles and eliminates nasty circularity problems that occur if a cache flush happens while trying to initialize a catcache. Eliminate a number of permanent memory leaks that used to happen during catcache or relcache flush; not least of which was that catcache never freed any cached tuples! (Rule parsetree storage is still leaked, however; will fix that separately.) Nothing done yet about code that uses tuples retrieved by SearchSysCache for longer than is safe.
* A few minor psql enhancementsPeter Eisentraut2000-01-29
| | | | | | | Initdb help correction Changed end/abort to commit/rollback and changed related notices Commented out way old printing functions in libpq Fixed a typo in alter table / alter column
* Patch from Hiroshi for overflow btree comparison.Bruce Momjian2000-01-28
|
* Add:Bruce Momjian2000-01-26
| | | | | | * Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
* Revise handling of index-type-specific indexscan cost estimation, perTom Lane2000-01-22
| | | | | | pghackers discussion of 5-Jan-2000. The amopselect and amopnpages estimators are gone, and in their place is a per-AM amcostestimate procedure (linked to from pg_am, not pg_amop).
* added ALTER TABLE DROP COLUMN, early versionPeter Eisentraut2000-01-22
|
* Added new pg_id to fix initdb problemsPeter Eisentraut2000-01-20
| | | | | New INSTALL file Fixed a copyright notice
* Fix handling of NULL constraint conditions: per SQL92 spec, a NULL resultTom Lane2000-01-19
| | | | | | | | | from a constraint condition does not violate the constraint (cf. discussion on pghackers 12/9/99). Implemented by adding a parameter to ExecQual, specifying whether to return TRUE or FALSE when the qual result is really NULL in three-valued boolean logic. Currently, ExecRelCheck is the only caller that asks for TRUE, but if we find any other places that have the wrong response to NULL, it'll be easy to fix them.
* Removed MBFLAGS from makefiles since it's now done in include/config.h.Peter Eisentraut2000-01-19
|
* setheapoverride() is history. Uses replaced with CommandCounterIncrement()Tom Lane2000-01-17
| | | | | where necessary --- several of them didn't really need it, though. tqual-checking macros simplified accordingly.
* Fixed all elog related warnings, as well as a few others.Peter Eisentraut2000-01-15
|
* More cleanups. Still doesn't work.Bruce Momjian2000-01-11
|
* Make number of args to a function configurable.Bruce Momjian2000-01-10
|
* Rename oid8 -> oidvector and int28 -> int2vector. Cleanup of *out functions.Bruce Momjian2000-01-10
|
* Improve cache invalidation handling. EespeciallyHiroshi Inoue2000-01-10
| | | | | | this would fix TODO * elog() flushes cache, try invalidating just entries from current xact, perhaps using invalidation cache
* Need defense against oversize index entries in btree CREATE INDEX,Tom Lane2000-01-08
| | | | as well as when inserting entries into an existing index.
* Fix it's and its to be correct.Bruce Momjian2000-01-05
|
* Repair bugs discussed in pghackers thread of 15 May 1999: creation of aTom Lane1999-12-30
| | | | | | relcache entry no longer leaks a small amount of memory. index_endscan now releases all the memory acquired by index_beginscan, so callers of it should NOT pfree the scan descriptor anymore.
* It turns out that the item size limit for btree indexes is about BLCKSZ/3,Tom Lane1999-12-26
| | | | | not BLCKSZ/2 as some of us thought. Add check for oversize item so that failure is detected before corrupting the index, not after.
* Added empty TOASTER files and corrected some minor glitchesJan Wieck1999-12-21
| | | | | | in regression tests. Jan
* Required catalog changes for extended LONG attribute storage.Jan Wieck1999-12-20
| | | | Jan
* Some changes to prepare for LONG attributes.Jan Wieck1999-12-16
| | | | Jan
* New LDOUT makefile variable for QNX os.Bruce Momjian1999-12-13
|
* Rename several destroy* functions/tags to drop*.Bruce Momjian1999-12-10
|
* Make LD -r as macros that can be changed for QNX.Bruce Momjian1999-12-09
|
* Mention index name when reporting corruption.Bruce Momjian1999-12-01
|
* Try to detect oversize tuple before corrupting relation, instead ofTom Lane1999-11-29
| | | | after...
* Rename heap_replace to heap_update.Bruce Momjian1999-11-24
|
* Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jpBruce Momjian1999-11-23
|
* Add system indexes to match all caches.Bruce Momjian1999-11-22
| | | | | | | Make all system indexes unique. Make all cache loads use system indexes. Rename *rel to *relid in inheritance tables. Rename cache names to be clearer.
* New parallel regression test shell and related things.Jan Wieck1999-11-19
| | | | Jan
* Tree dividing is not appropriate in Rtree.Tatsuo Ishii1999-11-15
| | | | This fix is reported by Hiroki Kataoka (kataoka@interwiz.koganei.tokyo.jp).
* Fix typo so it actually compiles...Tom Lane1999-11-14
|
* Add index recreation suggestion to end of world error message.Bruce Momjian1999-11-14
|
* New NameStr macro to convert Name to Str. No need for var.data anymore.Bruce Momjian1999-11-07
| | | | | | Fewer calls to nameout. Better use of RelationGetRelationName.
* Rearrange heap_beginscan to eliminate extra call onTom Lane1999-10-30
| | | | | mdnblocks. Bad enough it does an lseek, but to do it twice for no reason...
* Standardize on MAXPGPATH as the size of a file pathname buffer,Tom Lane1999-10-25
| | | | | | | eliminating some wildly inconsistent coding in various parts of the system. I set MAXPGPATH = 1024 in config.h.in. If anyone is really convinced that there ought to be a configure-time test to set the value, go right ahead ... but I think it's a waste of time.
* Add a notion of a 'catalog version number' that can indicateTom Lane1999-10-24
| | | | | | | | | when an initdb-forcing change has been applied within a development cycle. PG_VERSION serves this purpose for official releases, but we can't bump the PG_VERSION number every time we make a change to the catalogs during development. Instead, increase the catalog version number to warn other developers that you've made an incompatible change. See my mail to pghackers for more info.
* Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.Tom Lane1999-10-23
| | | | pg_dump and interfaces/odbc still need some work.)
* Final stage of psort reconstruction work: replace psort.c withTom Lane1999-10-17
| | | | | | | a generalized module 'tuplesort.c' that can sort either HeapTuples or IndexTuples, and is not tied to execution of a Sort node. Clean up memory leakages in sorting, and replace nbtsort.c's private implementation of mergesorting with calls to tuplesort.c.
* Check RELSEG_SIZE when postmaster starting up.Tatsuo Ishii1999-10-16
| | | | | this is neccesary to make sure that the backend and the database uses same RELSEG_SIZE.
* Add blcksz to struct ControlFileData to check BLCKSZ is sameTatsuo Ishii1999-10-12
| | | | as BLCKSZ which the backend was compiled in.
* The 1st step to implement new type of scan,TidScan.Hiroshi Inoue1999-10-11
| | | | | Now WHERE restriction on ctid is allowed though it is sequentially scanned.
* XLOG (also known as WAL -:)) Bootstrap/Startup/Shutdown.Vadim B. Mikheev1999-10-06
| | | | | First step in cleaning up backend initialization code. Fix for FATAL: now FATAL is ERROR + exit.
* Reimplement parsing and storage of default expressions and constraintTom Lane1999-10-03
| | | | | | | | | | | | | | | expressions in CREATE TABLE. There is no longer an emasculated expression syntax for these things; it's full a_expr for constraints, and b_expr for defaults (unfortunately the fact that NOT NULL is a part of the column constraint syntax causes a shift/reduce conflict if you try a_expr. Oh well --- at least parenthesized boolean expressions work now). Also, stored expression for a column default is not pre-coerced to the column type; we rely on transformInsertStatement to do that when the default is actually used. This means "f1 datetime default 'now'" behaves the way people usually expect it to. BTW, all the support code is now there to implement ALTER TABLE ADD CONSTRAINT and ALTER TABLE ADD COLUMN with a default value. I didn't actually teach ALTER TABLE to call it, but it wouldn't be much work.
* This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support.Jan Wieck1999-09-29
| | | | | | | | | | | | Implements the CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands. TODO: Generic builtin trigger procedures Automatic execution of appropriate CREATE CONSTRAINT... at CREATE TABLE Support of new trigger type in pg_dump Swapping of huge # of events to disk Jan
* Make tree compilable (+WAL).Vadim B. Mikheev1999-09-28
|
* Currently,only the first column of multi-column indicesBruce Momjian1999-09-27
| | | | | | | | | | | | | is used to find start scan position of Indexscan-s. To speed up finding scan start position,I have changed _bt_first() to use as many keys as possible. I'll attach the patch here. Regards. Hiroshi Inoue
* Transaction log manager core code.Vadim B. Mikheev1999-09-27
| | | | It doesn't work currently but also don't break anything -:)
* Several changes here, not very related but touching some of the same files.Tom Lane1999-09-24
| | | | | | | | | | | | | | | | | | | | | * 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.