aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Fix a couple of places that were assuming debug_query_string couldn'tTom Lane2006-10-19
| | | | be NULL ... seems an unsafe assumption.
* Make sure that debug_query_string contains the original query text,Tom Lane2006-10-19
| | | | | | if available (which it usually should be), during processing of Bind and Execute protocol messages. This improves usefulness of log_min_error_statement logging for extended query protocol.
* Clean up local redeclarations of variables with DLLIMPORT, per reportTom Lane2006-10-19
| | | | from Magnus that MSVC complains about this.
* Work around reported problem that AIX's getaddrinfo() doesn't seem to zeroTom Lane2006-10-19
| | | | | | | sin_port in the returned IP address struct when servname is NULL. This has been observed to cause failure to bind the stats collection socket, and could perhaps cause other issues too. Per reports from Brad Nicholson and Chris Browne.
* Add some code to CREATE DATABASE to check for pre-existing subdirectoriesTom Lane2006-10-18
| | | | | | that conflict with the OID that we want to use for the new database. This avoids the risk of trying to remove files that maybe we shouldn't remove. Per gripe from Jon Lapham and subsequent discussion of 27-Sep.
* Fix up timetz input so that a date is required only when the specifiedTom Lane2006-10-18
| | | | | | | | timezone actually has a daylight-savings rule. This avoids breaking cases that used to work because they went through the DecodePosixTimezone code path. Per contrib regression failures (mea culpa for not running those yesterday...). Also document the already-applied change to allow GMT offsets up to 14 hours.
* Fix up some problems in handling of zic-style time zone names in datetimeTom Lane2006-10-17
| | | | | | | | | | | | | | input routines. Remove the former "DecodePosixTimezone" function in favor of letting the zic code handle POSIX-style zone specs (see tzparse()). In particular this means that "PST+3" now means the same as "-03", whereas it used to mean "-11" --- the zone abbreviation is effectively just a noise word in this syntax. Make sure that all named and POSIX-style zone names will be parsed as a single token. Fix long-standing bogosities in printing and input of fractional-hour timezone offsets (since the tzparse() code will accept these, we'd better make 'em work). Also correct an error in the original coding of the zic-zone-name patch: in "timestamp without time zone" input, zone names are supposed to be allowed but ignored, but the coding was such that the zone changed the interpretation anyway.
* Redesign the patch for allocation of shmem space and LWLocks for add-onTom Lane2006-10-15
| | | | | | | | modules; the first try was not usable in EXEC_BACKEND builds (e.g., Windows). Instead, just provide some entry points to increase the allocation requests during postmaster start, and provide a dedicated LWLock that can be used to synchronize allocation operations performed by backends. Per discussion with Marc Munro.
* Code and docs review for ALTER TABLE INHERIT/NO INHERIT patch.Tom Lane2006-10-13
|
* Fix infinite sleep and failes of send in Win32.Teodor Sigaev2006-10-13
| | | | | | | | | | | | | | | 1) pgwin32_waitforsinglesocket(): WaitForMultipleObjectsEx now called with finite timeout (100ms) in case of FP_WRITE and UDP socket. If timeout occurs then pgwin32_waitforsinglesocket() tries to write empty packet goes to WaitForMultipleObjectsEx again. 2) pgwin32_send(): add loop around WSASend and pgwin32_waitforsinglesocket(). The reason is: for overlapped socket, 'ok' result from pgwin32_waitforsinglesocket() isn't guarantee that socket is still free, it can become busy again and following WSASend call will fail with WSAEWOULDBLOCK error. See http://archives.postgresql.org/pgsql-hackers/2006-10/msg00561.php
* Fix mishandling of after-trigger state when a SQL function returns multipleTom Lane2006-10-12
| | | | | | | | | | rows --- if the surrounding query queued any trigger events between the rows, the events would be fired at the wrong time, leading to bizarre behavior. Per report from Merlin Moncure. This is a simple patch that should solve the problem fully in the back branches, but in HEAD we also need to consider the possibility of queries with RETURNING clauses. Will look into a fix for that separately.
* Update pg_hba.conf comment about documentation section.Bruce Momjian2006-10-11
|
* Repair incorrect check for coercion of unknown literal to ANYARRAY, a bugTom Lane2006-10-11
| | | | | | | | | | | | I introduced in 7.4.1 :-(. It's correct to allow unknown to be coerced to ANY or ANYELEMENT, since it's a real-enough data type, but it most certainly isn't an array datatype. This can cause a backend crash but AFAICT is not exploitable as a security hole. Per report from Michael Fuhr. Note: as fixed in HEAD, this changes a constant in the pg_stats view, resulting in a change in the expected regression outputs. The back-branch patches have been hacked to avoid that, so that pre-existing installations won't start failing their regression tests.
* Code review for LIKE INCLUDING CONSTRAINTS patch --- improve comments,Tom Lane2006-10-11
| | | | don't cheat on the raw-vs-cooked status of a constraint.
* Update Darwin dlopen() support to avoid deprecation warnings with latestTom Lane2006-10-08
| | | | | Apple developer tools. We now use dlopen directly if available, and fall back to the older code if not. Chris Campbell
* Add include needed for new getrusage() call.Bruce Momjian2006-10-08
|
* On Windows, we know the backend stack size limit because we have toTom Lane2006-10-08
| | | | | specify it explicitly in backend/Makefile. Arrange for this value to be known by get_stack_depth_rlimit() too. Per suggestion from Magnus.
* Added missing entry (CASCADED) in keywords table.Peter Eisentraut2006-10-07
|
* When planning a query at Bind time, be careful to pass the correctTom Lane2006-10-07
| | | | | query_list into the Portal, ie, the one seen and possibly modified by the planner. My fault :-( Per report from Sergey Koposov.
* On platforms that have getrlimit(RLIMIT_STACK), use it to ensure thatTom Lane2006-10-07
| | | | | | | | max_stack_depth is not set to an unsafe value. This commit also provides configure-time checking for <sys/resource.h>, and cleans up some perhaps-unportable code associated with use of that include file and getrlimit().
* Adjust HINT for stack depth limit to mention checking the underlyingTom Lane2006-10-07
| | | | | | platform limit, rather than just blindly raising max_stack_depth. Also, tweak the code to work properly if someone sets max_stack_depth to more than 2Gb, which guc.c will allow on a 64-bit machine.
* Fix string_to_array() to correctly handle the case where there areTom Lane2006-10-07
| | | | | | | | | | | overlapping possible matches for the separator string, such as string_to_array('123xx456xxx789', 'xx'). Also, revise the logic of replace(), split_part(), and string_to_array() to avoid O(N^2) work from redundant searches and conversions to pg_wchar format when there are N matches to the separator string. Backpatched the full patch as far as 8.0. 7.4 also has the bug, but the code has diverged a lot, so I just went for a quick-and-dirty fix of the bug itself in that branch.
* Fix SysCacheGetAttr() to handle the case where the specified syscache has notTom Lane2006-10-06
| | | | | | | | | | | been initialized yet. This can happen because there are code paths that call SysCacheGetAttr() on a tuple originally fetched from a different syscache (hopefully on the same catalog) than the one specified in the call. It doesn't seem useful or robust to try to prevent that from happening, so just improve the function to cope instead. Per bug#2678 from Jeff Trout. The specific example shown by Jeff is new in 8.1, but to be on the safe side I'm backpatching 8.0 as well. We could patch 7.x similarly but I think that's probably overkill, given the lack of evidence of old bugs of this ilk.
* Message style improvementsPeter Eisentraut2006-10-06
|
* Cleanup for pglz_compress code: remove dead code, const-ify API ofTom Lane2006-10-05
| | | | | | remaining functions, simplify pglz_compress's API to not require a useless data copy when compression fails. Also add a check in pglz_decompress that the expected amount of data was decompressed.
* Make use of qsort_arg in several places that were formerly using klugyTom Lane2006-10-05
| | | | | | static variables. This avoids any risk of potential non-reentrancy, and in particular offers a much cleaner workaround for the Intel compiler bug that was affecting ginutil.c.
* Work around buggy strtod on (some versions of?) IRIX. Combination ofTom Lane2006-10-05
| | | | proposed patches from John Jorgensen and Steve Singer.
* Fix comment to agree with presentation.Tom Lane2006-10-04
|
* pgindent run for 8.2.Bruce Momjian2006-10-04
|
* Switch over to using our own qsort() all the time, as has been proposedTom Lane2006-10-03
| | | | | | | | | | repeatedly. Now that we don't have to worry about memory leaks from glibc's qsort, we can safely put CHECK_FOR_INTERRUPTS into the tuplesort comparators, as was requested a couple months ago. Also, get rid of non-reentrancy and an extra level of function call in tuplesort.c by providing a variant qsort_arg() API that passes an extra void * argument through to the comparison routine. (We might want to use that in other places too, I didn't look yet.)
* Improve numeric overflow error message.Bruce Momjian2006-10-03
| | | | David Fetter
* Make some sentences consistent with similar ones.Bruce Momjian2006-10-03
| | | | Euler Taveira de Oliveira
* The attached patch changes units of the some default values inBruce Momjian2006-10-03
| | | | | | | | | | | | | | | | | | | postgresql.conf. - shared_buffers = 32000kB => 32MB - temp_buffers = 8000kB => 8MB - wal_buffers = 8 => 64kB The code of initdb was a bit modified to write MB-unit values. Values greater than 8000kB are rounded out to MB. GUC_UNIT_XBLOCKS is added for wal_buffers. It is like GUC_UNIT_BLOCKS, but uses XLOG_BLCKSZ instead of BLCKSZ. Also, I cleaned up the test of GUC_UNIT_* flags in preparation to add more unit flags in less bits. ITAGAKI Takahiro
* Mention in postgresql.conf that autovacuum also needsBruce Momjian2006-10-03
| | | | | | stats_start_collector and stats_row_level to also be on David Wheeler
* Do a CHECK_FOR_INTERRUPTS after emitting a message of less than ERRORTom Lane2006-10-01
| | | | | | | severity. This is to ensure the user can cancel a query that's spitting out lots of notice/warning messages, even if they're coming from a loop that doesn't otherwise contain a CHECK_FOR_INTERRUPTS. Per gripe from Stephen Frost.
* Fix overly enthusiastic Assert introduced in 8.1: it's expecting aTom Lane2006-10-01
| | | | | CaseTestExpr, but forgot that the optimizer is sometimes able to replace CaseTestExpr by Const.
* Allow assignment to array elements not contiguous with those alreadyTom Lane2006-09-29
| | | | | | | | | | present; intervening positions are filled with nulls. This behavior is required by SQL99 but was not implementable before 8.2 due to lack of support for nulls in arrays. I have only made it work for the one-dimensional case, which is all that SQL99 requires. It seems quite complex to get it right in higher dimensions, and since we never allowed extension at all in higher dimensions, I think that must count as a future feature addition not a bug fix.
* Fix IS NULL and IS NOT NULL tests on row-valued expressions to conform toTom Lane2006-09-28
| | | | | | | | | | | | the SQL spec, viz IS NULL is true if all the row's fields are null, IS NOT NULL is true if all the row's fields are not null. The former coding got this right for a limited number of cases with IS NULL (ie, those where it could disassemble a ROW constructor at parse time), but was entirely wrong for IS NOT NULL. Per report from Teodor. I desisted from changing the behavior for arrays, since on closer inspection it's not clear that there's any support for that in the SQL spec. This probably needs more consideration.
* Replace strncpy with strlcpy in selected places that seem possibly relevantTom Lane2006-09-27
| | | | | | | to performance. (A wholesale effort to get rid of strncpy should be undertaken sometime, but not during beta.) This commit also fixes dynahash.c to correctly truncate overlength string keys for hashtables, so that its callers don't have to anymore.
* Degrade the transaction-id wraparound point message from LOG to DEBUG1, perAlvaro Herrera2006-09-26
| | | | | | discussion. Patch from Simon Riggs.
* Increase default value of effective_cache_size to 128MB, per discussion.Tom Lane2006-09-25
|
* Add a check to prevent overwriting valid data if smgrnblocks() gives aTom Lane2006-09-25
| | | | | | wrong answer, as has been seen to occur with a buggy Linux kernel. Not really our bug, but it's a simple test in a seldom-used control path, so might as well have a defense.
* Fix notice message from DROP FUNCTION IF EXISTS, and improve messageTom Lane2006-09-25
| | | | for DROP AGGREGATE IF EXISTS. Per report from Teodor.
* Fix pg_locks view to call advisory locks advisory locks, while preservingTom Lane2006-09-22
| | | | | backward compatibility for anyone using the old userlock code that's now on pgfoundry --- locks from that code still show as 'userlock'.
* Fix bugs in plpgsql and ecpg caused by assuming that isspace() would onlyTom Lane2006-09-22
| | | | | | | | | return true for exactly the characters treated as whitespace by their flex scanners. Per report from Victor Snezhko and subsequent investigation. Also fix a passel of unsafe usages of <ctype.h> functions, that is, ye olde char-vs-unsigned-char issue. I won't miss <ctype.h> when we are finally able to stop using it.
* Add units to the default postgresql.conf. For the most part, this shouldPeter Eisentraut2006-09-22
| | | | | match what SHOW displays as default value, to make the user experience uniform.
* Fix free space map to correctly track the total amount of FSM space neededTom Lane2006-09-21
| | | | | | | even when a single relation requires more than max_fsm_pages pages. Also, make VACUUM emit a warning in this case, since it likely means that VACUUM FULL or other drastic corrective measure is needed. Per reports from Jeff Frost and others of unexpected changes in the claimed max_fsm_pages need.
* Change patternsel (LIKE/regex selectivity estimation) so that if thereTom Lane2006-09-20
| | | | | | | | | is a large enough histogram, it will use the number of matches in the histogram to derive a selectivity estimate, rather than the admittedly pretty bogus heuristics involving examining the pattern contents. I set 'large enough' at 100, but perhaps we should change that later. Also apply the same technique in contrib/ltree's <@ and @> estimator. Per discussion with Stefan Kaltenbrunner and Matteo Beccati.
* Improve usage of effective_cache_size parameter by assuming that all theTom Lane2006-09-19
| | | | | | | | | | | tables in the query compete for cache space, not just the one we are currently costing an indexscan for. This seems more realistic, and it definitely will help in examples recently exhibited by Stefan Kaltenbrunner. To get the total size of all the tables involved, we must tweak the handling of 'append relations' a bit --- formerly we looked up information about the child tables on-the-fly during set_append_rel_pathlist, but it needs to be done before we start doing any cost estimation, so push it into the add_base_rels_to_query scan.
* Add built-in userlock manipulation functions to replace the formerTom Lane2006-09-18
| | | | | | | contrib functionality. Along the way, remove the USER_LOCKS configuration symbol, since it no longer makes any sense to try to compile that out. No user documentation yet ... mmoncure has promised to write some. Thanks to Abhijit Menon-Sen for creating a first draft to work from.