aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access
Commit message (Collapse)AuthorAge
* I had overlooked the fact that some fmgr-callable functions return voidTom Lane2000-06-14
| | | | | | --- ie, they're only called for side-effects. Add a PG_RETURN_VOID() macro and use it where appropriate. This probably doesn't change the machine code by a single bit ... it's just for documentation.
* Another batch of fmgr updates. I think I have gotten all old-styleTom Lane2000-06-13
| | | | | functions that take pass-by-value datatypes. Should be ready for port testing ...
* Another round of updates for new fmgr, mostly in the datetime code.Tom Lane2000-06-09
|
* Mark functions as static and ifdef NOT_USED as appropriate.Bruce Momjian2000-06-08
|
* Latest round of fmgr updates. All functions with bool,char, or int2Tom Lane2000-06-05
| | | | | | | inputs have been converted to newstyle. This should go a long way towards fixing our portability problems with platforms where char and short parameters are passed differently from int-width parameters. Still more to do for the Alpha port however.
* Remove NT-specific file open defines by defining our own open macros forBruce Momjian2000-06-02
| | | | "rb" and "wb".
* heap' xlog recordsVadim B. Mikheev2000-06-02
|
* Create an fd.c entry point that is just like plain open(2) except thatTom Lane2000-06-02
| | | | | | | | | | it will close VFDs if necessary to surmount ENFILE or EMFILE failures. Make use of this in md.c, xlog.c, and user.c routines that were formerly vulnerable to these failures. In particular, this should handle failures of mdblindwrt() that have been observed under heavy load conditions. (By golly, every other process on the system may crash after Postgres eats up all the kernel FDs, but Postgres will keep going!)
* The heralded `Grand Unified Configuration scheme' (GUC)Peter Eisentraut2000-05-31
| | | | | | | | | | | | | That means you can now set your options in either or all of $PGDATA/configuration, some postmaster option (--enable-fsync=off), or set a SET command. The list of options is in backend/utils/misc/guc.c, documentation will be written post haste. pg_options is gone, so is that pq_geqo config file. Also removed were backend -K, -Q, and -T options (no longer applicable, although -d0 does the same as -Q). Added to configure an --enable-syslog option. changed all callers from TPRINTF to elog(DEBUG)
* Third round of fmgr updates: eliminate calls using fmgr() andTom Lane2000-05-30
| | | | | fmgr_faddr() in favor of new-style calls. Lots of cleanup of sloppy casts to use XXXGetDatum and DatumGetXXX ...
* Remove unused include files. Do not touch /port or includes used by defines.Bruce Momjian2000-05-30
|
* Generated header files parse.h and fmgroids.h are now copied intoTom Lane2000-05-29
| | | | | the src/include tree, so that -I backend is no longer necessary anywhere. Also, clean up some bit rot in contrib tree.
* First round of changes for new fmgr interface. fmgr itself and theTom Lane2000-05-28
| | | | | | | key call sites are changed, but most called functions are still oldstyle. An exception is that the PL managers are updated (so, for example, NULL handling now behaves as expected in plperl and plpgsql functions). NOTE initdb is forced due to added column in pg_proc.
* CleanupBruce Momjian2000-05-22
|
* I am attempting to integrate postgres (v 7.0) with an open sourceBruce Momjian2000-05-22
| | | | | | | | | | | | | | | | | | | | project I am working on (Recall - a distributed, fault-tolerant, replicated, storage framework @ http://www.fault-tolerant.org). Recall is written in C++. I need to include the postgres headers and there are some problems when including the headers w/C++. Attached is a patch generated from postgres/src that fixes my problems. I was hoping to get this into the main source. It's very small (2k) and 3 files are changed: backend/utils/fmgr/fmgr.c, backend/utils/Gen_fmgrtab.sh.in, and include/access/tupdesc.h. In C++, you get a multiply defined symbol because the variable (FmgrInfo *fmgr_pl_finfo) is defined in the header (the patch moves it to the .c file). The other problem in tupdesc.h is the use of typeid is a problem in c++ (I renamed it to oidtypeid). Thanks, Neal Norwitz
* Repair memory leaks that caused CacheCxt to grow without bound. WeTom Lane2000-05-21
| | | | | | | | | really ought to fix relcache entry construction so that it does not do so much with CurrentMemoryContext = CacheCxt. As is, relatively harmless leaks in either sequential or index scanning translate to permanent leaks if they occur when called from relcache build. For the moment, however, the path of least resistance is to repair all such leaks...
* Ye-old pgindent run. Same 4-space tabs.Bruce Momjian2000-04-12
|
* Buffer manager modifications to keep a local buffer-dirtied bit as wellTom Lane2000-04-09
| | | | | | | | as a shared dirtybit for each shared buffer. The shared dirtybit still controls writing the buffer, but the local bit controls whether we need to fsync the buffer's file. This arrangement fixes a bug that allowed some required fsyncs to be missed, and should improve performance as well. For more info see my post of same date on pghackers.
* Get rid of SetBufferWriteMode(), which was an accident waiting to happen.Tom Lane2000-03-31
| | | | | | | | In the event of an elog() while the mode was set to immediate write, there was no way for it to be set back to the normal delayed write. The mechanism was a waste of space and cycles anyway, since the only user was varsup.c, which could perfectly well call FlushBuffer directly. Now it does just that, and the notion of a write mode is gone.
* Turn XLOG off (do not create log file).Vadim B. Mikheev2000-03-20
|
* Fix a bunch of minor portability problems and maybe-bugs revealed byTom Lane2000-03-17
| | | | | | running gcc and HP's cc with warnings cranked way up. Signed vs unsigned comparisons, routines declared static and then defined not-static, that kind of thing. Tedious, but perhaps useful...
* Cache fmgr lookup data for index's getnext() function in IndexScanDesc,Tom Lane2000-03-14
| | | | | so that the fmgr lookup only has to happen once per index scan and not once per tuple. Seems to save 5% or so of CPU time for an indexscan.
* I've recently written to pgsql-ports about a problem with PG7.0 on NTBruce Momjian2000-03-07
| | | | | | | | | | | | | (Subj: [PORTS] initdb problem on NT with 7.0). Since nobody helped me, I had to find out the reson. The difference between NT and Linux (for instance) is that "open( path, O_RDWR );" opens a file in text mode. So sometime less block can be read than required. I suggest a following patch. BTW the situation appeared before, see hba.c, pqcomm.c and others. Alexei Zakharov
* Change reindex command to work properly with gist/hash/rtreeHiroshi Inoue2000-03-01
|
* Clean up some really grotty coding in catcache.c, improve hashingTom Lane2000-02-21
| | | | performance in catcache lookups.
* Implement reindex commandHiroshi Inoue2000-02-18
|
* Replace inefficient _bt_invokestrat calls with direct calls to theTom Lane2000-02-18
| | | | | | | appropriate btree three-way comparison routine. Not clear why the three-way comparison routines were being used in some paths and not others in btree --- incomplete changes by someone long ago, maybe? Anyway, this makes for a nice speedup in CREATE INDEX.
* Fix up error and log messages.Thomas G. Lockhart2000-02-15
|
* Add btree indexing of boolean valuesBruce Momjian2000-02-10
| | | | Don Baccus
* Enable backward sequential scan even after reaching EOF.Hiroshi Inoue2000-02-09
|
* 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