summaryrefslogtreecommitdiff
path: root/src/backend/access/common
AgeCommit message (Collapse)Author
2000-05-30Third round of fmgr updates: eliminate calls using fmgr() andTom Lane
fmgr_faddr() in favor of new-style calls. Lots of cleanup of sloppy casts to use XXXGetDatum and DatumGetXXX ...
2000-05-30Remove unused include files. Do not touch /port or includes used by defines.Bruce Momjian
2000-05-29Generated header files parse.h and fmgroids.h are now copied intoTom Lane
the src/include tree, so that -I backend is no longer necessary anywhere. Also, clean up some bit rot in contrib tree.
2000-05-28First round of changes for new fmgr interface. fmgr itself and theTom Lane
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.
2000-05-22CleanupBruce Momjian
2000-05-22I am attempting to integrate postgres (v 7.0) with an open sourceBruce Momjian
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
2000-04-12Ye-old pgindent run. Same 4-space tabs.Bruce Momjian
2000-01-31Fix problems seen in parallel regress tests when SI buffer overruns (causingTom Lane
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.
2000-01-26Add:Bruce Momjian
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc to all files copyright Regents of Berkeley. Man, that's a lot of files.
2000-01-19Removed MBFLAGS from makefiles since it's now done in include/config.h.Peter Eisentraut
2000-01-15Fixed all elog related warnings, as well as a few others.Peter Eisentraut
2000-01-11More cleanups. Still doesn't work.Bruce Momjian
1999-12-21Added empty TOASTER files and corrected some minor glitchesJan Wieck
in regression tests. Jan
1999-12-20Required catalog changes for extended LONG attribute storage.Jan Wieck
Jan
1999-12-16Some changes to prepare for LONG attributes.Jan Wieck
Jan
1999-12-13New LDOUT makefile variable for QNX os.Bruce Momjian
1999-12-09Make LD -r as macros that can be changed for QNX.Bruce Momjian
1999-11-22Add system indexes to match all caches.Bruce Momjian
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.
1999-11-07New NameStr macro to convert Name to Str. No need for var.data anymore.Bruce Momjian
Fewer calls to nameout. Better use of RelationGetRelationName.
1999-10-23Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.Tom Lane
pg_dump and interfaces/odbc still need some work.)
1999-10-03Reimplement parsing and storage of default expressions and constraintTom Lane
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.
1999-07-19Install new alignment code to use MAXALIGN rather than DOUBLEALIGN whereBruce Momjian
approproate.
1999-07-17 Move some system includes into c.h, and remove duplicates.Bruce Momjian
1999-07-16Final cleanup.Bruce Momjian
1999-07-15Change #include's to use <> and "" as appropriate.Bruce Momjian
1999-07-15Remove unused #includes in *.c files.Bruce Momjian
1999-06-12Reversed out Massimo patch.Bruce Momjian
1999-06-12I don't like last minute patches before the final freeze, but I believe thatBruce Momjian
this one could be useful for people experiencing out-of-memory crashes while executing queries which retrieve or use a very large number of tuples. The problem happens when storage is allocated for functions results used in a large query, for example: select upper(name) from big_table; select big_table.array[1] from big_table; select count(upper(name)) from big_table; This patch is a dirty hack that fixes the out-of-memory problem for the most common cases, like the above ones. It is not the final solution for the problem but it can work for some people, so I'm posting it. The patch should be safe because all changes are under #ifdef. Furthermore the feature can be enabled or disabled at runtime by the `free_tuple_memory' options in the pg_options file. The option is disabled by default and must be explicitly enabled at runtime to have any effect. To enable the patch add the follwing line to Makefile.custom: CUSTOM_COPT += -DFREE_TUPLE_MEMORY To enable the option at runtime add the following line to pg_option: free_tuple_memory=1 Massimo
1999-05-26Make functions static or NOT_USED as appropriate.Bruce Momjian
1999-05-25Another pgindent run. Sorry folks.Bruce Momjian
1999-05-25pgindent run over code.Bruce Momjian
1999-05-10Change error messages to oids come out as %u and not %d. Change has noBruce Momjian
real affect now.
1999-04-25My first cut at libpq revision didn't handle MULTIBYTE correctly,Tom Lane
but I think it's OK now...
1999-04-25Revise backend libpq interfaces so that messages to the frontendTom Lane
can be generated in a buffer and then sent to the frontend in a single libpq call. This solves problems with NOTICE and ERROR messages generated in the middle of a data message or COPY OUT operation.
1999-03-14cleanupBruce Momjian
1999-02-13Change my-function-name-- to my_function_name, and optimizer renames.Bruce Momjian
1999-02-03Cleanup of source files where 'return' or 'var =' is alone on a line.Bruce Momjian
1999-01-27Turns out it's easy to cache the fmgr function lookupTom Lane
result, too ... another little bit of speed for SELECT.
1999-01-27Another SELECT speedup: extract OIDs of column print functionsTom Lane
only once per SELECT, not once per tuple. 10% here, 10% there, pretty soon you're talking about real speedups ...
1999-01-24Tighten coding of inner loops in nocachegetattr ...Tom Lane
seems to have improved speed of routine by 5% or so ...
1999-01-24Use heap_attisnull, rather than heap_getattr, for a smallTom Lane
but useful speedup.
1999-01-24Replace typtoout() and gettypelem() with a single routine,Tom Lane
so that fetching an attribute value needs only one SearchSysCacheTuple call instead of two redundant searches. This speeds up a large SELECT by about ten percent, and probably will help GROUP BY and SELECT DISTINCT too.
1998-12-14Initial attempt to clean up the code...Marc G. Fournier
Switch sprintf() to snprintf() Remove any/all #if 0 -or- #ifdef NOT_USED -or- #ifdef FALSE sections of code
1998-12-12Included patches should fix following problems in the muti-byteBruce Momjian
enabled PostgreSQL 6.4. o binary cursor does not work o pg_dumpall produces incorrect create database statemnt Tatsuo Ishii t-ishii@sra.co.jp
1998-11-27New HeapTuple structure/interface.Vadim B. Mikheev
1998-10-08Make functions static or ifdef NOT_USED. Prevent pg_version creation.Bruce Momjian
1998-09-07Alignment cleanup so no more massive switch statements for alignment,Bruce Momjian
just two macros.
1998-09-04offsetof cleanup.Bruce Momjian
1998-09-04t_bits alignment fix from Tatsuo IshiiBruce Momjian
1998-09-01OK, folks, here is the pgindent output.Bruce Momjian