summaryrefslogtreecommitdiff
path: root/src/backend
AgeCommit message (Collapse)Author
2001-02-22Avoid 'FATAL: out of free buffers: time to abort !" errorHiroshi Inoue
during WAL recovery. Recovery failure is always serious.
2001-02-21Correct bogus output formatting of timeofday() function. A number ofTom Lane
microseconds < 100000 should be displayed as, eg, 13.000126, not 13.126.
2001-02-21Change case-folding of keywords to conform to SQL99 and fix misbehaviorTom Lane
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.
2001-02-21Safe guard in case of imporper data is provided to elog()Tatsuo Ishii
in multi-byte build.
2001-02-20Make sure -L and -I's for our source tree are always before system includePeter Eisentraut
or library directories on the command line.
2001-02-20Truncate incoming username and database name to NAMEDATALEN-1 charactersTom Lane
so that we don't reject overlength names unnecessarily.
2001-02-19Change plpgsql's GET DIAGNOSTICS statement to use SQL99-compatibleTom Lane
syntax. Fix the RESULT_OID case, which never worked. Add documentation.
2001-02-18Allow extract() to accept the same field selectors as date_part(), not justPeter Eisentraut
the ones specified by SQL.
2001-02-18Change default commit_delay to zero, update documentation.Tom Lane
2001-02-18Change s_lock to not use any zero-delay select() calls; these are just aTom Lane
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.
2001-02-18Remove bogus set_ps_display call --- changing displayed status here isTom Lane
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.
2001-02-17Add current seek position to FDDEBUG output for FileRead,Tom Lane
FileWrite, FileSeek.
2001-02-16Defend against starting a non-MULTIBYTE-enabled backend in a databaseTom Lane
with encoding other than SQL_ASCII. Per recent discussion in pghackers.
2001-02-16Clean up two rather nasty bugs in operator selection code.Tom Lane
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
2001-02-16Take OUTER JOIN semantics into account when estimating the size of joinTom Lane
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 ...
2001-02-15Add some notes about memory management of RI plans.Tom Lane
2001-02-15Update comments about memory management.Tom Lane
2001-02-15Update notes about memory context scheme.Tom Lane
2001-02-15Although we can't support out-of-line TOAST storage in indexes (yet),Tom Lane
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.
2001-02-15Reduce default selectivity estimates for geometric operators; it seemsTom Lane
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 ...
2001-02-15Update a couple of obsolete comments.Tom Lane
2001-02-15Unicode <-> SJIS new mapping tables (based on CP932.TXT) contributed byTatsuo Ishii
Eiji Tokuya" <[email protected]>
2001-02-15Arrange for ORDER BY an expression on a UNION/INTERSECT/EXCEPT result,Tom Lane
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...
2001-02-14Repair problems with duplicate index names generated when CREATE TABLETom Lane
specifies redundant UNIQUE conditions.
2001-02-14Change scoping of table and join refnames to conform to SQL92: a JOINTom Lane
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.
2001-02-13Comments about GetFreeXLBuffer().Vadim B. Mikheev
GetFreeXLBuffer(): use Insert->LgwrResult instead of private LgwrResult copy if it's more fresh (attempt to avoid acquiring info_lck/lgwr_lck).
2001-02-13Please apply the following patch to fix AIX and IRIX timestamp behaviorBruce Momjian
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
2001-02-13Removed abort() in XLogFileOpen.Vadim B. Mikheev
2001-02-13Added some comments to setval, setval_is_called and do_setvalPhilip Warner
2001-02-13Clean up portability problems in regexp package: change all routineTom Lane
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.
2001-02-12Suppress compiler warning on Alpha.Tom Lane
2001-02-12Rearrange order of operations in heap_create_with_catalog so that ifTom Lane
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.
2001-02-12CleanupBruce Momjian
2001-02-12Add // -> /* */ mapping to pgindent.Bruce Momjian
2001-02-12poit -> point.Bruce Momjian
2001-02-11Improve error message when startup or shutdown proc fails.Tom Lane
2001-02-11Move pg_encoding_mblen() from common.c to wchar.c.Tatsuo Ishii
2001-02-11conv.c did not compile anymore. Fix wrong header file inclusion.Tatsuo Ishii
2001-02-10Only look for bison as YACC; other yaccs need to be selected explicitly.Peter Eisentraut
When no suitable YACC is configured, supply useful informational messages to users. (Same way flex has been handled for a while.)
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!