summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-09-28Tweak initdb's text search configuration selection code so it canTom Lane
cope with LANG settings like 'es_ES@euro'.
2007-09-28exclude contrib/tsearch2 from regression tests.Andrew Dunstan
2007-09-27Turn build and vcregress .bat files into pure one line wrappers forAndrew Dunstan
the perl scripts. Remove the now superfluous getregress.pl.
2007-09-27Fix typos in two comments. Spotted by Brendan JurdTom Lane
2007-09-27Define the FRONTEND symbol in postgres_fe.h, which allows us to eliminateTom Lane
duplicative -DFRONTEND flags from many Makefiles. We still need Makefile control of the symbol in a few places that compile frontend-or-backend src/port/ files, but it's a lot cleaner than before. Hiroshi Saito
2007-09-27Add virtual transaction IDs to CSVLOG output, so that messages coming fromTom Lane
the same transaction can be identified even when no regular XID was assigned. This seems essential after addition of the lazy-XID patch. Also some minor code cleanup in write_csvlog().
2007-09-27Fix Assert failure in ExpandColumnRefStar --- what I thought was a can'tTom Lane
happen condition can happen given incorrect input. The real problem is that gram.y should try harder to distinguish * from "*" --- the latter is a legal column name per spec, and someday we ought to treat it that way. However fixing that is too invasive for a back-patch, and it's too late for the 8.3 cycle too. So just reduce the Assert to a plain elog for now. Per report from NikhilS.
2007-09-26Some small tuptoaster improvements from Greg Stark. Avoid unnecessaryTom Lane
decompression of an already-compressed external value when we have to copy it; save a few cycles when a value is too short for compression; and annotate various lines that are currently unreachable.
2007-09-26Minor improvements in backup and recovery:Tom Lane
- create a separate archive_mode GUC, on which archive_command is dependent - %r option in recovery.conf sends last restartpoint to recovery command - %r used in pg_standby, updated README - minor other code cleanup in pg_standby - doc on Warm Standby now mentions pg_standby and %r - log_restartpoints recovery option emits LOG message at each restartpoint - end of recovery now displays last transaction end time, as requested by Warren Little; also shown at each restartpoint - restart archiver if needed to carry away WAL files at shutdown Simon Riggs
2007-09-26Adjust the new memory limit in the lazy vacuum code to use MaxHeapTuplesPerPageAlvaro Herrera
tuples per page instead of fixed 200, to better cope with systems that use a different block size.
2007-09-26Create a function variable "join_search_hook" to let plugins override theTom Lane
join search order portion of the planner; this is specifically intended to simplify developing a replacement for GEQO planning. Patch by Julius Stroffek, editorialized on by me. I renamed make_one_rel_by_joins to standard_join_search and make_rels_by_joins to join_search_one_level to better reflect their place within this scheme.
2007-09-26Properly pass -c parameter to ecpg when building regression tests.Magnus Hagander
Per Michael.
2007-09-26Applied patch by ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> to get ↵Michael Meskes
prepare thread-safe.
2007-09-26Fix crash of to_tsvector() function on huge input: compareWORD()Teodor Sigaev
function didn't return correct result for word position greate than limit. Per report from Stuart Bishop <stuart@stuartbishop.net>
2007-09-26In the integer-datetimes case, date2timestamp and date2timestamptz needTom Lane
to check for overflow because the legal range of type date is actually wider than timestamp's. Problem found by Neil Conway.
2007-09-26Use SYSV semaphores rather than POSIX on Darwin >= 6.0 (i.e., OS X 10.2Tom Lane
and up), per Chris Marcellino. This avoids consuming O(N^2) file descriptors to support N backends. Tests suggest it's about a wash for small installations, but large ones would have a problem.
2007-09-25Change on-disk representation of NUMERIC datatype so that the sign_dscaleTom Lane
word comes before the weight instead of after. This will allow future binary-compatible extension of the representation to support compact formats, as discussed on pgsql-hackers around 2007/06/18. The reason to do it now is that we've already pretty well broken any chance of simple in-place upgrade from 8.2 to 8.3, but it's possible that 8.3 to 8.4 (or whenever we get around to squeezing NUMERIC) could otherwise be data-compatible.
2007-09-25Dept. of second thoughts: fix loop in BgBufferSync so that the exit whenTom Lane
bgwriter_lru_maxpages is exceeded leaves the loop variables in the expected state. In the original coding, we'd fail to advance next_to_clean, causing that buffer to be probably-uselessly rechecked next time, and also have an off-by-one idea of the number of buffers scanned.
2007-09-25Just-in-time background writing strategy. This code avoids re-scanningTom Lane
buffers that cannot possibly need to be cleaned, and estimates how many buffers it should try to clean based on moving averages of recent allocation requests and density of reusable buffers. The patch also adds a couple more columns to pg_stat_bgwriter to help measure the effectiveness of the bgwriter. Greg Smith, building on his own work and ideas from several other people, in particular a much older patch from Itagaki Takahiro.
2007-09-25Small string tweaksPeter Eisentraut
2007-09-24Use proper search for contrib makefiles in vcregress.plAndrew Dunstan
2007-09-24fix typo in vcregress.plAndrew Dunstan
2007-09-24Add comments re text <-> bytea internal equivalence in convert routines.Andrew Dunstan
2007-09-24Use correct PG_GETARG macro in pg_convertAndrew Dunstan
2007-09-24Avoid having autovacuum read pgstats data too many times in quick succession.Alvaro Herrera
This is problematic for the autovac launcher when there are many databases, so we keep data for a full second before reading it again.
2007-09-24Reduce the size of memory allocations by lazy vacuum when processing a smallAlvaro Herrera
table, by allocating just enough for a hardcoded number of dead tuples per page. The current estimate is 200 dead tuples per page. Per reports from Jeff Amiel, Erik Jones and Marko Kreen, and subsequent discussion. CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: commands/vacuumlazy.c CVS: ----------------------------------------------------------------------
2007-09-24Simplify and rename some GUC variables, per various recent discussions:Tom Lane
* stats_start_collector goes away; we always start the collector process, unless prevented by a problem with setting up the stats UDP socket. * stats_reset_on_server_start goes away; it seems useless in view of the availability of pg_stat_reset(). * stats_block_level and stats_row_level are merged into a single variable "track_counts", which controls all reports sent to the collector process. * stats_command_string is renamed to track_activities. * log_autovacuum is renamed to log_autovacuum_min_duration to better reflect its meaning. The log_autovacuum change is not a compatibility issue since it didn't exist before 8.3 anyway. The other changes need to be release-noted.
2007-09-24Remove "convert 'blah' using conversion_name" facility, because if itAndrew Dunstan
produces text it is an encoding hole and if not it's incompatible with the spec, whatever the spec means (which we're not sure about anyway).
2007-09-23Replace linear searches with binary searches in pg_dump's code toTom Lane
lookup objects by OID. Per gripe from nikitathespider.
2007-09-23Add perl replacements for build.bat and vcregress.bat. In due courseAndrew Dunstan
the .bat files will be altered to become tiny wrappers for these scripts, and one or two other .bat files will disappear.
2007-09-23Fix bugs in XML binary I/O functions. Heikki and TomTom Lane
2007-09-23Restrict overly broad searches, and fix typo, in recent fix. Per Hannes Eder.Andrew Dunstan
2007-09-23Make autovacuum report the start time of its current activity inTom Lane
pg_stat_activity. Per gripe from Jim Nasby.
2007-09-23TransactionIdIsInProgress can skip scanning the ProcArray if the target XID isTom Lane
later than latestCompletedXid, per Florian Pflug. Also some minor improvements in the XIDCACHE_DEBUG code --- make sure each call of TransactionIdIsInProgress is counted one way or another.
2007-09-23Temporarily modify tsearch regression tests to suppress notice that comesTom Lane
out at erratic times, because it is creating a totally unacceptable level of noise in our buildfarm results. This patch can be reverted when and if the code is fixed to not issue notices during cache reload events.
2007-09-22Fix cost estimates for EXISTS subqueries that are evaluated as initPlansTom Lane
(because they are uncorrelated with the immediate parent query). We were charging the full run cost to the parent node, disregarding the fact that only one row need be fetched for EXISTS. While this would only be a cosmetic issue in most cases, it might possibly affect planning outcomes if the parent query were itself a subquery to some upper query. Per recent discussion with Steve Crawford.
2007-09-22Replace calls to external dir program with perlish globs and File::FindAndrew Dunstan
calls. Fixes complaint fron Hannes Eder, whose environment found a different dir program.
2007-09-22Fix erroneous Assert() in syslogger process start in EXEC_BACKEND case,Tom Lane
per ITAGAKI Takahiro. Also, rewrite syslogger_forkexec() in hopes of eliminating the confusion in the first place.
2007-09-22Fix bogus calculation of potential output string length in translate().Tom Lane
2007-09-22Parenthesize macro arguments safely. I see no bug among the currentTom Lane
uses of PG_DETOAST_DATUM_SLICE, but it's clearly trouble waiting to happen.
2007-09-22Although I'd misdiagnosed the reason for the recent failures onTom Lane
buildfarm member grebe, I see no reason to revert the 1-byte-header-friendly changes I made in varlena.c. Instead, tweak the code a little bit to get more advantage out of that.
2007-09-22Doh --- what's really happening on buildfarm member grebe is that itsTom Lane
malloc returns NULL for malloc(0). Defend against that case.
2007-09-22Go back to using a separate method for doing ILIKE for single byteAndrew Dunstan
character encodings that doesn't involve calling lower(). This should cure the performance regression in this case complained of by Guillaume Smet. It still leaves the horrid performance for multi-byte encodings introduced in 8.2, but there's no obvious solution for that in sight.
2007-09-22Fix varlena.c routines to allow 1-byte-header text values. This is nowTom Lane
demonstrably necessary for text_substring() since regexp_split functions may pass it such a value; and we might as well convert the whole file at once. Per buildfarm results (though I wonder why most machines aren't showing a failure).
2007-09-21Fix regex, LIKE, and some other second-rank text-manipulation functionsTom Lane
to not cause needless copying of text datums that have 1-byte headers. Greg Stark, in response to performance gripe from Guillaume Smet and ITAGAKI Takahiro.
2007-09-21Improve handling of prune/no-prune decisions by storing a page's oldestTom Lane
unpruned XMAX in its header. At the cost of 4 bytes per page, this keeps us from performing heap_page_prune when there's no chance of pruning anything. Seems to be necessary per Heikki's preliminary performance testing.
2007-09-21Change tqual.c tests to use !TransactionIdIsCurrentTransactionId, rather thanTom Lane
TransactionIdDidAbort, when handling the case that xmin is one of the current transaction's XIDs and the tuple has been deleted. xmax must also be one of the current transaction's XIDs, since no one else can see it yet, and it's cheaper to look at local state than shared state to find out if xmax aborted. Per an idea of Heikki's.
2007-09-21Make some simple performance improvements in TransactionIdIsInProgress().Tom Lane
For XIDs of our own transaction and subtransactions, it's cheaper to ask TransactionIdIsCurrentTransactionId() than to look in shared memory. Also, the xids[] work array is always the same size within any given process, so malloc it just once instead of doing a palloc/pfree on every call; aside from being faster this lets us get rid of some goto's, since we no longer have any end-of-function pfree to do. Both ideas by Heikki.
2007-09-21Fix comments that misspelled TransactionIdIsInProgress, per Heikki.Tom Lane
2007-09-21Removed superfluous ECPGfree() call.Michael Meskes