summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-04-02FATAL errors are meant to stop ecpg immediately, e.g. because the syntax isMichael Meskes
corrupted. This error, however, does is not a compilation problem but a runtime one, so we can keep compiling but still have to declare ERROR.
2010-04-01Don't pass an invalid file handle to dup2(). That causes a crash onHeikki Linnakangas
Windows, thanks to a feature in CRT called Parameter Validation. Backpatch to 8.2, which is the oldest version supported on Windows. In 8.2 and 8.3 also backpatch the earlier change to use DEVNULL instead of NULL_DEV #define for a /dev/null-like device. NULL_DEV was hard-coded to "/dev/null" regardless of platform, which didn't work on Windows, while DEVNULL works on all platforms. Restarting syslogger didn't work on Windows on versions 8.3 and below because of that.
2010-04-01Use a file of patterns of filenames to exclude from pgindent runs, instead ↵Andrew Dunstan
if using multiple invocations of egrep. Add perl ppport.h to the current list.
2010-04-01Zoltan beautified his hidden-variable-patch for ecpg. This also makes sure ↵Michael Meskes
we get an error message instead of a warning if the variable have different types.
2010-04-01Applied Zoltan's patch to make ecpg spit out warnings if a local variable ↵Michael Meskes
hides a global one with the same name.
2010-04-01Refer to max_wal_senders in a more consistent fashion.Robert Haas
The error message now makes explicit reference to the GUC that must be changed to fix the problem, using wording suggested by Tom Lane. Along the way, rename the GUC from MaxWalSenders to max_wal_senders for consistency and grep-ability.
2010-03-31Change recovery.conf.sample to match postgresql.conf by showing onlyBruce Momjian
default values, with example comments.
2010-03-31Give a more precise error message if a variable is re-used as cursor name in ↵Michael Meskes
ecpg.
2010-03-30Fix "constraint_exclusion = partition" logic so that it will also attemptTom Lane
constraint exclusion on an inheritance set that is the target of an UPDATE or DELETE query. Per gripe from Marc Cousin. Back-patch to 8.4 where the feature was introduced.
2010-03-30Change the retry-loop in standby mode to also try restoring files fromHeikki Linnakangas
pg_xlog directory. This is essential for replaying WAL records that were streamed from the master, after a standby server restart. If a corrupt record is seen in a file restored from the archive or streamed from the master, log it as a WARNING and keep retrying. If the corruption is permanent, and not just a glitch in the whatever copies the files to the archive or a network error not caught by CRC checks in TCP for example, we will keep retrying and logging the WARNING indefinitely. But that's better than shutting down completely, the standby is still useful for running read-only queries. In PITR the recovery ends at such a corrupt record, which is a bit questionable, but that's the behavior we had in previous releases and we don't feel like chaning it now. It does make sense for tools like pg_standby.
2010-03-30Message tuningPeter Eisentraut
2010-03-30Properly initialize local varaible inBruce Momjian
btree_xlog_delete_get_latestRemovedXid(). This variable was only tested in assert builds.
2010-03-30Add comma missing from postgresql.conf comment.Bruce Momjian
2010-03-29Edit recovery.conf.sample so it matches docs. Change standby_modeSimon Riggs
example to 'on or 'off' rather than 'true' or 'false', as shown in docs. Add restartpoint_command. Add section header for recovery target parameters, matching docs.
2010-03-28Rework join-removal logic as per recent discussion. In particular thisTom Lane
fixes things so that it works for cases where nested removals are possible. The overhead of the optimization should be significantly less, as well.
2010-03-28Derive latestRemovedXid for btree deletes by reading heap pages. TheSimon Riggs
WAL record for btree delete contains a list of tids, even when backup blocks are present. We follow the tids to their heap tuples, taking care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the understanding that they will always have xmin/xmax earlier than any LP_NORMAL tuples referred to by killed index tuples. Iff all tuples are LP_DEAD we return InvalidTransactionId. The heap relfilenode is added to the WAL record, requiring API changes to pass down the heap Relation. XLOG_PAGE_MAGIC updated.
2010-03-26Flush CopyOutResponse when starting streaming in walsender, so that it'sHeikki Linnakangas
not delayed until the first WAL record is sent. Fujii Masao
2010-03-25Modify some new and pre-existing messages for translatability.Simon Riggs
2010-03-25Prevent ALTER USER f RESET ALL from removing the settings that were put thereAlvaro Herrera
by a superuser -- "ALTER USER f RESET setting" already disallows removing such a setting. Apply the same treatment to ALTER DATABASE d RESET ALL when run by a database owner that's not superuser.
2010-03-24Additional thoughts on WALSender cpu reduction. Use long typeSimon Riggs
and alter a comment to reduce confusion.
2010-03-24Change replication connection log format to allow for a databaseSimon Riggs
called replication. Add host and port details, following format of messages in BackendInitialize().
2010-03-24Reduce CPU utilisation of WALSender process. Process was using 10% CPUSimon Riggs
doing nothing, caused by naptime specified in milliseconds yet units of pg_usleep() parameter is microseconds. Correctly specifying units reduces call frequency by 1000. Reduction in CPU consumption verified.
2010-03-24Fix thinko in log message for "sameuser" ident map mismatch: the providedTom Lane
and authenticated usernames were swapped. Reported by Bryan Henderson in bug #5386. Also clean up poorly-maintained header comment for this function.
2010-03-24Now that we know last_statrequest > last_statwrite can be observed in theTom Lane
buildfarm, expend a little more effort on the log message for it.
2010-03-24Mark "installcheck-parallel", "world", "install-world" and ↵Andrew Dunstan
"installcheck-world" make targets as PHONY. Fujii Masao.
2010-03-24Update description of walrcv_receive() function to match reality.Heikki Linnakangas
2010-03-24Document in postgresql.conf that the max_standby_delay default is 30Bruce Momjian
'seconds'.
2010-03-23Remove useless double assignmentPeter Eisentraut
GCC 4.5 complained about it.
2010-03-22Fix regression test breakage from recent change in default name of ↵Tom Lane
exclusion-constraint index.
2010-03-22Shorten suffix of automatically created indexes to "_excl" when usingSimon Riggs
exclusion constraints, in line with string length of other pre-9.0 suffixes.
2010-03-22Fix an oversight in join-removal optimization: we have to check not only forTom Lane
plain Vars that are generated in the inner rel and used above the join, but also for PlaceHolderVars. Per report from Oleg K.
2010-03-22Fixed ECPG regression test to make sure it uses absolute paths for includeMichael Meskes
files instead of relative ones which break vpath builds.
2010-03-21Adding special command line option that is now needed for the one ecpg ↵Michael Meskes
regression test that was changed.
2010-03-21ECPG's parser now accepts and handles variables as arguments for the FREE ↵Michael Meskes
command. Informix allows variables as argument to the embedded SQL command FREE. Given that we only allow freeing cursors via FREE for compatibility reasons only we should do the same.
2010-03-21Adjusted regression test results to the change I made in debug output for ↵Michael Meskes
ecpglib.
2010-03-21Correctly name functions in debug output in ecpglib. When the functions wereMichael Meskes
refactored the debug output wasn't adjusted.
2010-03-21ECPG only copied #include statements instead of processing them according toMichael Meskes
commandline option "-i". This change fixes this and adds a test case. It also honors #include_next, although this is probably never used for embedded SQL.
2010-03-21Message tuningPeter Eisentraut
2010-03-20Fixed ecpg parser to allow more than one C preprocessor command inside a ↵Michael Meskes
declare section.
2010-03-20Further corrections of mismatching struct and btree SizeOf macros.Simon Riggs
In this case, correction is to remove now unused fields from struct. Since these were unused and full of garbage anyway, no version change.
2010-03-20Clear error_context_stack and debug_query_string at the beginning of proc_exit,Tom Lane
so that we won't try to attach any context printouts to messages that get emitted while exiting. Per report from Dennis Koegel, the context functions won't necessarily work after we've started shutting down the backend, and it seems possible that debug_query_string could be pointing at freed storage as well. The context information doesn't seem particularly relevant to such messages anyway, so there's little lost by suppressing it. Back-patch to all supported branches. I can only demonstrate a crash with log_disconnections messages back to 8.1, but the risk seems real in 8.0 and before anyway.
2010-03-20Forbid renaming columns of objects whose column names are system-generated.Robert Haas
KaiGai Kohei, with adjustments to the comments.
2010-03-19Modify error context callback functions to not assume that they can fetchTom Lane
catalog entries via SearchSysCache and related operations. Although, at the time that these callbacks are called by elog.c, we have not officially aborted the current transaction, it still seems rather risky to initiate any new catalog fetches. In all these cases the needed information is readily available in the caller and so it's just a matter of a bit of extra notation to pass it to the callback. Per crash report from Dennis Koegel. I've concluded that the real fix for his problem is to clear the error context stack at entry to proc_exit, but it still seems like a good idea to make the callbacks a bit less fragile for other cases. Backpatch to 8.4. We could go further back, but the patch doesn't apply cleanly. In the absence of proof that this fixes something and isn't just paranoia, I'm not going to expend the effort.
2010-03-19Fix oversight in btpo.xact patch; it was in fact installing garbageTom Lane
in the xact field on replay, due to not writing out all the data in the wal log struct.
2010-03-19Add connection messages for streaming replication. log_connectionsSimon Riggs
was broken for a replication connection and no messages were displayed on either standby or primary, at any debug level. Connection messages needed to diagnose session drop/reconnect events. Use LOG mode for now, discuss lowering in later releases.
2010-03-19Minor tweaks on libpqrcv_connect(): ensure conninfo_repl[] isSimon Riggs
correctly sized and expand comment to explain otherwise undocumented use of replication connection parameter.
2010-03-19Update XLOG_PAGE_MAGIC to recognise WAL format changes.Simon Riggs
2010-03-19Adjust comment in .history file to match recovery target specified. CommentSimon Riggs
present since 8.0 was never fully meaningful, since two recovery targets cannot be specified. Refactor recovery target type to make this change and associated code easier to understand. No change in function. Bug report arising from internal support question.
2010-03-19Reset btpo.xact following recovery of btree delete page. Add btpo_xactSimon Riggs
field into WAL record and reset it from there, rather than using FrozenTransactionId which can lead to some corner case bugs. Problem report and suggested route to a fix from Heikki, details by me.
2010-03-18Also print the libpq error message when lo_create or lo_open failsPeter Eisentraut