summaryrefslogtreecommitdiff
path: root/src/backend
AgeCommit message (Collapse)Author
2001-02-10Restructure the key include files per recent pghackers discussion: thereTom Lane
are now separate files "postgres.h" and "postgres_fe.h", which are meant to be the primary include files for backend .c files and frontend .c files respectively. By default, only include files meant for frontend use are installed into the installation include directory. There is a new make target 'make install-all-headers' that adds the whole content of the src/include tree to the installed fileset, for use by people who want to develop server-side code without keeping the complete source tree on hand. Cleaned up a whole lot of crufty and inconsistent header inclusions.
2001-02-09This hasn't been used for anything for a long time...Tom Lane
2001-02-09When updating a tuple containing compressed-in-line fields, do notTom Lane
decompress the existing fields unnecessarily.
2001-02-09plpgsql's private copy of xlateSqlType was out of sync. Again. ThisTom Lane
is clearly not maintainable, so dike it out in favor of calling the real version in the backend's gram.y.
2001-02-08When launching a child backend, take care to close file descriptors forTom Lane
any other client connections that may exist (which would only happen if another client is currently in the authentication cycle). This avoids wastage of open descriptors in a child. It might also explain peculiar behaviors like not closing connections when expected, since the kernel will probably not signal EOF as long as some other backend is randomly holding open a reference to the connection, even if the client went away long since ...
2001-02-07FixBTree flag still exists and may be used to turnVadim B. Mikheev
runtime recovery OFF.
2001-02-07Runtime btree recovery is now ON by default.Vadim B. Mikheev
2001-02-07Repair postmaster memory leakage during password authentication.Tom Lane
2001-02-07Need to specify DYNAMIC_PATH flag to shl_load, else HPUX's dld will notTom Lane
honor library search path that we so carefully installed into the executable ...
2001-02-06If the first argument is --version or --help, skip the root check.Peter Eisentraut
2001-02-06PageAddItem in overwrite mode: must *NOT* check itemid' flag ifVadim B. Mikheev
OffsetNumber == MaxOffsetNumber + 1 - there may be garbage there!
2001-02-06Out-of-bounds memory allocation request sizes should be treated as justTom Lane
elog(ERROR) not an Assert trap, since we've downgraded out-of-memory to elog(ERROR) not a fatal error. Also, change the hard boundary from 256Mb to 1Gb, just so that anyone who's actually got that much memory to spare can play with TOAST objects approaching a gigabyte.
2001-02-05Dump/display 'timestamp' as 'timestamp with time zone', to make room for aPeter Eisentraut
future 'timestamp without time zone', which SQL claims is equivalent to plain 'timestamp'.
2001-02-03Fix inappropriate attempt to push down qual clauses into a view thatTom Lane
has UNION/INTERSECT/EXCEPT operations. Per bug report from Ferrier.
2001-02-03Use elog() instead of exit() for fatal scanner errors.Peter Eisentraut
2001-02-02Runtime tree recovery is implemented, just testing is left -:)Vadim B. Mikheev
2001-02-02Apply patches for QNX from MaurizioBruce Momjian
2001-01-31Couple additional functions to fix tree at runtime.Vadim B. Mikheev
Need in one more function to handle "my bits moved..." case. FixBTree is still FALSE.
2001-01-29Call _bt_fixroot() from _bt_insertonpg.Vadim B. Mikheev
2001-01-29Clean up handling of tuple descriptors so that result-tuple descriptorsTom Lane
allocated by plan nodes are not leaked at end of query. This doesn't really matter for normal queries, but it sure does for queries invoked repetitively inside SQL functions. Clean up some other grotty code associated with tupdescs, and fix a few other memory leaks exposed by tests with simple SQL functions.
2001-01-27Add permission check for CHECKPOINT.Peter Eisentraut
2001-01-27Fix failure to create sequences for more than one SERIAL column in aTom Lane
table.
2001-01-27Looks like I broke cases involving combinations of deferred update/deleteTom Lane
triggers ... oops ... but the regress tests should have covered this ...
2001-01-27Don't crash if subquery appears multiple times in jointree. This shouldTom Lane
not happen anyway, but let's try not to get completely confused if it does (due to rewriter bugs or whatever).
2001-01-27Repair bug reported by Huxton, 1/24/01. We need to include a rule'sTom Lane
original table ('OLD' table) in its join tree if OLD is referenced by either the rule action, the rule qual, or the original query qual that will be added to the rule action. However, we only want one instance of the original table to be included; so beware of the possibility that the rule action already has a jointree entry for OLD.
2001-01-27Refuse to try to attach a condition to a NOTIFY or other utility statement,Tom Lane
rather than coredumping (as prior 7.1 code did) or silently dropping the condition (as 7.0 did). This is annoying but there doesn't seem to be any good way to fix it, short of a major querytree restructuring.
2001-01-27Suppress coredump when EXPLAINing query that is rewritten to includeTom Lane
a NOTIFY.
2001-01-27Re-read Unix-socket lock file every so often (every CheckPoint interval,Tom Lane
actually) to ensure that its file access time doesn't get old enough to tempt a /tmp directory cleaner to remove it. Still another reason we should never have put the sockets in /tmp in the first place ...
2001-01-26Change float8-to-int8 conversion to round to nearest, rather thanTom Lane
truncating to integer. Remove regress test that checks whether 4567890123456789 can be converted to float without loss; since that's 52 bits, it's on the hairy edge of failing with IEEE float8s, and indeed rint seems to give platform-dependent results for it.
2001-01-26Special case in ProcSleep() wasn't sufficiently general: must check toTom Lane
see if we shouldn't block whenever we insert ourselves anywhere before the end of the queue, not only at the front.
2001-01-26First step in attempt to fix tree at runtime: create upper levelsVadim B. Mikheev
and new root page if old root one was splitted but new root page wasn't created. New code is protected by FixBTree bool flag setted to FALSE, so nothing should be affected by this untested approach.
2001-01-25Whoops, forgot to do ProcLockWakeup() after deadlock checkerTom Lane
rearranges wait queues.
2001-01-25Re-implement deadlock detection and resolution, per design notes postedTom Lane
to pghackers on 18-Jan-01.
2001-01-24Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group.Bruce Momjian
2001-01-24Fix bogus pattern for STRING.Peter Eisentraut
2001-01-24Add all possible config file options.Bruce Momjian
2001-01-24Put back old config contents until I am finished.Bruce Momjian
2001-01-24Add "idle in transaction" status messageBruce Momjian
2001-01-24Fix formatting of db crash.Bruce Momjian
2001-01-24Add comment for getpwid() safety.Bruce Momjian
2001-01-24attached is take-2 of a patch which fixes a bug relatedBruce Momjian
to the use of getpwuid when running in standalone mode. this patch allocates some persistent storage (using strdup) to store the username obtained with getpwuid in src/backend/main/main.c. this is necessary because later on, getpwuid is called again (in ValidateBinary). the man pages for getpwuid on SCO OpenServer, FreeBSD, and Darwin all have words to this effect (this is from the SCO OpenServer man page): Note ==== All information is contained in a static area, so it must be copied if it is to be saved. Otherwise, it may be overwritten on subsequent calls to these routines. in particular, on my platform, the storage used to hold the pw_name from the first call is overwritten such that it looks like an empty username. this causes a problem later on in SetSessionUserIdFromUserName. i'd assume this isn't a problem on most platforms because getpwuid is called with the same UID both times, and the same thing ends up happening to that static storage each time. however, that's not guaranteed, and is _not_ what happens on my platform (at least :). this is for the version of 7.1 available via anon cvs as of Tue Jan 23 15:14:00 2001 PST: .../src/backend/main/main.c,v 1.37 2000/12/31 18:04:35 tgl Exp -michael thornburgh, zenomt@armory.com
2001-01-24Removed a dangerours DropRelationBuffers() call.Hiroshi Inoue
2001-01-24Make functional index copy attstorage from the column data type, ratherTom Lane
than forcing 'plain'. This probably does not matter right now, but I think it needs to be consistent with the regular (not-functional) index case, where attstorage is copied from the underlying table. Clean up some other dead and infelicitous code too.
2001-01-23Narrow scope of critical section, per discussion 1/19/01.Tom Lane
2001-01-23Do _bt_wrtbuf() outside critical section, per discussion with Vadim 1/19.Tom Lane
2001-01-23Give 'a_expr ::= a_expr Op' production a slightly lower precedence thanTom Lane
Op, so that the sequence 'a_expr Op Op a_expr' will be parsed as a_expr Op (Op a_expr) not (a_expr Op) Op a_expr as formerly. In other words, prefer treating user-defined operators as prefix operators to treating them as postfix operators, when there is an ambiguity. Also clean up a couple of other infelicities in production priority assignment --- for example, BETWEEN wasn't being given the intended priority, but that of AND.
2001-01-23Remove useless leftover global variable Ps_status_buffer.Peter Eisentraut
2001-01-23Fix all the places that called heap_update() and heap_delete() withoutTom Lane
bothering to check the return value --- which meant that in case the update or delete failed because of a concurrent update, you'd not find out about it, except by observing later that the transaction produced the wrong outcome. There are now subroutines simple_heap_update and simple_heap_delete that should be used anyplace that you're not prepared to do the full nine yards of coping with concurrent updates. In practice, that seems to mean absolutely everywhere but the executor, because *noplace* else was checking.
2001-01-23Remove no-longer-needed restriction against referencing systemTom Lane
attributes in a FieldSelect node --- all the places that manipulate these work just fine with system attribute numbers. OK, it's a new feature, so shoot me ...
2001-01-23Rename int4 to int32 in a few places.Bruce Momjian