aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Out-of-bounds memory allocation request sizes should be treated as justTom Lane2001-02-06
| | | | | | | 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.
* Dump/display 'timestamp' as 'timestamp with time zone', to make room for aPeter Eisentraut2001-02-05
| | | | | future 'timestamp without time zone', which SQL claims is equivalent to plain 'timestamp'.
* Fix inappropriate attempt to push down qual clauses into a view thatTom Lane2001-02-03
| | | | has UNION/INTERSECT/EXCEPT operations. Per bug report from Ferrier.
* Use elog() instead of exit() for fatal scanner errors.Peter Eisentraut2001-02-03
|
* Runtime tree recovery is implemented, just testing is left -:)Vadim B. Mikheev2001-02-02
|
* Apply patches for QNX from MaurizioBruce Momjian2001-02-02
|
* Couple additional functions to fix tree at runtime.Vadim B. Mikheev2001-01-31
| | | | | Need in one more function to handle "my bits moved..." case. FixBTree is still FALSE.
* Call _bt_fixroot() from _bt_insertonpg.Vadim B. Mikheev2001-01-29
|
* Clean up handling of tuple descriptors so that result-tuple descriptorsTom Lane2001-01-29
| | | | | | | | 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.
* Add permission check for CHECKPOINT.Peter Eisentraut2001-01-27
|
* Fix failure to create sequences for more than one SERIAL column in aTom Lane2001-01-27
| | | | table.
* Looks like I broke cases involving combinations of deferred update/deleteTom Lane2001-01-27
| | | | triggers ... oops ... but the regress tests should have covered this ...
* Don't crash if subquery appears multiple times in jointree. This shouldTom Lane2001-01-27
| | | | | not happen anyway, but let's try not to get completely confused if it does (due to rewriter bugs or whatever).
* Repair bug reported by Huxton, 1/24/01. We need to include a rule'sTom Lane2001-01-27
| | | | | | | | 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.
* Refuse to try to attach a condition to a NOTIFY or other utility statement,Tom Lane2001-01-27
| | | | | | 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.
* Suppress coredump when EXPLAINing query that is rewritten to includeTom Lane2001-01-27
| | | | a NOTIFY.
* Re-read Unix-socket lock file every so often (every CheckPoint interval,Tom Lane2001-01-27
| | | | | | 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 ...
* Change float8-to-int8 conversion to round to nearest, rather thanTom Lane2001-01-26
| | | | | | | 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.
* Special case in ProcSleep() wasn't sufficiently general: must check toTom Lane2001-01-26
| | | | | see if we shouldn't block whenever we insert ourselves anywhere before the end of the queue, not only at the front.
* First step in attempt to fix tree at runtime: create upper levelsVadim B. Mikheev2001-01-26
| | | | | | | 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.
* Whoops, forgot to do ProcLockWakeup() after deadlock checkerTom Lane2001-01-25
| | | | rearranges wait queues.
* Re-implement deadlock detection and resolution, per design notes postedTom Lane2001-01-25
| | | | to pghackers on 18-Jan-01.
* Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group.Bruce Momjian2001-01-24
|
* Fix bogus pattern for STRING.Peter Eisentraut2001-01-24
|
* Add all possible config file options.Bruce Momjian2001-01-24
|
* Put back old config contents until I am finished.Bruce Momjian2001-01-24
|
* Add "idle in transaction" status messageBruce Momjian2001-01-24
|
* Fix formatting of db crash.Bruce Momjian2001-01-24
|
* Add comment for getpwid() safety.Bruce Momjian2001-01-24
|
* attached is take-2 of a patch which fixes a bug relatedBruce Momjian2001-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Removed a dangerours DropRelationBuffers() call.Hiroshi Inoue2001-01-24
|
* Make functional index copy attstorage from the column data type, ratherTom Lane2001-01-24
| | | | | | | 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.
* Narrow scope of critical section, per discussion 1/19/01.Tom Lane2001-01-23
|
* Do _bt_wrtbuf() outside critical section, per discussion with Vadim 1/19.Tom Lane2001-01-23
|
* Give 'a_expr ::= a_expr Op' production a slightly lower precedence thanTom Lane2001-01-23
| | | | | | | | | | 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.
* Remove useless leftover global variable Ps_status_buffer.Peter Eisentraut2001-01-23
|
* Fix all the places that called heap_update() and heap_delete() withoutTom Lane2001-01-23
| | | | | | | | | | | 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.
* Remove no-longer-needed restriction against referencing systemTom Lane2001-01-23
| | | | | | 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 ...
* Rename int4 to int32 in a few places.Bruce Momjian2001-01-23
|
* Improve realloc() per idea from Karel Zak --- if chunk to be enlarged isTom Lane2001-01-23
| | | | at end of its block, maybe we can enlarge it in-place.
* Remove rangechecks on errno; just call strerror unconditionally. ThisTom Lane2001-01-22
| | | | | | | | | eliminates a raft of portability issues, including whether sys_nerr exists, whether the platform has any valid negative errnos, etc. The downside is minimal: errno shouldn't ever contain an invalid value anyway, and if it does, reasonably modern versions of strerror will not choke. This rangecheck idea seemed good at the time, but it's clearly a net loss, and I apologize to all concerned for having ever put it in.
* Clean up lockmanager data structures some more, in preparation for plannedTom Lane2001-01-22
| | | | | | | | | | | rewrite of deadlock checking. Lock holder objects are now reachable from the associated LOCK as well as from the owning PROC. This makes it practical to find all the processes holding a lock, as well as all those waiting on the lock. Also, clean up some of the grottier aspects of the SHMQueue API, and cause the waitProcs list to be stored in the intuitive direction instead of the nonintuitive one. (Bet you didn't know that the code followed the 'prev' link to get to the next waiting process, instead of the 'next' link. It doesn't do that anymore.)
* Clean up per-tuple memory leaks in trigger firing and plpgsqlTom Lane2001-01-22
| | | | expression evaluation.
* Back out patch for BLOB operations until approval.Bruce Momjian2001-01-21
|
* Hello,Bruce Momjian2001-01-21
| | | | | | | | | here is the patch attached which do check in each BLOB operation, if we are in transaction, and raise an error otherwise. This will prevent such mistakes. -- Sincerely Yours, Denis Perchine
* Deal with C++ incompatibility of sys_nerr declaration by taking it outTom Lane2001-01-21
| | | | | | | | of c.h altogether, and putting it into the only places that use it (elog.c and exc.c), instead. Modify these routines to check for a NULL or empty-string return from strerror, too, since some platforms define strerror to return empty string for unknown errors (what a useless definition that is ...). Clean up some cruft in ExcPrint while at it.
* Give a good error message for what's likely to be a common syntax error,Tom Lane2001-01-20
| | | | namely omitting the alias clause for a sub-SELECT in FROM.
* Add missing piece of BitString support to node output functions. ExpandPeter Eisentraut2001-01-20
| | | | and remove IsA_Value macro.
* Make critical sections (elog->crash) and interrupt holdoff sectionsTom Lane2001-01-19
| | | | into distinct concepts, per recent discussion on pghackers.
* cleanup.Bruce Momjian2001-01-19
|