aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* 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
|
* poit -> point.Bruce Momjian2001-02-12
|
* Improve error message when startup or shutdown proc fails.Tom Lane2001-02-11
|
* Move pg_encoding_mblen() from common.c to wchar.c.Tatsuo Ishii2001-02-11
|
* conv.c did not compile anymore. Fix wrong header file inclusion.Tatsuo Ishii2001-02-11
|
* Only look for bison as YACC; other yaccs need to be selected explicitly.Peter Eisentraut2001-02-10
| | | | | When no suitable YACC is configured, supply useful informational messages to users. (Same way flex has been handled for a while.)
* Restructure the key include files per recent pghackers discussion: thereTom Lane2001-02-10
| | | | | | | | | | | 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.
* This hasn't been used for anything for a long time...Tom Lane2001-02-09
|
* When updating a tuple containing compressed-in-line fields, do notTom Lane2001-02-09
| | | | decompress the existing fields unnecessarily.
* plpgsql's private copy of xlateSqlType was out of sync. Again. ThisTom Lane2001-02-09
| | | | | is clearly not maintainable, so dike it out in favor of calling the real version in the backend's gram.y.
* When launching a child backend, take care to close file descriptors forTom Lane2001-02-08
| | | | | | | | | | 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 ...
* FixBTree flag still exists and may be used to turnVadim B. Mikheev2001-02-07
| | | | runtime recovery OFF.
* Runtime btree recovery is now ON by default.Vadim B. Mikheev2001-02-07
|
* Repair postmaster memory leakage during password authentication.Tom Lane2001-02-07
|
* Need to specify DYNAMIC_PATH flag to shl_load, else HPUX's dld will notTom Lane2001-02-07
| | | | | honor library search path that we so carefully installed into the executable ...
* If the first argument is --version or --help, skip the root check.Peter Eisentraut2001-02-06
|
* PageAddItem in overwrite mode: must *NOT* check itemid' flag ifVadim B. Mikheev2001-02-06
| | | | OffsetNumber == MaxOffsetNumber + 1 - there may be garbage there!
* 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.