summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-04-27Tab alignment cleanup.Bruce Momjian
2006-04-27Add underscores to SSL CERT macro names, for clarity and consistencyBruce Momjian
with be-secure.c.
2006-04-27Add SSL include needed for psql, after libpq adjustments.Bruce Momjian
2006-04-27Add support for SSL Certificate Revocation List (CRL) files, root.crl.Bruce Momjian
Libor Hoho?
2006-04-27plpython improvements:Bruce Momjian
1) named parameters additionally to args[] 2) return composite-types from plpython as dictionary 3) return result-set from plpython as list, iterator or generator Hannu Krosing Sven Suursoho
2006-04-27Change libpq's PQgetssl() to return a void*, rather than SSL *, so thatBruce Momjian
applications don't need the SSL headers. Martijn van Oosterhout
2006-04-27If we're going to expose VariableStatData for contrib modules to use,Tom Lane
then we should export a reasonable set of the supporting routines too.
2006-04-27Remove unused function SSL_CTX_set_tmp_dh_callback() from libpq:Bruce Momjian
In the SSL code in libpq it does some processing with DH parameters: SSL_CTX_set_tmp_dh_callback() This function is marked as server use only[1], the client always uses the DH parameters in the server, so all the code in the client dealing with the DH parameters is useless. This patch removes it. It's not clear why the code was added in the first place, it's been there almost since the beginning[2]. At the time there was a suggestion of merging the front-end and backend SSL code, but looking at the changes since, that seems unlikely. As a further example, the s_server program allows you to specify DH params, but s_client doesn't. In the GnuTLS documentation under gnutls_dh_params_generate2() it says[3]: Also note that the DH parameters are only useful to servers. Since clients use the parameters sent by the server, it's of no use to call this in client side.
2006-04-27Use schema search path to find the first matching contraint name for SETBruce Momjian
CONSTRAINT, rather than affecting all constraints in all schemas (which is what we used to do). Also allow schema specifications. Kris Jurka
2006-04-27Delay write of pg_stats file to once every five minutes, duringBruce Momjian
shutdown, or when requested by a backend: It changes so the file is only written once every 5 minutes (changeable of course, I just picked something) instead of once every half second. It's still written when the stats collector shuts down, just as before. And it is now also written on backend request. A backend requests a rewrite by simply sending a special stats message. It operates on the assumption that the backends aren't actually going to read the statistics file very often, compared to how frequent it's written today. Magnus Hagander
2006-04-26Add tablespace display to psql \l+.Bruce Momjian
Philip Yarra
2006-04-26Move ltree parentsel() selectivity function into /contrib/ltree.Bruce Momjian
2006-04-26In pg_resetxlog.c, uint -> uint32, for Win32 port.Bruce Momjian
2006-04-26Add missing ControlFile.checkPointCopy.ThisTimeLineID line for 'guess'Bruce Momjian
pg_resetxlog. Simon
2006-04-26Update catalog version for ltree changes.Bruce Momjian
2006-04-26Enhanced containment selectivity function for /contrib/ltreeBruce Momjian
Matteo Beccati
2006-04-26Allow pg_resetxlog -f to reset pg_control counters using xlogBruce Momjian
information, and add a -r option to reset pg_control without affecting xlog. yuanjia lee
2006-04-26Revise large-object access routines to avoid running with CurrentMemoryContextTom Lane
set to the large object context ("fscxt"), as this is inevitably a source of transaction-duration memory leaks. Not sure why we'd not noticed it before; maybe people weren't touching a whole lot of LOs in the same transaction before the 8.1 pg_dump changes. Per report from Wayne Conrad. Backpatched as far as 8.1, but the problem doubtless goes all the way back. I'm disinclined to spend the time to try to verify that the older branches would still work if patched, seeing that this code was significantly modified for 8.0 and again for 8.1, and that we don't have any trouble reports before 8.1. (Maybe the leaks were smaller before?)
2006-04-25Arrange to cache btree metapage data in the relcache entry for the index,Tom Lane
thereby saving a visit to the metapage in most index searches/updates. This wouldn't actually save any I/O (since in the old regime the metapage generally stayed in cache anyway), but it does provide a useful decrease in bufmgr traffic in high-contention scenarios. Per my recent proposal.
2006-04-25The 8.1 planner removes WHERE quals from the plan when the quals areTom Lane
implied by the predicate of a partial index being used to scan a table. However, this optimization is unsafe in an UPDATE, DELETE, or SELECT FOR UPDATE query, because the quals need to be rechecked by EvalPlanQual if there's an update conflict. Per example from Jean-Samuel Reynaud.
2006-04-25Back out RESET CONNECTION until there is more discussion.Bruce Momjian
2006-04-25Add RESET CONNECTION, to reset all aspects of a session.Bruce Momjian
Hans-J?rgen Sch?nig
2006-04-25Add statement_timestamp(), clock_timestamp(), andBruce Momjian
transaction_timestamp() (just like now()). Also update statement_timeout() to mention it is statement arrival time that is measured. Catalog version updated.
2006-04-24Back out patch, unintended.Bruce Momjian
2006-04-24Done:Bruce Momjian
o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO SECOND
2006-04-24Suppress more compiler warnings caused by macro tests.Bruce Momjian
2006-04-24Add one more paren to macro.Bruce Momjian
2006-04-24Suprress compiler warning in gcc 4.2.Bruce Momjian
Report by Kris Jurka
2006-04-24Improve our private implementation of cbrt() to give results of theTom Lane
accuracy expected by the regression tests. Per suggestion from Martijn van Oosterhout.
2006-04-24Remove compiler warning by casting SNPRINTF() call to void.Bruce Momjian
Report from Gevik Babakhani.
2006-04-24Fixed memory leak bugs found by Martijn Oosterhout.Michael Meskes
2006-04-24Fixes for BCC 5.5 compile of libpq. Backpatch to 8.1.X.Bruce Momjian
Mark Morgan Lloyd
2006-04-24Don't add a shared dependency on the owner of a composite type in pg_class.Alvaro Herrera
We track the owner in pg_type instead, as that is the place where the owner is changed on ALTER TYPE ... OWNER TO.
2006-04-22Simplify ParamListInfo data structure to support only numbered parameters,Tom Lane
not named ones, and replace linear searches of the list with array indexing. The named-parameter support has been dead code for many years anyway, and recent profiling suggests that the searching was costing a noticeable amount of performance for complex queries.
2006-04-21Add some optional code (conditionally compiled under #ifdef LWLOCK_STATS)Tom Lane
to track the number of LWLock acquisitions and the number of times we block waiting for an LWLock, on a per-process basis. After having needed this twice in the past few months, seems like it should go into CVS.
2006-04-20Eliminate some no-longer-needed workarounds for palloc's old behaviorTom Lane
of rejecting palloc(0). Also, tweak like_selectivity() to avoid assuming the presented pattern is nonempty; although that assumption is valid, it doesn't really help much, and the new coding is more correct anyway since it properly handles redundant wildcards. In combination these changes should eliminate a Coverity warning noted by Martijn.
2006-04-20Add "retry another address" log message on statistics collector socketBruce Momjian
failure, to reduce confusion in the log file.
2006-04-20Ensure that we validate the page header of the first page of a WAL fileTom Lane
whenever we start to read within that file. The first page carries extra identification information that really ought to be checked, but as the code stood, this was only checked when we switched sequentially into a new WAL file, or if by chance the starting checkpoint record was within the first page. This patch ensures that we will detect bogus 'long header' information before we start replaying the WAL sequence.
2006-04-19Recognize __ppc64__, which seems to be Apple's spelling of the predefinedTom Lane
symbol for PPC64 hardware. I hadn't known that Apple supported PPC64 at all, but darn if there aren't 64-bit variant libraries in OS X as well as support in their gcc.
2006-04-19Fix problem that sscanf(buf, "%d", &val) eats leading white space, butBruce Momjian
our to_* functions were not handling that.
2006-04-19Remove use of lorder and tsort while building static libraries. There'sTom Lane
no evidence that any currently-supported platform needs this, and good reason to think that any platform that did need it couldn't use the static libraries anyway --- libpq, at least, has circular references. Removing the code shuts up tsort warnings about the circular references on some platforms.
2006-04-19Fix ancient memory leak in PQprintTuples(); our code no longer uses thisTom Lane
routine, but perhaps some applications do. Found by Martijn van Oosterhout using Coverity.
2006-04-19Fix a couple of rather-pointless-but-easily-fixed Coverity warnings.Tom Lane
Per Martijn van Oosterhout.
2006-04-19C code whitespace inprovement for formatting.c.Bruce Momjian
2006-04-18Document that errors are not output by log_statement (was they were inBruce Momjian
8.0), and add as suggestion to use log_min_error_statement for this purpose. I also fixed the code so the first EXECUTE has it's prepare, rather than the last which is what was in the current code. Also remove "protocol" prefix for SQL EXECUTE output because it is not accurate. Backpatch to 8.1.X.
2006-04-17Fix the torn-page hazard for PITR base backups by forcing full page writesTom Lane
to occur between pg_start_backup() and pg_stop_backup(), even if the GUC setting full_page_writes is OFF. Per discussion, doing this in combination with the already-existing checkpoint during pg_start_backup() should ensure safety against partial page updates being included in the backup. We do not have to force full page writes to occur during normal PITR operation, as I had first feared.
2006-04-15Support the syntaxTom Lane
CREATE AGGREGATE aggname (input_type) (parameter_list) along with the old syntax where the input type was named in the parameter list. This fits more naturally with the way that the aggregate is identified in DROP AGGREGATE and other utility commands; furthermore it has a natural extension to handle multiple-input aggregates, where the basetype-parameter method would get ugly. In fact, this commit fixes the grammar and all the utility commands to support multiple-input aggregates; but DefineAggregate rejects it because the executor isn't fixed yet. I didn't do anything about treating agg(*) as a zero-input aggregate instead of artificially making it a one-input aggregate, but that should be considered in combination with supporting multi-input aggregates.
2006-04-14Make the world safe for full_page_writes. Allow XLOG records that try toTom Lane
update no-longer-existing pages to fall through as no-ops, but make a note of each page number referenced by such records. If we don't see a later XLOG entry dropping the table or truncating away the page, complain at the end of XLOG replay. Since this fixes the known failure mode for full_page_writes = off, revert my previous band-aid patch that disabled that GUC variable.
2006-04-14Repair a low-probability race condition identified by Qingqing Zhou.Tom Lane
If a process abandons a wait in LockBufferForCleanup (in practice, only happens if someone cancels a VACUUM) just before someone else sends it a signal indicating the buffer is available, it was possible for the wakeup to remain in the process' semaphore, causing misbehavior next time the process waited for an lmgr lock. Rather than try to prevent the race condition directly, it seems best to make the lock manager robust against leftover wakeups, by having it repeat waiting on the semaphore if the lock has not actually been granted or denied yet.
2006-04-13Fix similar_escape() so that SIMILAR TO works properly for patterns involvingTom Lane
alternatives ("|" symbol). The original coding allowed the added ^ and $ constraints to be absorbed into the first and last alternatives, producing a pattern that would match more than it should. Per report from Eric Noriega. I also changed the pattern to add an ARE director ("***:"), ensuring that SIMILAR TO patterns do not change behavior if regex_flavor is changed. This is necessary to make the non-capturing parentheses work, and seems like a good idea on general principles. Back-patched as far as 7.4. 7.3 also has the bug, but a fix seems impractical because that version's regex engine doesn't have non-capturing parens.