summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2009-04-10commit and tag beta1REL8_4_BETA1Marc G. Fournier
2009-04-09No more need to update FAQs.Bruce Momjian
2009-04-09Add URL for config.guess/sub updatesPeter Eisentraut
2009-04-09Update time zone data files to tzdata release 2009e: DST law changes inTom Lane
Argentina/San_Luis, Cuba, Jordan (historical correction only), Morocco, Palestine, Syria, Tunisia.
2009-04-09Translation updates for 8.4 betaPeter Eisentraut
2009-04-09Remove SQL-compatibility function cardinality(). It is not exactly clearTom Lane
how this ought to behave for multi-dimensional arrays. Per discussion, not having it at all seems better than having it with what might prove to be the wrong behavior. We can always add it later when we have consensus on the correct behavior.
2009-04-09Treat EOF like \n for line-counting purposes in ParseConfigFile,Tom Lane
per bug #4752. Fujii Masao
2009-04-09Fix the plpgsql memory leak exhibited in bug #4677. That leak was introducedTom Lane
by my patch of 2007-01-28 to use per-subtransaction ExprContexts/EStates: since we re-prepared any expression tree when the current subtransaction ID changed, we'd accumulate more and more leaked expression state trees in the outermost subtransaction if the same function was executed at multiple levels of subtransaction nesting. To fix, go back to the previous scheme where there was only one EState per transaction for simple plpgsql expressions. We really only need an ExprContext per subtransaction, not a whole EState, so it's possible to keep prepared expression state trees in the one EState throughout the transaction. This should be more efficient as well as not leaking memory for cases involving lots of subtransactions. The added regression test is the case that inspired the 2007-01-28 patch in the first place, just to make sure we didn't go backwards. The current memory leak complaint is unfortunately hard to test for in the regression test framework, though manual testing shows it's fixed. Although this is a pre-existing bug, I'm not back-patching because I'd like to see this method get some field testing first. Consider back-patching if it gets through 8.4beta unscathed.
2009-04-08Remove psql's ancient hack that suppressed functions taking or returningTom Lane
cstring from the output of \df. Now that the default behavior is to exclude all system functions, the de-cluttering rationale for this behavior seems pretty weak; and it was always quite confusing/unhelpful if you were actually looking for I/O functions. (Not to mention if you were looking for encoding converters or other cases that might take or return cstring.)
2009-04-08Allow leading and trailing spaces around NaN in numeric_in.Tom Lane
Sam Mason, rewritten a bit by Tom.
2009-04-08XMLATTRIBUTES() should send the attribute values throughPeter Eisentraut
map_sql_value_to_xml_value() instead of directly through the data type output function. This is per SQL standard, and consistent with XMLELEMENT().
2009-04-08Quote string literals correctly in the new CREATE SERVER statementsHeikki Linnakangas
and binary upgrade UPDATE statements.
2009-04-08Oops, mustn't call textdomain() when compiling without --enable-nlsHeikki Linnakangas
2009-04-08Tell gettext which codeset to use by calling bind_textdomain_codeset(). WeHeikki Linnakangas
already did that on Windows, but it's needed on other platforms too when LC_CTYPE=C. With other locales, we enforce (or trust) that the codeset of the locale matches the server encoding so we don't need to bind it explicitly. It should do no harm in that case either, but I don't have full faith in the PG encoding -> OS codeset mapping table yet. Per recent discussion on pgsql-hackers.
2009-04-08Improve tab completion for \ef.Bruce Momjian
Andrew Gierth
2009-04-07Revert addition of units to GUC descriptions; doesn't affectBruce Momjian
postgresql.conf.
2009-04-07More GUC units doc updates.Bruce Momjian
Euler Taveira de Oliveira
2009-04-07Support Perl 5.10 and TCL 8.5 in MSVC builds.Magnus Hagander
We should probably have a better way to do this (meaning something not hardcoded) eventually, but this fixes the problem for 8.4. Dave Page
2009-04-07Add an optional parameter to pg_start_backup() that specifies whether to doTom Lane
the checkpoint in immediate or lazy mode. This is to address complaints that pg_start_backup() takes a long time even when there's no need to minimize its I/O consumption.
2009-04-06Add unit documentation for various postgresql.conf settings.Bruce Momjian
2009-04-06Add entry in the encoding number to OS name table for KOI8-U.Peter Eisentraut
2009-04-06Properly align equals signs in new postgresql.conf units comments.Bruce Momjian
2009-04-06Document in postgresql.conf that the default units forBruce Momjian
log_min_duration_statement is milliseconds.
2009-04-06Display postgresql.conf unit options in an easier-to-understand,Bruce Momjian
2-column format.
2009-04-06Adjust psql tab completion for new \d 'S' flag behavior; adjust code toBruce Momjian
be more flexible about additional modifiers for \d commands.
2009-04-06Fix 'all at one page bug' in picksplit method of R-tree emulation. Add defenseTeodor Sigaev
from buggy user-defined picksplit to GiST.
2009-04-06Rename the new CREATE DATABASE options to set collation and ctype intoHeikki Linnakangas
LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.
2009-04-05Change cardinality() into a C-code function, instead of a SQL-languageTom Lane
alias for array_length(v,1). The efficiency gain here is doubtless negligible --- what I'm interested in is making sure that if we have second thoughts about the definition, we will not have to force a post-beta initdb to change the implementation.
2009-04-05Make ExecInitExpr build the list of SubPlans found in a plan tree in orderTom Lane
of discovery, rather than reverse order. This doesn't matter functionally (I suppose the previous coding dates from the time when lcons was markedly cheaper than lappend). However now that EXPLAIN is labeling subplans with IDs that are based on order of creation, this may help produce a slightly less surprising printout.
2009-04-05Change EXPLAIN output so that subplans and initplans (particularly CTEs)Tom Lane
are individually labeled, rather than just grouped under an "InitPlan" or "SubPlan" heading. This in turn makes it possible for decompilation of a subplan reference to usefully identify which subplan it's referencing. I also made InitPlans identify which parameter symbol(s) they compute, so that references to those parameters elsewhere in the plan tree can be connected to the initplan that will be executed. Per a gripe from Robert Haas about EXPLAIN output of a WITH query being inadequate, plus some longstanding pet peeves of my own.
2009-04-05Fix infinite loop while checking of partial match in pending list.Teodor Sigaev
Improve comments. Now GIN-indexable operators should be strict. Per Tom's questions/suggestions.
2009-04-05Remove a boatload of useless definitions of 'int optreset'. If weTom Lane
are using our own ports of getopt or getopt_long, those will define the variable for themselves; and if not, we don't need these, because we never touch the variable anyway.
2009-04-05I had always wondered why pg_config.h.win32 claimed that WindowsTom Lane
provides optreset. Current mastodon results prove that in fact it does not; it was only because getopt.c defined the variable anyway that things failed to fall over.
2009-04-04Hmm, baiji thinks we need explicit 'extern' here.Tom Lane
2009-04-04Make an attempt at fixing our current Solaris 11 breakage: add a configureTom Lane
probe for opterr (exactly like the one for optreset) and have getopt.c define the variables only if configure doesn't find them in libc.
2009-04-04Remove the recently added node types ReloptElem and OptionDefElem in favorTom Lane
of adding optional namespace and action fields to DefElem. Having three node types that do essentially the same thing bloats the code and leads to errors of confusion, such as in yesterday's bug report from Khee Chin.
2009-04-04A session that does not have any live snapshots does not have to be waited forTom Lane
when we are waiting for old snapshots to go away during a concurrent index build. In particular, this rule lets us avoid waiting for idle-in-transaction sessions. This logic could be improved further if we had some way to wake up when the session we are currently waiting for goes idle-in-transaction. However that would be a significantly more complex/invasive patch, so it'll have to wait for some other day. Simon Riggs, with some improvements by Tom.
2009-04-04Rewrite interval_hash() so that the hashcodes are equal for values thatTom Lane
interval_eq() considers equal. I'm not sure how that fundamental requirement escaped us through multiple revisions of this hash function, but there it is; it's been wrong since interval_hash was first written for PG 7.1. Per bug #4748 from Roman Kononov. Backpatch to all supported releases. This patch changes the contents of hash indexes for interval columns. That's no particular problem for PG 8.4, since we've broken on-disk compatibility of hash indexes already; but it will require a migration warning note in the next minor releases of all existing branches: "if you have any hash indexes on columns of type interval, REINDEX them after updating".
2009-04-04Disallow setting fillfactor for TOAST tables.Alvaro Herrera
To implement this without almost duplicating the reloption table, treat relopt_kind as a bitmask instead of an integer value. This decreases the range of allowed values, but it's not clear that there's need for that much values anyway. This patch also makes heap_reloptions explicitly a no-op for relation kinds other than heap and TOAST tables. Patch by ITAGAKI Takahiro with minor edits from me. (In particular I removed the bit about adding relation kind to an error message, which I intend to commit separately.)
2009-04-04Improve obsolete comment.Tom Lane
2009-04-04Make \dt \di and friends more consistent about the treatment ofTom Lane
TOAST tables and indexes; to wit, never show either. (You can examine them with plain \d if you're really so inclined.)
2009-04-03Add missing help output for \ef option. Andrew GierthTom Lane
2009-04-03Use (unsigned char) cast in argument of pg_tolower(). Maybe it works onTom Lane
Windows without that, but we shouldn't put bad examples where people might copy them. Also, reformat slightly to improve the odds that pgindent won't go nuts on this.
2009-04-03Add a comment documenting the question of whether PrefetchBuffer shouldTom Lane
try to protect an already-existing buffer from being evicted. This was left as an open issue when the posix_fadvise patch was committed. I'm not sure there's any evidence to justify more work in this area, but we should have some record about it in the source code.
2009-04-03Defend against possible crash if a plpython function does not specify namesTom Lane
for its arguments. Also add a regression test, since someone apparently changed every single plpython test case to use only named parameters; else we'd have noticed this sooner. Euler Taveira de Oliveira, per a report from Alvaro
2009-04-03Make directory name comparisons on Win32 case insensitive.Magnus Hagander
This method will not catch all different ways since the locale handling in NTFS doesn't provide an easy way to do that, but it will hopefully solve the most common cases causing startup problems when the backend is found in the system PATH. Attempts to fix bug #4694.
2009-04-02Refactor ExecProject and associated routines so that fast-path code is usedTom Lane
for simple Var targetlist entries all the time, even when there are other entries that are not simple Vars. Also, ensure that we prefetch attributes (with slot_getsomeattrs) for all Vars in the targetlist, even those buried within expressions. In combination these changes seem to significantly reduce the runtime for cases where tlists are mostly but not exclusively Vars. Per my proposal of yesterday.
2009-04-02Revert DTrace patch from Robert LorBruce Momjian
2009-04-02Minor code beautification/consolidation.Tom Lane
2009-04-02Give a better error message when trying to changeBruce Momjian
"effective_io_concurrency" on systems without posix_fadvise().