aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Allow pg_dumpall to specify a database name rather than the defaultBruce Momjian2007-01-25
| | | | | | 'template1'. Dave Page
* Add --tablespaces-only and --roles-only options to pg_dumpall.Bruce Momjian2007-01-25
| | | | Dave Page
* Prevent WAL logging when COPY is done in the same transation thatBruce Momjian2007-01-25
| | | | | | created it. Simon Riggs
* When using MSVC, disable the building of ecpg if pthreads is notBruce Momjian2007-01-24
| | | | | | specified. Magnus Hagander
* Get pg_utf_mblen(), pg_utf2wchar_with_len(), and utf2ucs() all on the sameTom Lane2007-01-24
| | | | | | | | | | | | | | | | | | | | | page about the maximum UTF8 sequence length we support (4 bytes since 8.1, 3 before that). pg_utf2wchar_with_len never got updated to support 4-byte characters at all, and in any case had a buffer-overrun risk in that it could produce multiple pg_wchars from what mblen claims to be just one UTF8 character. The only reason we don't have a major security hole is that most callers allocate worst-case output buffers; the sole exception in released versions appears to be pre-8.2 iwchareq() (ie, ILIKE), which can be crashed due to zeroing out its return address --- but AFAICS that can't be exploited for anything more than a crash, due to inability to control what gets written there. Per report from James Russell and Michael Fuhr. Pre-8.1 the risk is much less, but I still think pg_utf2wchar_with_len's behavior given an incomplete final character risks buffer overrun, so back-patch that logic change anyway. This patch also makes sure that UTF8 sequences exceeding the supported length (whichever it is) are consistently treated as error cases, rather than being treated like a valid shorter sequence in some places.
* Relax an Assert() that has been found to be too strict in some situationsTom Lane2007-01-24
| | | | | | | involving unions of types having typmods. Variants of the failure are known to occur in 8.1 and up; not sure if it's possible in 8.0 and 7.4, but since the code exists that far back, I'll just patch 'em all. Per report from Brian Hurt.
* Simplify handling of XML error messages: Just use the string provided byPeter Eisentraut2007-01-23
| | | | | | | | | libxml as the detail message. As per <http://archives.postgresql.org/pgsql-hackers/2006-12/msg01087.php>. For converting error codes to messages, we only need to cover those codes that we raise ourselves now.
* Update pg_dump to support dumping operator families.Tom Lane2007-01-23
|
* Add comment about exception lists in both winnt.h and ntstatus.h.Bruce Momjian2007-01-23
|
* This patch is required for vcbuild to work after the changes toAlvaro Herrera2007-01-23
| | | | | | | pg_proc.h (it's the same changes that's in gen_fmgrtab.sh in the unix build). Patch from Magnus Hagander.
* Add CREATE/ALTER/DROP OPERATOR FAMILY commands, also COMMENT ON OPERATORTom Lane2007-01-23
| | | | | | FAMILY; and add FAMILY option to CREATE OPERATOR CLASS to allow adding a class to a pre-existing family. Per previous discussion. Man, what a tedious lot of cutting and pasting ...
* Remove newline from error message because URL is gone.Bruce Momjian2007-01-23
|
* Back out use of FormatMessage(), does error values, not exceptionBruce Momjian2007-01-23
| | | | | values. Point to /include/ntstatus.h for an exception list, rather than a URL.
* Print meaningfull error text for abonormal process exit on Win32, ratherBruce Momjian2007-01-23
| | | | than hex codes, using FormatMessage().
* Put back planner's ability to cache the results of mergejoinscansel(),Tom Lane2007-01-22
| | | | | | | | | | which I had removed in the first cut of the EquivalenceClass rewrite to simplify that patch a little. But it's still important --- in a four-way join problem mergejoinscansel() was eating about 40% of the planning time according to gprof. Also, improve the EquivalenceClass code to re-use join RestrictInfos rather than generating fresh ones for each join considered. This saves some memory space but more importantly improves the effectiveness of caching planning info in RestrictInfos.
* Use errhint() for WIN32 SIGTERM message, where possible.Bruce Momjian2007-01-22
|
* Uppercase hex value.Bruce Momjian2007-01-22
|
* When system() fails in Win32, report it as an exception, print theBruce Momjian2007-01-22
| | | | exception value in hex, and give a URL where the value can be looked-up.
* Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_procTom Lane2007-01-22
| | | | | | | | | | | | columns procost and prorows, to allow simple user adjustment of the estimated cost of a function call, as well as control of the estimated number of rows returned by a set-returning function. We might eventually wish to extend this to allow function-specific estimation routines, but there seems to be consensus that we should try a simple constant estimate first. In particular this provides a relatively simple way to control the order in which different WHERE clauses are applied in a plan node, which is a Good Thing in view of the fact that the recent EquivalenceClass planner rewrite made that much less predictable than before.
* Remove some unused variablesPeter Eisentraut2007-01-21
|
* Put back libpq link, but make sure that libpq's in-tree directory isPeter Eisentraut2007-01-21
| | | | mentioned before the system directories.
* Refactor some lsyscache routines to eliminate duplicate code and saveTom Lane2007-01-21
| | | | a couple of syscache lookups in make_pathkey_from_sortinfo().
* Simplify pg_am representation of ordering-capable access methods:Tom Lane2007-01-20
| | | | | | | provide just a boolean 'amcanorder', instead of fields that specify the sort operator strategy numbers. We have decided to require ordering-capable AMs to use btree-compatible strategy numbers, so the old fields are overkill (and indeed misleading about what's allowed).
* Make setseed() return void, rather than an int4 without any use. PerNeil Conway2007-01-20
| | | | pgsql-patches discussion of September 20, 2006. Bump the catversion.
* Add documentation of memory and time units to postgresql.conf.Bruce Momjian2007-01-20
| | | | Backpatch to 8.2.X for new initdbs.
* Don't use 'int' where you mean 'bool'.Tom Lane2007-01-20
|
* List disabled triggers separately in psql's "\d <table>" output.Neil Conway2007-01-20
| | | | | Previously, disabled triggers were not displayed any differently than enabled ones, which was quite misleading. Patch from Brendan Jurd.
* Refactor planner's pathkeys data structure to create a separate, explicitTom Lane2007-01-20
| | | | | | | | | | | | | | representation of equivalence classes of variables. This is an extensive rewrite, but it brings a number of benefits: * planner no longer fails in the presence of "incomplete" operator families that don't offer operators for every possible combination of datatypes. * avoid generating and then discarding redundant equality clauses. * remove bogus assumption that derived equalities always use operators named "=". * mergejoins can work with a variety of sort orders (e.g., descending) now, instead of tying each mergejoinable operator to exactly one sort order. * better recognition of redundant sort columns. * can make use of equalities appearing underneath an outer join.
* Refactor the index AM API slightly: move currentItemData andNeil Conway2007-01-20
| | | | | | | currentMarkData from IndexScanDesc to the opaque structs for the AMs that need this information (currently gist and hash). Patch from Heikki Linnakangas, fixes by Neil Conway.
* Remove remains of old depend target.Peter Eisentraut2007-01-20
|
* Regression tests for large objects. Patch from Jeremy Drake.Neil Conway2007-01-20
|
* Modify max_fsm_pages in postgresql.conf.sample to show a typical value,Bruce Momjian2007-01-20
| | | | rather than a value too high.
* Teach psql's \lo slash commands to respect quiet mode, and to outputNeil Conway2007-01-20
| | | | HTML in HTML mode. Patch from Jeremy Drake.
* The libpq library directory was mentioned here in the wrong place, whichPeter Eisentraut2007-01-20
| | | | | might lead to a previously installed libpq being used instead. But we don't actually have to link with libpq here at all, so remove it.
* Only build ecpg test code when the test is to be performed, in line withPeter Eisentraut2007-01-20
| | | | other test code.
* Move code that places LOG error level between ERROR and PANIC into newBruce Momjian2007-01-20
| | | | function is_log_level_output(), for code clarity.
* Fix xmlconcat regression testPeter Eisentraut2007-01-20
|
* Fix xmlconcat by properly merging the XML declarations. Add aggregatePeter Eisentraut2007-01-20
| | | | function xmlagg.
* Add missing copyright blurb, make ruleutils.c use the standard layoutNeil Conway2007-01-20
| | | | for its header comment.
* Fix pg_regress breakage for PL and contrib tests, by not requiring thatAlvaro Herrera2007-01-19
| | | | "input" and "output" dirs be necessarily present.
* Add support for converting binary values (i.e. bytea) into xml values,Peter Eisentraut2007-01-19
| | | | | with new GUC parameter "xmlbinary" that controls the output encoding, as per SQL/XML standard.
* Change the sed rules in the regression test for pg_regress hackery to createAlvaro Herrera2007-01-19
| | | | | | | the generated files, to help Visual C++ to run these tests. The tests still pass in VPATH and normal builds. Patch from Magnus Hagander, editorialized by me.
* Clean up encoding issues in the xml type: In text mode, encodingPeter Eisentraut2007-01-18
| | | | | declarations are ignored and removed, in binary mode they are honored as specified by the XML standard.
* Add a note pointing out that is_pseudo_constant_clause() doesn't checkTom Lane2007-01-17
| | | | | for aggregates. This is OK for current uses but could burn somebody someday...
* Extend yesterday's patch so that the bgwriter is also told to forgetTom Lane2007-01-17
| | | | pending fsyncs during DROP DATABASE. Obviously necessary in hindsight :-(
* Tweak the width_bucket() regression tests to avoid an unnecessaryNeil Conway2007-01-17
| | | | | dependency on the platform's floating point implementation. Per report from Stefan Kaltenbrunner.
* Revise bgwriter fsync-request mechanism to improve robustness when a tableTom Lane2007-01-17
| | | | | | | | | | | | | | | | is deleted. A backend about to unlink a file now sends a "revoke fsync" request to the bgwriter to make it clean out pending fsync requests. There is still a race condition where the bgwriter may try to fsync after the unlink has happened, but we can resolve that by rechecking the fsync request queue to see if a revoke request arrived meanwhile. This eliminates the former kluge of "just assuming" that an ENOENT failure is okay, and lets us handle the fact that on Windows it might be EACCES too without introducing any questionable assumptions. After an idea of mine improved by Magnus. The HEAD patch doesn't apply cleanly to 8.2, but I'll see about a back-port later. In the meantime this could do with some testing on Windows; I've been able to force it through the code path via ENOENT, but that doesn't prove that it actually fixes the Windows problem ...
* vcbuild updates from Magnus:Neil Conway2007-01-16
| | | | | | | | | | * After Markos patch, now builds pgcrypto without zlib again * Updates README with xml info * xml requires xslt and iconv * disable unnecessary warning about __cdecl() * Add a buildenv.bat called from all other bat files to set up things like PATH for flex/bison. (Can't just set it before calling, doesn't always work when building from the GUI)
* Implement width_bucket() for the float8 data type.Neil Conway2007-01-16
| | | | | | | | | | | | | | | | | | | | | | | The implementation is somewhat ugly logic-wise, but I don't see an easy way to make it more concise. When writing this, I noticed that my previous implementation of width_bucket() doesn't handle NaN correctly: postgres=# select width_bucket('NaN', 1, 5, 5); width_bucket -------------- 6 (1 row) AFAICS SQL:2003 does not define a NaN value, so it doesn't address how width_bucket() should behave here. The patch changes width_bucket() so that ereport(ERROR) is raised if NaN is specified for the operand or the lower or upper bounds to width_bucket(). For float8, NaN is disallowed for any of the floating-point inputs, and +/- infinity is disallowed for the histogram bounds (but allowed for the operand). Update docs and regression tests, bump the catversion.
* Fix incorrect permissions check in information_schema.key_column_usage view:Tom Lane2007-01-16
| | | | | | | | | | it was checking a pg_constraint OID instead of pg_class OID, resulting in "relation with OID nnnnn does not exist" failures for anyone who wasn't owner of the table being examined. Per bug #2848 from Laurence Rowe. Note: for existing 8.2 installations a simple version update won't fix this; the easiest fix is to CREATE OR REPLACE this view with the corrected definition.