aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Make all command-line options of postmaster and postgres the same. SeePeter Eisentraut2006-01-05
| | | | | http://archives.postgresql.org/pgsql-hackers/2006-01/msg00151.php for the complete plan.
* Remove BEOS port.Bruce Momjian2006-01-05
|
* Remove QNX port.Bruce Momjian2006-01-05
|
* Rearrange backend startup sequence so that ShmemIndexLock can becomeTom Lane2006-01-04
| | | | | | an LWLock instead of a spinlock. This hardly matters on Unix machines but should improve startup performance on Windows (or any port using EXEC_BACKEND). Per previous discussion.
* Fix another case in which autovacuum would fail while analyzingTom Lane2006-01-04
| | | | expressional indexes. Per report from Brian Hirt.
* Assume select() might modify struct timeout, so remove previousBruce Momjian2006-01-03
| | | | optimization.
* Use setitimer() for stats file write, rather than do a gettimeofday()Bruce Momjian2006-01-03
| | | | | call for every stats packet read to adjust select() timeout. Other stylistic improvements.
* Don't assume that LC_MESSAGES is always available on WIN32. Per Magnus.Tom Lane2006-01-02
|
* Reset flex state in a way that works for both flex 2.5.4 and 2.5.31.Tom Lane2006-01-02
|
* Change if (!(x || y)) construct with if (!x && !y), for clarity.Bruce Momjian2006-01-02
|
* Rewrite ProcessConfigFile() to avoid misbehavior at EOF, as per reportTom Lane2006-01-01
| | | | | | | | from Andrus Moor. The former state-machine-style coding wasn't actually doing much except obscuring the control flow, and it didn't extend readily to fix this case, so I just took it out. Also, add a YY_FLUSH_BUFFER call to ensure the lexer is reset correctly if the previous scan failed partway through the file.
* Remove DOS line endings ("\r\n") from several .po files. DOS line endingsNeil Conway2006-01-01
| | | | | are inconsistent with the rest of the .po files, and apparently cause problems for Sun's cc. Per report on IRC from "bitvector2".
* Rename variable to cmd_str.Bruce Momjian2005-12-31
|
* Rename variable 'what' to 'stat_msg'.Bruce Momjian2005-12-31
|
* Prefix client-side prepare with '[protocol]' rather than '[client]'.Bruce Momjian2005-12-31
|
* Rename send_rfq to send_ready_for_query.Bruce Momjian2005-12-30
|
* Mmark client-side prepare/bind/execute statements with "[client]" soBruce Momjian2005-12-30
| | | | they can be easily distinguished from SQL commands.
* Add support for Solaris x86_64 using Sun's compiler.Bruce Momjian2005-12-30
| | | | Pierre Girard
* 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
|
* Get rid of the SpinLockAcquire/SpinLockAcquire_NoHoldoff distinctionTom Lane2005-12-29
| | | | | | | | | | in favor of having just one set of macros that don't do HOLD/RESUME_INTERRUPTS (hence, these correspond to the old SpinLockAcquire_NoHoldoff case). Given our coding rules for spinlock use, there is no reason to allow CHECK_FOR_INTERRUPTS to be done while holding a spinlock, and also there is no situation where ImmediateInterruptOK will be true while holding a spinlock. Therefore doing HOLD/RESUME_INTERRUPTS while taking/releasing a spinlock is just a waste of cycles. Qingqing Zhou and Tom Lane.
* Revert some careless search-and-replace: "ADD" in comment text shouldNeil Conway2005-12-29
| | | | not be replaced with "ADD_P".
* 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
|
* Add regression tests for CSV and \., and add automatic quoting of aBruce Momjian2005-12-28
| | | | | single column dump that has a \. value, so the load works properly. I also added documentation describing this issue.
* 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.
* Our code had:Bruce Momjian2005-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if (c == '\\' && cstate->line_buf.len == 0) The problem with that is the because of the input and _output_ buffering, cstate->line_buf.len could be zero even if we are not on the first character of a line. In fact, for a typical line, it is zero for all characters on the line. The proper solution is to introduce a boolean, first_char_in_line, that we set as we enter the loop and clear once we process a character. I have restructured the line-reading code in copy.c by: o merging the CSV/non-CSV functions into a single function o used macros to centralize and clarify the buffering code o updated comments o renamed client_encoding_only to encoding_embeds_ascii o added a high-bit test to the encoding_embeds_ascii test for performance o in CSV mode, allow a backslash followed by a non-period to continue being processed as a data value There should be no performance impact from this patch because it is functionally equivalent. If you apply the patch you will see copy.c is much clearer in this area now and might suggest additional optimizations. I have also attached a 8.1-only patch to fix the CSV \. handling bug with no code restructuring.
* Protect ADD and HEADER symbols from conflicting with MIPS includes.Bruce Momjian2005-12-27
|
* 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.
* Allow CREATE/ALTER ROLE PASSWORD NULL to allow restoring the default statePeter Eisentraut2005-12-23
| | | | of having no password.
* 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.
* Rethink prior patch to filter out dead backend entries from the pgstatsTom Lane2005-12-16
| | | | | | | | file. The original code probed the PGPROC array separately for each PID, which was not good for large numbers of backends: not only is the runtime O(N^2) but most of it is spent holding ProcArrayLock. Instead, take the lock just once and copy the active PIDs into an array, then use qsort and bsearch so that the lookup time is more like O(N log N).
* Defend against crash while processing Describe Statement or Describe PortalTom Lane2005-12-14
| | | | | | messages, when client attempts to execute these outside a transaction (start one) or in a failed transaction (reject message, except for COMMIT/ROLLBACK statements which we can handle). Per report from Francisco Figueiredo Jr.
* Fix problem with whole-row Vars referencing sub-select outputs, perTom Lane2005-12-14
| | | | | example from Jim Dew. Add some simple regression tests, since this is an area we seem to break regularly :-(
* Divide the lock manager's shared state into 'partitions', so as toTom Lane2005-12-11
| | | | | | | reduce contention for the former single LockMgrLock. Per my recent proposal. I set it up for 16 partitions, but on a pgbench test this gives only a marginal further improvement over 4 partitions --- we need to test more scenarios to choose the number of partitions.
* Implement IS NOT DISTINCT FROM, update the regression tests and docs.Neil Conway2005-12-11
| | | | Patch from Pavel Stehule, minor fixups by myself.
* 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.