aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Update Win32 CMD quoting rules information location, CMD /?, fromBruce Momjian2006-08-18
| | | | Magnus.
* Implement archive_timeout feature to force xlog file switches to occur no moreTom Lane2006-08-17
| | | | | | | | | | | than N seconds apart. This allows a simple, if not very high performance, means of guaranteeing that a PITR archive is no more than N seconds behind real time. Also make pg_current_xlog_location return the WAL Write pointer, add pg_current_xlog_insert_location to return the Insert pointer, and fix pg_xlogfile_name_offset to return its results as a two-element record instead of a smashed-together string, as per recent discussion. Simon Riggs
* Fix an oversight in mergejoin planning: the planner would reject aTom Lane2006-08-17
| | | | | | | | | mergejoin possibility where the inner rel was less well sorted than the outer (ie, it matches some but not all of the merge clauses that can work with the outer), if the inner path in question is also the overall cheapest path for its rel. This is an old bug, but I'm not sure it's worth back-patching, because it's such a corner case. Noted while investigating a test case from Peter Hardman.
* Teach convert_subquery_pathkeys() to handle the case where theTom Lane2006-08-17
| | | | | | | | subquery's pathkey is a RelabelType applied to something that appears in the subquery's output; for example where the subquery returns a varchar Var and the sort order is shown as that Var coerced to text. This comes up because varchar doesn't have its own sort operator. Per example from Peter Hardman.
* Put probes.o file in right directory, fixes dtrace compilationPeter Eisentraut2006-08-16
|
* Seems some C compilers think 'restrict' is a fully reserved word.Tom Lane2006-08-16
| | | | Per buildfarm results from warthog.
* Add a hack so that get_type_io_data() can work from bootstrap.c'sTom Lane2006-08-15
| | | | | | internal TypInfo table in bootstrap mode. This allows array_in and array_out to be used during early bootstrap, which eliminates the former obstacle to giving OUT parameters to built-in functions.
* Add hooks to allow debugging and performance measurement pluginsTom Lane2006-08-15
| | | | to instrument PL/pgSQL. Korry Douglas
* Add server support for "plugin" libraries that can be used for add-on tasksTom Lane2006-08-15
| | | | | | | | | | | | | | | | | | such as debugging and performance measurement. This consists of two features: a table of "rendezvous variables" that allows separately-loaded shared libraries to communicate, and a new GUC setting "local_preload_libraries" that allows libraries to be loaded into specific sessions without explicit cooperation from the client application. To make local_preload_libraries as flexible as possible, we do not restrict its use to superusers; instead, it is restricted to load only libraries stored in $libdir/plugins/. The existing LOAD command has also been modified to allow non-superusers to LOAD libraries stored in this directory. This patch also renames the existing GUC variable preload_libraries to shared_preload_libraries (after a suggestion by Simon Riggs) and does some code refactoring in dfmgr.c to improve clarity. Korry Douglas, with a little help from Tom Lane.
* Fixed a typo and made two mallocs Coverity friendly.Michael Meskes2006-08-15
|
* Sorry, forgot the new files.Michael Meskes2006-08-15
|
* Added lots of SoC stuff made by Joachim.Michael Meskes2006-08-15
| | | | | | Fixed broken newline on Windows. Fixed a nasty buffer underrun that only occured when using Informix no_indicator NULL setting on timestamps and intervals.
* Cause '*' and 'foo.*' notations to mark the referenced RTE(s) asTom Lane2006-08-14
| | | | | | | | | requiring read permissions. Up till now there was no possible case in which the RTEs wouldn't already have ACL_SELECT set ... but now that you can say something like 'INSERT INTO foo ... RETURNING *' this is an essential step. With this commit, a RETURNING clause adds the requirement for SELECT permissions on the target table if and only if the clause actually reads the value of at least one target-table column.
* Fix oversight in initial implementation of PORTAL_ONE_RETURNING mode: weTom Lane2006-08-14
| | | | | | | | | | cannot assume that there's exactly one Query in the Portal, as we can for ONE_SELECT mode, because non-SELECT queries might have extra queries added during rule rewrites. Fix things up so that we'll use ONE_RETURNING mode when a Portal contains one primary (canSetTag) query and that query has a RETURNING list. This appears to be a second showstopper reason for running the Portal to completion before we start to hand anything back --- we want to be sure that the rule-added queries get run too.
* Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checkingTom Lane2006-08-14
| | | | | | as per yesterday's proposal. Also make things a tad more orthogonal by adding the recent STRICT addition to EXECUTE INTO. Jonah Harris and Tom Lane
* When executing a list of queries derived from rule expansion,Tom Lane2006-08-14
| | | | | | | | | _SPI_execute_plan's return code should reflect the type of the query that is marked canSetTag, not necessarily the last one in the list. This is arguably a bug fix, but I'm hesitant to back-patch it because it's the sort of subtle change that might break someone's code, and it's best not to do that kind of thing in point releases.
* Remove hash_destroy calls in hash_create's failure paths. As noted byTom Lane2006-08-14
| | | | | | | a Coverity warning, these are risky since the hashtable isn't necessarily fully set up yet. They're unnecessary anyway: a deletable hashtable should be in a memory context that will be cleared following elog(ERROR). Per report from Martijn van Oosterhout.
* Revert (again) GUC patch to return commented fields to their defaultBruce Momjian2006-08-14
| | | | values, due to concern about the patch.
* Get rid of "lookahead" functionality in plpgsql's yylex() function,Tom Lane2006-08-14
| | | | | | | | | | | | | | | | | | | | | | and instead make the grammar production for the RETURN statement do the heavy lifting. The lookahead idea was copied from the main parser, but it does not work in plpgsql's parser because here gram.y looks explicitly at the scanner's yytext variable, which will be out of sync after a failed lookahead step. A minimal example is create or replace function foo() returns void language plpgsql as ' begin perform return foo bar; end'; which can be seen by testing to deliver "foo foo bar" to the main parser instead of the expected "return foo bar". This isn't a huge bug since RETURN is not found in the main grammar, but it could bite someone who tried to use "return" as an identifier. Back-patch to 8.1. Bug exists further back, but HEAD patch doesn't apply cleanly, and given the lack of field complaints it doesn't seem worth the effort to develop adjusted patches.
* Fix core dump in duration logging for a V3-protocol Execute messageTom Lane2006-08-13
| | | | | | when what's being executed is a COMMIT or ROLLBACK. Per report from Sergey Koposov. Backpatch to 8.1; 8.0 and before don't have the bug due to lack of any logging at all here.
* Cause psql to report both the returned data and the command status tagTom Lane2006-08-13
| | | | for INSERT/UPDATE/DELETE RETURNING. Per discussion.
* If test postmaster fails to start within 60 seconds, try to kill -9 itTom Lane2006-08-13
| | | | | so that it won't interfere with later trials. Per recent buildfarm experience. Anyone know how to do this on Windows?
* Extend 'guc' regression test to check manipulations of datestyle asTom Lane2006-08-13
| | | | | | | | well as vacuum_cost_delay. Since datestyle is a string variable, this exercises memory allocation issues that might not appear when modifying an integer GUC variable. Also, we can observe the side effects of changing datestyle to check that assign hooks are called at the right times.
* Original coding of 'returning' regression test inadvertently chose aTom Lane2006-08-13
| | | | | | nonunique join value, leading to plan-choice-dependent results ... and it seems some platforms will choose a different plan. Tweak the test so that it has well-defined results. Per report from Olivier Prenant.
* Back out plperl OUT hash/array parameter patch, again.Bruce Momjian2006-08-13
|
* Fix recent guc comment-to-default patch for custom variables.Bruce Momjian2006-08-13
|
* Applied patch for VPATH builds by Alvaro Herrera <alvherre@commandprompt.com>Michael Meskes2006-08-13
| | | | | Merged dyntest.pgc and dyntest2.pgc. Hopefully fixed the last Coverity reports (finally)
* Re-apply plperl patch that allows OUT parameters to be placed into PerlBruce Momjian2006-08-13
| | | | hash and array variables. (regression output updated)
* Recommit patch to allow commented GUC variables to return to theirBruce Momjian2006-08-13
| | | | default values.
* Re-apply guc cleanup patch, with memory allocation bugs fixed.Bruce Momjian2006-08-13
|
* Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING; this wasTom Lane2006-08-12
| | | | | | | | merely a matter of fixing the error check, since the underlying Portal infrastructure already handles it. This in turn allows these statements to be used in some existing plpgsql and plperl contexts, such as a plpgsql FOR loop. Also, do some marginal code cleanup in places that were being sloppy about distinguishing SELECT from SELECT INTO.
* Remove ancient, obsolete comment.Tom Lane2006-08-12
|
* Back out patch for plperl to handle OUT paramaters into arrays andBruce Momjian2006-08-12
| | | | hashes. Was causing regression failures.
* Back out patch to reorganize guc processing. Was causing regressionBruce Momjian2006-08-12
| | | | failures.
* Back out patch that allowed commented guc variables to return to theirBruce Momjian2006-08-12
| | | | default values. Was causing regression failures.
* Add INSERT/UPDATE/DELETE RETURNING, with basic docs and regression tests.Tom Lane2006-08-12
| | | | | | | | plpgsql support to come later. Along the way, convert execMain's SELECT INTO support into a DestReceiver, in order to eliminate some ugly special cases. Jonah Harris and Tom Lane
* Set Win32 server-size socket buffer to 32k, for performance reasons.Bruce Momjian2006-08-11
| | | | Yoshiyuki Asaba
* Allow commenting of variables in postgresql.conf to restore them toBruce Momjian2006-08-11
| | | | | | defaults. Zdenek Kotala
* Refactor GUC set_config_option function:Bruce Momjian2006-08-11
| | | | | | | | | | | | | | | | | | The main reason for refactoring was that set_config_option() was too overloaded function and its behavior did not consistent. Old version of set_config_function hides some messages. For example if you type: tcp_port = 5432.1 then old implementation ignore this error without any message to log file in the signal context (configuration reload). Main problem was that semantic analysis of postgresql.conf is not perform in the ProcessConfigFile function, but in the set_config_options *after* context check. This skipped check for variables with PG_POSTMASTER context. There was request from Joachim Wieland to add more messages about ignored changes in the config file as well. Zdenek Kotala
* plperl:Bruce Momjian2006-08-11
| | | | | | | Allow conversion from perl to postgresql array in OUT parameters. Second, allow hash form output from procedures with one OUT argument. Pavel Stehule
* Make the psql line counter 64-bit so it can handle files > 4gig lines.Bruce Momjian2006-08-11
| | | | David Fetter
* Fix UNION/INTERSECT/EXCEPT so that when two inputs being merged haveTom Lane2006-08-10
| | | | | | | same data type and same typmod, we show that typmod as the output typmod, rather than generic -1. This responds to several complaints over the past few years about UNIONs unexpectedly dropping length or precision info.
* Return inline to win32.h because code was OK, but keep additionalBruce Momjian2006-08-10
| | | | comment. 8.1.X is not affected by this commit.
* Move "#define inline __inline" from port/win32.h to c.h because Win32Bruce Momjian2006-08-10
| | | | | | interface builds like libpq need it. Backpatch addition to 8.1.X.
* Fix display of log duration so it is milliseconds.microseconds "ms".Bruce Momjian2006-08-10
| | | | Greg Sabino Mullane
* Fix inadequate makefile-fu in ecpg regression tests. I think thisTom Lane2006-08-09
| | | | will fix current platypus build failure.
* Round microseconds on setitimer upwards.Bruce Momjian2006-08-09
|
* On Win32, make minimum setitimer() sleep be 1ms, so sleeps < 1ms aren'tBruce Momjian2006-08-09
| | | | | | rounded down to zero. Backpatch to 8.1.X.
* Fix statement_timeout on Win32 so that it properly treats micro-secondsBruce Momjian2006-08-09
| | | | | | | | as micro-seconds, rather than as 100 microseconds, as it does now. This actually fixes all setitimer calls on Win32, but statement_timeout is the most visible fix. Backpatch to 8.1.X. 8.0 works as documented.
* Formatting improvement.Bruce Momjian2006-08-09
|