aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Add missing include.Peter Eisentraut2001-03-01
|
* Tweak portal (cursor) code so that it will not call the executor againTom Lane2001-02-27
| | | | | | | | | | | when user does another FETCH after reaching end of data, or another FETCH backwards after reaching start. This is needed because some plan nodes are not very robust about being called again after they've already returned NULL; for example, MergeJoin will crash in some states but not others. While the ideal approach would be for them all to handle this correctly, it seems foolish to assume that no such bugs would creep in again once cleaned up. Therefore, the most robust answer is to prevent the situation from arising at all.
* Massive commits for SunOS4 port.Tatsuo Ishii2001-02-27
|
* Fix vacuum analyze error.Tatsuo Ishii2001-02-27
| | | | | | | | | | | | | | | | | | vacuum analyze on pg_type fails if bogus entries remain in pg_operator. Here is a sample script to reproduce the problem. drop table t1; create table t1(i int); drop function foo(t1,t1); create function foo(t1,t1) returns bool as 'select true' language 'sql'; create operator = ( leftarg = t1, rightarg = t1, commutator = =, procedure = foo ); drop table t1; vacuum analyze;
* Implement COMMIT_SIBLINGS parameter to allow pre-commit delay to occurTom Lane2001-02-26
| | | | | | | | | | | only if at least N other backends currently have open transactions. This is not a great deal of intelligence about whether a delay might be profitable ... but it beats no intelligence at all. Note that the default COMMIT_DELAY is still zero --- this new code does nothing unless that setting is changed. Also, mark ENABLEFSYNC as a system-wide setting. It's no longer safe to allow that to be set per-backend, since we may be relying on some other backend's fsync to have synced the WAL log.
* At least on HPUX, select with delay.tv_sec = 0 and delay.tv_usec = 1000000Tom Lane2001-02-24
| | | | | | does not lead to a one-second delay, but to an immediate EINVAL failure. This causes CHECKPOINT to crash with s_lock_stuck much too quickly :-(. Fix by breaking down the requested wait div/mod 1e6.
* When under postmaster, bogus arguments should cause proc_exit(0) notTom Lane2001-02-24
| | | | | proc_exit(1). Unless you think a system-wide restart is an appropriate response to bogus PGOPTIONS, that is.
* As long as we're fixing this space calculation, let's actually do itTom Lane2001-02-23
| | | | | right. We should MAXALIGN the individual items because we'll allocate them individually, not as an array.
* Bruce Momjian <pgman@candle.pha.pa.us> writes:Bruce Momjian2001-02-23
| | | | | | | | | | | > Is there one LOCKMETHODCTL for every backend? I thought there was only > one of them. >> >> You're right, that line is erroneous; it should read >> >> size += MAX_LOCK_METHODS * MAXALIGN(sizeof(LOCKMETHODCTL)); >> >> Not a significant error but it should be changed for clarity ...
* Resolve a compile error.Hiroshi Inoue2001-02-23
|
* Reindex of shared system indexes must be overwrite mode.Hiroshi Inoue2001-02-23
|
* Enhanced UTF-8/SJIS mapping generator, contributed byTatsuo Ishii2001-02-23
| | | | Eiji Tokuya" <e-tokuya@Mail.Sankyo-Unyu.co.jp>
* More comment cleanups.Bruce Momjian2001-02-22
|
* More comment improvements.Bruce Momjian2001-02-22
|
* Clean up index/btree comments/macros, as approved.Bruce Momjian2001-02-22
|
* Change /*---- commants to /* where appropriate. pgindent will tightenBruce Momjian2001-02-22
| | | | up the comments later.
* Avoid 'FATAL: out of free buffers: time to abort !" errorHiroshi Inoue2001-02-22
| | | | during WAL recovery. Recovery failure is always serious.
* Correct bogus output formatting of timeofday() function. A number ofTom Lane2001-02-21
| | | | microseconds < 100000 should be displayed as, eg, 13.000126, not 13.126.
* Change case-folding of keywords to conform to SQL99 and fix misbehaviorTom Lane2001-02-21
| | | | | | | in Turkish locale. Keywords are now checked under pure ASCII case-folding rules ('A'-'Z'->'a'-'z' and nothing else). However, once a word is determined not to be a keyword, it will be case-folded under the current locale, same as before. See pghackers discussion 20-Feb-01.
* Safe guard in case of imporper data is provided to elog()Tatsuo Ishii2001-02-21
| | | | in multi-byte build.
* Make sure -L and -I's for our source tree are always before system includePeter Eisentraut2001-02-20
| | | | or library directories on the command line.
* Truncate incoming username and database name to NAMEDATALEN-1 charactersTom Lane2001-02-20
| | | | so that we don't reject overlength names unnecessarily.
* Change plpgsql's GET DIAGNOSTICS statement to use SQL99-compatibleTom Lane2001-02-19
| | | | syntax. Fix the RESULT_OID case, which never worked. Add documentation.
* Allow extract() to accept the same field selectors as date_part(), not justPeter Eisentraut2001-02-18
| | | | the ones specified by SQL.
* Change default commit_delay to zero, update documentation.Tom Lane2001-02-18
|
* Change s_lock to not use any zero-delay select() calls; these are just aTom Lane2001-02-18
| | | | | | | | | | waste of cycles on single-CPU machines, and of dubious utility on multi-CPU machines too. Tweak s_lock_stuck so that caller can specify timeout interval, and increase interval before declaring stuck spinlock for buffer locks and XLOG locks. On systems that have fdatasync(), use that rather than fsync() to sync WAL log writes. Ensure that WAL file is entirely allocated during XLogFileInit.
* Remove bogus set_ps_display call --- changing displayed status here isTom Lane2001-02-18
| | | | | | either wrong or unnecessary in most cases, and on systems where setting status takes a kernel call, the overhead of setting status three times per command rather than two is annoying.
* Add current seek position to FDDEBUG output for FileRead,Tom Lane2001-02-17
| | | | FileWrite, FileSeek.
* Defend against starting a non-MULTIBYTE-enabled backend in a databaseTom Lane2001-02-16
| | | | with encoding other than SQL_ASCII. Per recent discussion in pghackers.
* Clean up two rather nasty bugs in operator selection code.Tom Lane2001-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. If there is exactly one pg_operator entry of the right name and oprkind, oper() and related routines would return that entry whether its input type had anything to do with the request or not. This is just premature optimization: we shouldn't return the single candidate until after we verify that it really is a valid candidate, ie, is at least coercion-compatible with the given types. 2. oper() and related routines only promise a coercion-compatible result. Unfortunately, there were quite a few callers that assumed the returned operator is binary-compatible with the given datatype; they would proceed to call it without making any datatype coercions. These callers include sorting, grouping, aggregation, and VACUUM ANALYZE. In general I think it is appropriate for these callers to require an exact or binary-compatible match, so I've added a new routine compatible_oper() that only succeeds if it can find an operator that doesn't require any run-time conversions. Callers now call oper() or compatible_oper() depending on whether they are prepared to deal with type conversion or not. The upshot of these bugs is revealed by the following silliness in PL/Tcl's selftest: it creates an operator @< on int4, and then tries to use it to sort a char(N) column. The system would let it do that :-( (and evidently has done so since 6.3 :-( :-(). The result in this case was just a silly sort order, but the reverse combination would've provoked coredump from trying to dereference integers. With this fix you get more reasonable behavior: pltcl_test=# select * from T_pkey1 order by key1, key2 using @<; ERROR: Unable to identify an operator '@<' for types 'bpchar' and 'bpchar' You will have to retype this query using an explicit cast
* Take OUTER JOIN semantics into account when estimating the size of joinTom Lane2001-02-16
| | | | | relations. It's not very bright, but at least it now knows that A LEFT JOIN B must produce at least as many rows as are in A ...
* Add some notes about memory management of RI plans.Tom Lane2001-02-15
|
* Update comments about memory management.Tom Lane2001-02-15
|
* Update notes about memory context scheme.Tom Lane2001-02-15
|
* Although we can't support out-of-line TOAST storage in indexes (yet),Tom Lane2001-02-15
| | | | | | | | compressed storage works perfectly well. Might as well have a coherent strategy for applying it, rather than the haphazard store-what-you-get approach that was in the code before. The strategy I've set up here is to attempt compression of any compressible index value exceeding BLCKSZ/16, or about 500 bytes by default.
* Reduce default selectivity estimates for geometric operators; it seemsTom Lane2001-02-15
| | | | | | | the old ones were not small enough to ensure r-tree and gist indexes would get picked when available. These numbers are totally bogus anyway, but in the absence of any real estimation technique, we'd like to select indexes when available ...
* Update a couple of obsolete comments.Tom Lane2001-02-15
|
* Unicode <-> SJIS new mapping tables (based on CP932.TXT) contributed byTatsuo Ishii2001-02-15
| | | | Eiji Tokuya" <e-tokuya@Mail.Sankyo-Unyu.co.jp>
* Arrange for ORDER BY an expression on a UNION/INTERSECT/EXCEPT result,Tom Lane2001-02-15
| | | | | | | | | | such as SELECT f1 FROM foo UNION SELECT ... ORDER BY upper(f1) to draw 'ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result columns' rather than the uninformative 'f1 not found' we were producing before. Eventually this should actually work, but that looks much too hard to try to implement in late beta...
* Repair problems with duplicate index names generated when CREATE TABLETom Lane2001-02-14
| | | | specifies redundant UNIQUE conditions.
* Change scoping of table and join refnames to conform to SQL92: a JOINTom Lane2001-02-14
| | | | | | | | | clause with an alias is a <subquery> and therefore hides table references appearing within it, according to the spec. This is the same as the preliminary patch I posted to pgsql-patches yesterday, plus some really grotty code in ruleutils.c to reverse-list a query tree with the correct alias name depending on context. I'd rather not have done that, but unless we want to force another initdb for 7.1, there's no other way for now.
* Comments about GetFreeXLBuffer().Vadim B. Mikheev2001-02-13
| | | | | GetFreeXLBuffer(): use Insert->LgwrResult instead of private LgwrResult copy if it's more fresh (attempt to avoid acquiring info_lck/lgwr_lck).
* Please apply the following patch to fix AIX and IRIX timestamp behaviorBruce Momjian2001-02-13
| | | | | | | | | | | | | | | as previously discussed. It makes AIX and IRIX not use DST for dates before 1970. The following expected files need to be removed from the regression tests, they contain wrong results and are not needed any more. src/test/regress/expected/horology-1947-PDT.out src/test/regress/expected/tinterval-1947-PDT.out src/test/regress/expected/abstime-1947-PDT.out Zeugswetter Andreas
* Removed abort() in XLogFileOpen.Vadim B. Mikheev2001-02-13
|
* Added some comments to setval, setval_is_called and do_setvalPhilip Warner2001-02-13
|
* Clean up portability problems in regexp package: change all routineTom Lane2001-02-13
| | | | | | definitions from K&R to ANSI C style, and fix broken assumption that int and long are the same datatype. This repairs problems observed on Alpha with regexps having between 32 and 63 states.
* Suppress compiler warning on Alpha.Tom Lane2001-02-12
|
* Rearrange order of operations in heap_create_with_catalog so that ifTom Lane2001-02-12
| | | | | | | | | two transactions create the same table name concurrently, the one that fails will complain about unique index pg_class_relname_index, rather than about pg_type_typname_index which'll confuse most people. Free side benefit: pg_class.reltype is correctly linked to the pg_type entry now. It's been zero in all but the preloaded pg_class entries since who knows when.
* CleanupBruce Momjian2001-02-12
|
* Add // -> /* */ mapping to pgindent.Bruce Momjian2001-02-12
|