aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils
Commit message (Collapse)AuthorAge
* Repair EXPLAIN failure when trying to display a plan condition that involvesTom Lane2005-12-30
| | | | | | selection of a field from the result of a function returning RECORD. I believe this case is new in 8.1; it's due to the addition of OUT parameters. Per example from Michael Fuhr.
* Disallow setting ssl = on if SSL is not compiled in.Peter Eisentraut2005-12-30
|
* Arrange to set the LC_XXX environment variables to match our localeTom Lane2005-12-28
| | | | | | setup. This protects against undesired changes in locale behavior if someone carelessly does setlocale(LC_ALL, "") (and we know who you are, perl guys).
* Move plpgsql's fetchArgInfo() into funcapi.c, and rename toTom Lane2005-12-28
| | | | | | | | get_func_arg_info() for consistency with other names there. This code will probably be useful to other PLs when they start to support OUT parameters, so better to have it in the main backend. Also, fix plpgsql validator to detect bogus OUT parameters even when check_function_bodies is off.
* Mention "table" in "violates foreign key constraint" message that wasBruce Momjian2005-12-28
| | | | | lacking it. Perhaps it was suppressed because of line length considerations, but "table" should appear.
* Remove silly use of DLLIMPORT.Tom Lane2005-12-28
|
* Implement SQL-compliant treatment of row comparisons for < <= > >= casesTom Lane2005-12-28
| | | | | | | | | | | | | | | | (previously we only did = and <> correctly). Also, allow row comparisons with any operators that are in btree opclasses, not only those with these specific names. This gets rid of a whole lot of indefensible assumptions about the behavior of particular operators based on their names ... though it's still true that IN and NOT IN expand to "= ANY". The patch adds a RowCompareExpr expression node type, and makes some changes in the representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code with RowCompareExpr. I have not yet done anything about making RowCompareExpr an indexable operator, but will look at that soon. initdb forced due to changes in stored rules.
* More uses of IS_HIGHBIT_SET() macro.Bruce Momjian2005-12-26
|
* I have added these macros to c.h:Bruce Momjian2005-12-25
| | | | | | | | | #define HIGHBIT (0x80) #define IS_HIGHBIT_SET(ch) ((unsigned char)(ch) & HIGHBIT) and removed CSIGNBIT and mapped it uses to HIGHBIT. I have also added uses for IS_HIGHBIT_SET where appropriate. This change is purely for code clarity.
* Formatting cleanups.Bruce Momjian2005-12-24
|
* Formatting cleanup.Bruce Momjian2005-12-24
|
* Fix long standing Asian multibyte charsets bug.Tatsuo Ishii2005-12-24
| | | | | | | | | | | See: Subject: [HACKERS] bugs with certain Asian multibyte charsets From: Tatsuo Ishii <ishii@sraoss.co.jp> To: pgsql-hackers@postgresql.org Date: Sat, 24 Dec 2005 18:25:33 +0900 (JST) for more details/
* Wups, fat-fingered the calculation the first time. Update comment inTom Lane2005-12-23
| | | | postgresql.conf.sample too.
* Fix for rearranging encoding id ISO-8859-5 to ISO-8859-8.Tatsuo Ishii2005-12-23
| | | | | | | | | Also make the code more robust by searching for target encoding in the internal charset map. Problem reported by Sagi Bashari on 2005/12/21. See "[BUGS] BUG #2120: Crash when doing UTF8<->ISO_8859_8 encoding conversion" on pgsql-bugs list for more details.
* Add quotes around search_path "$user" so that SHOW output can be used inBruce Momjian2005-12-23
| | | | SET.
* Adjust string comparison so that only bitwise-equal strings are consideredTom Lane2005-12-22
| | | | | | | | | | | | equal: if strcoll claims two strings are equal, check it with strcmp, and sort according to strcmp if not identical. This fixes inconsistent behavior under glibc's hu_HU locale, and probably under some other locales as well. Also, take advantage of the now-well-defined behavior to speed up texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise comparison and not bother with strcoll at all. NOTE: affected databases may need to REINDEX indexes on text columns to be sure they are self-consistent.
* Teach planner how to rearrange join order for some classes of OUTER JOIN.Tom Lane2005-12-20
| | | | | | Per my recent proposal. I ended up basing the implementation on the existing mechanism for enforcing valid join orders of IN joins --- the rules for valid outer-join orders are somewhat similar.
* Teach deparsing of CASE expressions to cope with the simplified formsTom Lane2005-12-10
| | | | | | that simplify_boolean_equality() may leave behind. This is only relevant if the user writes something a bit silly, like CASE x=y WHEN TRUE THEN. Per example from Michael Fuhr; may or may not explain bug #2106.
* Allow installation into directories containing spaces in the name.Peter Eisentraut2005-12-09
|
* Simplify lock manager data structures by making a clear separation betweenTom Lane2005-12-09
| | | | | | | | | | | | the data defining the semantics of a lock method (ie, conflict resolution table and ancillary data, which is all constant) and the hash tables storing the current state. The only thing we give up by this is the ability to use separate hashtables for different lock methods, but there is no need for that anyway. Put some extra fields into the LockMethod definition structs to clean up some other uglinesses, like hard-wired tests for DEFAULT_LOCKMETHOD and USER_LOCKMETHOD. This commit doesn't do anything about the performance issues we were discussing, but it clears away some of the underbrush that's in the way of fixing that.
* Fix bgwriter's failure to release buffer pins and open files after anTom Lane2005-12-08
| | | | | error. This probably explains bug #2099 and could also account for mysterious VACUUM hangups.
* Allow to_char(interval) and to_char(time) to use AM/PM specifications.Bruce Momjian2005-12-03
| | | | | | | | | | | Map them to a single day, so '30 hours' is 'AM'. Have to_char(interval) and to_char(time) use "HH", "HH12" as 12-hour intervals, rather than bypass and print the full interval hours. This is neeeded because to_char(time) is mapped to interval in this function. Intervals should use "HH24", and document suggestion. Allow "D" format specifiers for interval/time.
* Remove comment on errno=0 lines, but add mention to port/strtol.c function.Bruce Momjian2005-12-02
|
* Add comment to pg_atoi.Bruce Momjian2005-12-01
|
* Comment "errno = 0" in a more generic way.Bruce Momjian2005-12-01
|
* Add comments about why errno is set to zero.Bruce Momjian2005-12-01
|
* Check for overflow in strtol() while parsing datetime inputs.Tom Lane2005-12-01
| | | | Michael Fuhr.
* Rearrange code in pg_atoi() to avoid assuming that isspace() cannotTom Lane2005-11-30
| | | | change errno. No reported bugs here, but why take a chance?
* Teach planner and executor to handle ScalarArrayOpExpr as an indexableTom Lane2005-11-25
| | | | | | | | | | | qualification when the underlying operator is indexable and useOr is true. That is, indexkey op ANY (ARRAY[...]) is effectively translated into an OR combination of one indexscan for each array element. This only works for bitmap index scans, of course, since regular indexscans no longer support OR'ing of scans. There are still some loose ends to clean up before changing 'x IN (list)' to translate as a ScalarArrayOpExpr; for instance predtest.c ought to be taught about it. But this gets the basic functionality in place.
* Fix up comment munged by pg_indent. (Not pg_indent's fault; should haveTom Lane2005-11-22
| | | | protected comment with dashes the first time round.)
* Re-run pgindent, fixing a problem where comment lines after a blankBruce Momjian2005-11-22
| | | | | | | | | comment line where output as too long, and update typedefs for /lib directory. Also fix case where identifiers were used as variable names in the backend, but as typedefs in ecpg (favor the backend for indenting). Backpatch to 8.1.X.
* Remove the t_datamcxt field of HeapTupleData. This was introduced forTom Lane2005-11-20
| | | | | the convenience of tuptoaster.c and is no longer needed, so may as well get rid of some small amount of overhead.
* Change array comparison rules to consider dimensionality information,Tom Lane2005-11-19
| | | | | not only the array contents, before claiming two arrays are equal. Per recent discussion.
* Change array_push and array_cat so that they retain the lower bound ofTom Lane2005-11-19
| | | | | | | | | | | the array (for array_push) or higher-dimensional array (for array_cat) rather than decrementing it as before. This avoids generating lower bounds other than one for any array operation within the SQL spec. Per recent discussion. Interestingly, this seems to have been the original behavior, because while updating the docs I noticed that a large fraction of relevant examples were *wrong* for the old behavior and are now right. Is it worth correcting this in the back-branch docs?
* Mop-up for nulls-in-arrays patch: fix some places that access arrayTom Lane2005-11-18
| | | | contents directly.
* Make SQL arrays support null elements. This commit fixes the core arrayTom Lane2005-11-17
| | | | | | | | functionality, but I still need to make another pass looking at places that incidentally use arrays (such as ACL manipulation) to make sure they are null-safe. Contrib needs work too. I have not changed the behaviors that are still under discussion about array comparison and what to do with lower bounds.
* add missing quote mark to ident_file sample line - per Hiroshi SaitoAndrew Dunstan2005-11-10
|
* Fix misspelling of 'listen_addresses', per Devrim.Tom Lane2005-11-09
|
* R-tree is dead ... long live GiST.Tom Lane2005-11-07
|
* Repair an error introduced by log_line_prefix patch: it is not acceptableTom Lane2005-11-05
| | | | | | | | | | | to assume that the string pointer passed to set_ps_display is good forever. There's no need to anyway since ps_status.c itself saves the string, and we already had an API (get_ps_display) to return it. I believe this explains Jim Nasby's report of intermittent crashes in elog.c when %i format code is in use in log_line_prefix. While at it, repair a previously unnoticed problem: on some platforms such as Darwin, the string returned by get_ps_display was blank-padded to the maximum length, meaning that lock.c's attempt to append " waiting" to it never worked.
* Improve description of constraint_exclusion variable.Tom Lane2005-11-04
|
* Remove a gratuitous string difference (does not affect translations).Peter Eisentraut2005-11-04
|
* Fix logical error in option description.Peter Eisentraut2005-11-04
|
* Disregard superuserness when checking to see if a role GRANT wouldTom Lane2005-11-04
| | | | | | | | | create circularity of role memberships. This is a minimum-impact fix for the problem reported by Florian Pflug. I thought about removing the superuser_arg test from is_member_of_role() altogether, as it seems redundant for many of the callers --- but not all, and it's way too late in the 8.1 cycle to be making large changes. Perhaps reconsider this later.
* Rename the members of CommandDest enum so they don't collide with other uses ofAlvaro Herrera2005-11-03
| | | | | those names. (Debug and None were pretty bad names anyway.) I hope I catched all uses of the names in comments too.
* Update a couple of obsolete comments.Tom Lane2005-10-29
|
* Message correctionsPeter Eisentraut2005-10-29
|
* Add comment documenting actual failure case of usingBruce Momjian2005-10-27
| | | | | interval_justify_hours in timestamp subtraction. TODO already has text description.
* Remove justify_hours call from interval_mul and interval_div, and makeTom Lane2005-10-25
| | | | | | | some small stylistic improvements in these functions. Also fix several places where TMODULO() was being used with wrong-sized quotient argument, creating a risk of overflow --- interval2tm was actually capable of going into an infinite loop because of this.
* Change trace_sort to output to the log, rather than the user's terminal.Bruce Momjian2005-10-25
|