aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Somehow my version compiled but the change didn't make it to CVS.Michael Meskes2006-08-23
|
* Argh, forgot the new file yet again.Michael Meskes2006-08-23
|
* Replaced double-quote-fix with a hopefully better version.Michael Meskes2006-08-23
| | | | | Use initializer string length as size for character strings. Added ecpg_config.h file that is created via configure.
* Descriptor values were quoted twice.Michael Meskes2006-08-22
| | | | Fixed some regression test problems.
* In new "invalid byte sequence" error hint, call it "error", notBruce Momjian2006-08-22
| | | | "failure".
* Add hint for "invalid byte sequence for encoding" error message,Bruce Momjian2006-08-22
| | | | suggesting review of client_encoding.
* Ooops, ldap fix for win32 broke the non-win32 case.Tom Lane2006-08-22
|
* Fix encrypted-LDAP support so that it doesn't cause the server to failTom Lane2006-08-21
| | | | | entirely on older Windows platforms without the needed library function. Magnus Hagander
* Minor code rearrangement to save a few cycles in RI_FKey_check whenTom Lane2006-08-21
| | | | | the subject tuple is already deleted: we need not open the pk_rel until after we check that.
* Make the server track an 'XID epoch', that is, maintain higher-order bitsTom Lane2006-08-21
| | | | | | | | | of the transaction ID counter. Nothing is done with the epoch except to store it in checkpoint records, but this provides a foundation with which add-on code can pretend that XIDs never wrap around. This is a severely trimmed and rewritten version of the xxid patch submitted by Marko Kreen. Per discussion, the epoch counter seems the only part of xxid that really needs to be in the core server.
* Fixed a few memory leaks. One indeed was part of a loop.Michael Meskes2006-08-21
|
* Fix all known problems with pg_dump's handling of serial sequencesTom Lane2006-08-21
| | | | | | | | | | | | | | | | | | | | | by abandoning the idea that it should say SERIAL in the dump. Instead, dump serial sequences and column defaults just like regular ones. Add a new backend command ALTER SEQUENCE OWNED BY to let pg_dump recreate the sequence-to-column dependency that was formerly created "behind the scenes" by SERIAL. This restores SERIAL to being truly "just a macro" consisting of component operations that can be stated explicitly in SQL. Furthermore, the new command allows sequence ownership to be reassigned, so that old mistakes can be cleaned up. Also, downgrade the OWNED-BY dependency from INTERNAL to AUTO, since there is no longer any very compelling argument why the sequence couldn't be dropped while keeping the column. (This forces initdb, to be sure the right kinds of dependencies are in there.) Along the way, add checks to prevent ALTER OWNER or SET SCHEMA on an owned sequence; you can now only do this indirectly by changing the owning table's owner or schema. This is an oversight in previous releases, but probably not worth back-patching.
* Fix DROP OWNED BY to correctly consider the implicitly-deleted objects list forAlvaro Herrera2006-08-20
| | | | | | | | | | | | | each object to be deleted, instead of the previous hack that just skipped INTERNAL dependencies, which didn't really work. Per report from Tom Lane. To do this, introduce a new performMultipleDeletions entry point in dependency.c to delete multiple objects at once. The dependency code then has the responsability of tracking INTERNAL and AUTO dependencies as needed. Along the way, change ObjectAddresses so that we can allocate an ObjectAddress list from outside dependency.c and not have to export the internal representation.
* Fixed a few trivial memory leaks reported by Coverity just to test my setup.Michael Meskes2006-08-20
|
* Added another testMichael Meskes2006-08-19
|
* More SoC stuffMichael Meskes2006-08-19
|
* Suppress subquery pullup/pushdown when a subquery contains volatileTom Lane2006-08-19
| | | | | | functions in its targetlist, to avoid introducing multiple evaluations of volatile functions that textually appear only once. This is a slightly tighter version of Jaime Casanova's recent patch.
* Add a 'waiting' column to pg_stat_activity to carry the same informationTom Lane2006-08-19
| | | | | | | that ps_status provides by appending 'waiting' to the PS display. This completes the project of making it feasible to turn off process title updates and instead rely on pg_stat_activity. Per my suggestion a few weeks ago.
* Add PQdescribePrepared, PQdescribePortal, and related functions to libpqTom Lane2006-08-18
| | | | | to allow obtaining information about previously prepared statements and open cursors. Volkan Yazici
* Fixed a buffer overrun that was masked on Linux systems.Michael Meskes2006-08-18
|
* Now that we've rearranged relation open to get a lock before touchingTom Lane2006-08-18
| | | | | | the rel, it's easy to get rid of the narrow race-condition window that used to exist in VACUUM and CLUSTER. Did some minor code-beautification work in the same area, too.
* Changed lexer to no longer use the default rule.Michael Meskes2006-08-18
| | | | | Synced parser and keyword list. Fixed parsing of CONNECT statement so it accepts a C string again.
* 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)