aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Rename the uuid_t type to pg_uuid_t, to avoid a conflict with anyNeil Conway2007-01-28
| | | | | definitions of uuid_t that may be provided by the system headers. This should hopefully fix the Win32 build problems reported by Magnus.
* Fix plpython MSVC build in non-debug mode.Andrew Dunstan2007-01-28
|
* Remove some unnecessary conversion work in build_regtype_array().Tom Lane2007-01-28
|
* Repair oversight in creation of "append relations": we should set upTom Lane2007-01-28
| | | | | rel->tuples as well as rel->rows, since some estimation functions expect both to be valid in every baserel. Per report from Dave Dutcher.
* Make some small improvements in the accuracy of plpgsql's error locationTom Lane2007-01-28
| | | | | | reports; inspired by the misleading CONTEXT lines shown in recent bug report from Stefan Kaltenbrunner. Also, allow statement-type names shown in these messages to be translated.
* Fix path problem in MSVC bison wrapper. per Joachim Wieland.Andrew Dunstan2007-01-28
|
* Add a new builtin type, "uuid". This implements a UUID type, similar toNeil Conway2007-01-28
| | | | | | | | that defined in RFC 4122. This patch includes the basic implementation, plus regression tests. Documentation and perhaps some additional functionality will come later. Catversion bumped. Patch from Gevik Babakhani; review from Peter, Tom, and myself.
* Fix up plpgsql's "simple expression" evaluation mechanism so that it behavesTom Lane2007-01-28
| | | | | | | | | | | | | | safely in the presence of subtransactions. To ensure that any ExprContext shutdown callbacks are called at the right times, we have to have a separate EState for each level of subtransaction. Per "TupleDesc reference leak" bug report from Stefan Kaltenbrunner. Although I'm convinced the code is wrong as far back as 8.0, it doesn't seem that there are any ways for the problem to really manifest before 8.2: AFAICS, 8.0 and 8.1 only use the ExprContextCallback mechanism to handle set-returning functions, which cannot usefully be executed in a "simple expression" anyway. Hence, no backpatch before 8.2 --- the risk of unforeseen breakage seems to outweigh the chance of fixing something.
* Drat, can't fit an additional argument into log_error. Is it worth anTom Lane2007-01-28
| | | | | sprintf pushup to be sure we can report something useful for out-of-range exitstatus?
* Clean up broken usage of HAVE_DECL_SYS_SIGLIST and inconsistent/poorlyTom Lane2007-01-28
| | | | formatted error messages.
* Use autoconf build-in sys_siglist macro AC_DECL_SYS_SIGLIST, rather thanBruce Momjian2007-01-28
| | | | create our own.
* Add a delay at the start of the stats test, to let any prior statsTom Lane2007-01-28
| | | | | | activity quiesce. Possibly this will fix the large increase in non-reproducible stats test failures we've noted since turning on stats_row_level by default.
* Dept of second thoughts: the IQ of estimate_array_length() needs to beTom Lane2007-01-28
| | | | | kept on par with that of scalararraysel(), else estimates that should track might not. Hence teach it about binary-compatible cases, too.
* Add signal.h for sys_siglist reference.Bruce Momjian2007-01-28
|
* Fix scalararraysel() to cope with binary-compatible cases, such as text[]Tom Lane2007-01-28
| | | | | | versus varchar[]. This oversight probably explains Ryan Holmes' recent complaint --- he was getting a generic selectivity estimate instead of anything intelligent.
* Use sys_siglist[] to print out signal names for signal exits, ratherBruce Momjian2007-01-28
| | | | than just numbers.
* Correct an old logic error in btree page splitting: when considering a splitTom Lane2007-01-27
| | | | | | | | | | | | exactly at the point where we need to insert a new item, the calculation used the wrong size for the "high key" of the new left page. This could lead to choosing an unworkable split, resulting in "PANIC: failed to add item to the left sibling" (or "right sibling") failure. Although this bug has been there a long time, it's very difficult to trigger a failure before 8.2, since there was generally a lot of free space on both sides of a chosen split. In 8.2, where the user-selected fill factor determines how much free space the code tries to leave, an unworkable split is much more likely. Report by Joe Conway, diagnosis and fix by Heikki Linnakangas.
* Fixed expected files, so they are in sync with tests again.Michael Meskes2007-01-27
|
* remove unnecessary and now inaccurate cast which I should have removed with ↵Andrew Dunstan2007-01-27
| | | | other old code.
* Reactivate libxml memory management via palloc, now that I think I'vePeter Eisentraut2007-01-27
| | | | | classified the conditions under which this is safe to do (see source code comment).
* Add trailing zero byte in Unicode codepoint conversion.Peter Eisentraut2007-01-27
|
* Allow args to spi_prepare to be standard type aliaes as well as those known ↵Andrew Dunstan2007-01-27
| | | | in pg_type. Fixes bug #2917. Add some regression tests for these cases.
* On Windows, use pgwin32_waitforsinglesocket() instead of select() to wait forTom Lane2007-01-26
| | | | | | | | | | input in the stats collector. Our select() emulation is apparently buggy for UDP sockets :-(. This should resolve problems with stats collection (and hence autovacuum) failing under more than minimal load. Diagnosis and patch by Magnus Hagander. Patch probably needs to be back-ported to 8.1 and 8.0, but first let's see if it makes the buildfarm happy...
* Squelch some VC++ compiler warnings. Mark float literals with the "f"Neil Conway2007-01-26
| | | | | | | suffix, to distinguish them from doubles. Make some function declarations and definitions use the "const" qualifier for arguments consistently. Ignore warning 4102 ("unreferenced label"), because such warnings are always emitted by bison-generated code. Patch from Magnus Hagander.
* Update Win32 exception comment.Bruce Momjian2007-01-25
|
* Add a setlocal command to the beginning of build.bat. This is requiredNeil Conway2007-01-25
| | | | | to deal with buildenv.bat properly, so that PATH (for example) doesn't expand infintly. Per report from Joachim Wieland, patch from Magnus.
* Removed compiler warning due to unneeded unsigned declaration.Michael Meskes2007-01-25
| | | | Removed regression test that triggers those libc precision bugs on some archs.
* Correction: temp_tablespaces was implemented by Albert Cervera Areny,Bruce Momjian2007-01-25
| | | | with cleanup by Jaime Casanova.
* Reverse out use of Py_RETURN_TRUE in plpython, only supported in Python >=Bruce Momjian2007-01-25
| | | | 2.3.
* Various fixes in the logic of XML functions:Peter Eisentraut2007-01-25
| | | | | | | | | | | | | | | | - Add new SQL command SET XML OPTION (also available via regular GUC) to control the DOCUMENT vs. CONTENT option in implicit parsing and serialization operations. - Subtle corrections in the handling of the standalone property in xmlroot(). - Allow xmlroot() to work on content fragments. - Subtle corrections in the handling of the version property in xmlconcat(). - Code refactoring for producing XML declarations.
* Add GUC temp_tablespaces to provide a default location for temporaryBruce Momjian2007-01-25
| | | | | | objects. Jaime Casanova
* Properly detoast access to bytea field pg_trigger.tgargs. Old codeBruce Momjian2007-01-25
| | | | | | might cause server crash. Backpatch to 8.2.X.
* Fix for plpython functions; return true/false for boolean,Bruce Momjian2007-01-25
| | | | | | | rather than 1/0. This helps when creating trigger functions that output SQL. Guido Goldstein
* Add 'output file' option for pg_dumpall, especially useful for Win32,Bruce Momjian2007-01-25
| | | | | | where output redirection of child processes (pg_dump) doesn't work. Dave Page
* 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
|