aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Data transferred binary is now put into the variables verbatim.Michael Meskes2006-01-17
| | | | Also added a test case for a binary cursor.
* Improve comments about btree's use of ScanKey data structures: thereTom Lane2006-01-17
| | | | | | | | are two basically different kinds of scankeys, and we ought to try harder to indicate which is used in each place in the code. I've chosen the names "search scankey" and "insertion scankey", though you could make about as good an argument for "operator scankey" and "comparison function scankey".
* Improve constraint_name wording.Bruce Momjian2006-01-16
|
* Add markup for new constraint_name mention.Bruce Momjian2006-01-16
|
* Add documentaiotn mention that constraint names can be sentences thatBruce Momjian2006-01-16
| | | | can convey information to clients on constraint violation.
* Change the parameter_types column of the pg_prepared_statements to beNeil Conway2006-01-16
| | | | | | | | an array of regtype, rather than an array of OIDs. This is likely to be more useful to user, and the type OID can easily be obtained by casting a regtype value to OID. Per suggestion from Tom. Update the documentation and regression tests, and bump the catversion.
* When using GCC on AMD64 and PPC, ECPGget_variable() takes a va_list *, notNeil Conway2006-01-15
| | | | | | a va_list. Christof Petig's previous patch made this change, but neglected to update ecpglib/descriptor.c, resulting in a compiler warning (and a likely runtime crash) on AMD64 and PPC.
* Add regression tests to verify that domain constraints on parametersNeil Conway2006-01-15
| | | | | to prepared statements with unknown type are correctly enforced, per recent bug report.
* Allow the types of parameters to PREPARE to be inferred. If a parameter'sNeil Conway2006-01-15
| | | | | | data type is unspecified or is declared to be "unknown", the type will be inferred from the context in which the parameter is used. This was already possible for protocol-level prepared statements.
* Some minor code cleanup, falling out from the removal of rtree. SK_NEGATETom Lane2006-01-14
| | | | | | | | | | | | isn't being used anywhere anymore, and there seems no point in a generic index_keytest() routine when two out of three remaining access methods aren't using it. Also, add a comment documenting a convention for letting access methods define private flag bits in ScanKey sk_flags. There are no such flags at the moment but I'm thinking about changing btree's handling of "required keys" to use flag bits in the keys rather than a count of required key positions. Also, if some AM did still want SK_NEGATE then it would be reasonable to treat it as a private flag bit.
* Fix pg_ctl crash on "unregister" when a data directory is not specified.Peter Eisentraut2006-01-14
| | | | by Magnus Hagander
* Add selectivity-calculation code for RowCompareExpr nodes. Simplistic,Tom Lane2006-01-14
| | | | but a lot better than nothing at all ...
* Remove logic in XactLockTableWait() that attempted to mark a crashedTom Lane2006-01-13
| | | | | | | | | | | | | | transaction as aborted. Since we only call XactLockTableWait on XIDs that we believe to be currently running, the odds of this code ever actually firing are minimal. It's certainly unnecessary, since a transaction that's not either running or committed will be presumed aborted anyway. What's more, it's not hard to imagine scenarios where this could result in corrupting pg_clog: for instance, if a bogus XID somehow got passed to XactLockTableWait. I think the code probably dates from the ancient era when we didn't have TransactionIdIsInProgress; back then it may have been necessary, but now I think it's a waste of cycles and potentially dangerous. Per discussion with Qingqing Zhou and Karsten Hilbert.
* Document that CREATE OPERATOR CLASS amounts to granting public executeTom Lane2006-01-13
| | | | | | | | | | permissions on the functions and operators contained in the opclass. Since we already require superuser privilege to create an operator class, there's no expansion-of-privilege hazard here, but if someone were to get the idea of building an opclass containing functions that need security restrictions, we'd better warn them off. Also, change the permission checks from have-execute-privilege to have-ownership, and then comment them all out since they're dead code anyway under the superuser restriction.
* Require the issuer of CREATE TYPE to own the functions mentioned in theTom Lane2006-01-13
| | | | | | | | | | | | type definition. Because use of a type's I/O conversion functions isn't access-checked, CREATE TYPE amounts to granting public execute permissions on the functions, and so allowing it to anybody means that someone could theoretically gain access to a function he's not supposed to be able to execute. The parameter-type restrictions already enforced by CREATE TYPE make it fairly unlikely that this oversight is meaningful in practice, but still it seems like a good idea to plug the hole going forward. Also, document the implicit grant just in case anybody gets the idea of building I/O functions that might need security restrictions.
* We neglected to apply domain constraints on UNKNOWN parameters toNeil Conway2006-01-12
| | | | prepared statements, per report from David Wheeler.
* Clear up remaining compile warning for plperl on Windows.Andrew Dunstan2006-01-12
|
* mbutils was previously doing some allocations, including invokingNeil Conway2006-01-12
| | | | | | | | | | fmgr_info(), in the TopMemoryContext. I couldn't see that the code actually leaked, but in general I think it's fragile to assume that pfree'ing an FmgrInfo along with its fn_extra field is enough to reclaim all the resources allocated by fmgr_info(). I changed the code to do its allocations in a new child context of TopMemoryContext, MbProcContext. When we want to release the allocations we can just reset the context, which is cleaner.
* Repair "Halloween problem" in EvalPlanQual: a tuple that's been inserted byTom Lane2006-01-12
| | | | | | | | our own command (or more generally, xmin = our xact and cmin >= current command ID) should not be seen as good. Else we may try to update rows we already updated. This error was inserted last August while fixing the even bigger problem that the old coding wouldn't see *any* tuples inserted by our own transaction as good. Per report from Euler Taveira de Oliveira.
* Use a more bulletproof test for whether finite() and isinf() are present.Tom Lane2006-01-12
| | | | | | | | It seems that recent gcc versions can optimize away calls to these functions even when the functions do not exist on the platform, resulting in a bogus positive result. Avoid this by using a non-constant argument and ensuring that the function result is not simply discarded. Per report from François Laupretre.
* Remove extraneous backslash from 'fixseq.sql' example --- mea culpaTom Lane2006-01-12
| | | | certainly. Per report from George Woodring.
* Update comment about outer joins in description of geqo_threshold.Tom Lane2006-01-11
|
* Documentation tweak: add spaces around the brackets in the descriptionNeil Conway2006-01-11
| | | | | of the CREATE CONVERSION syntax, for consistency with the other SQL reference pages.
* Brace cleanup.Bruce Momjian2006-01-11
|
* Done:Bruce Momjian2006-01-11
| | | | > * -Add sleep() function, remove from regress.c
* Create a standard function pg_sleep() to sleep for a specified amount of time.Tom Lane2006-01-11
| | | | | Replace the former ad-hoc implementation used in the regression tests. Joachim Wieland
* Cosmetic code cleanup: fix a bunch of places that used "return (expr);"Neil Conway2006-01-11
| | | | | | rather than "return expr;" -- the latter style is used in most of the tree. I kept the parentheses when they were necessary or useful because the return expression was complex.
* Remove a confusing pair of parentheses.Neil Conway2006-01-11
|
* Improve error messages for missing-FROM-entry cases, as per recent discussion.Tom Lane2006-01-10
|
* Minor code clarity improvement: AFAICS, estate.eval_econtext must beNeil Conway2006-01-10
| | | | | | non-NULL during the guts of plpgsql_exec_trigger() and plpgsql_exec_function(). Therefore, we can remove the NULL check, per discussion on -patches.
* Improve patternsel() by applying the operator itself to each valueTom Lane2006-01-10
| | | | | | | | | listed in the column's most-common-values statistics entry. This gives us an exact selectivity result for the portion of the column population represented by the MCV list, which can be a big leg up in accuracy if that's a large fraction of the population. The heuristics involving pattern contents and prefix are applied only to the part of the population not included in the MCV list.
* remove unneeded defines for uid_t and gid_t, which conflict with perl's ↵Andrew Dunstan2006-01-10
| | | | typedefs.
* In PLy_function_build_args(), the code loops repeatedly, constructingNeil Conway2006-01-10
| | | | | | | | | | | | | | | | one argument at a time and then inserting the argument into a Python list via PyList_SetItem(). This "steals" the reference to the argument: that is, the reference to the new list member is now held by the Python list itself. This works fine, except if an elog occurs. This causes the function's PG_CATCH() block to be invoked, which decrements the reference counts on both the current argument and the list of arguments. If the elog happens to occur during the second or subsequent iteration of the loop, the reference count on the current argument will be decremented twice. The fix is simple: set the local pointer to the current argument to NULL immediately after adding it to the argument list. This ensures that the Py_XDECREF() in the PG_CATCH() block doesn't double-decrement.
* Done:Bruce Momjian2006-01-09
| | | | | < * %Allow pooled connections to list all prepared statements > * -%Allow pooled connections to list all prepared statements
* Fix pg_dump to add the required OPERATOR() decoration to schema-qualifiedTom Lane2006-01-09
| | | | | | operator names. This is needed when dumping operator definitions that have COMMUTATOR (or similar) links to operators in other schemas. Apparently Daniel Whitter is the first person ever to try this :-(
* Change allow_system_table_mods to PGC_POSTMASTER, restoring previousPeter Eisentraut2006-01-09
| | | | behavior.
* Minor code cleanup for PL/Python: fixup some strangely formatted comments,Neil Conway2006-01-09
| | | | | and change two elogs into ereports because they could actually occur in practice.
* Rationalise perl header inclusions via a common include file, which alsoAndrew Dunstan2006-01-08
| | | | | | declares routines in plperl.c and spi_internal.c used in other files. Along the way, also stop perl from hijacking stdio and other stuff on Windows.
* Fix the assert_enabled issue properly. This eliminates the former ABITom Lane2006-01-08
| | | | | difference between USE_ASSERT_CHECKING and not: the assert_enabled variable is always there.
* Recent patch broke guc.c for non-USE_ASSERT_CHECKING case. PerTom Lane2006-01-08
| | | | Stefan Kaltenbrunner.
* Avoid leaking memory while reading toasted entries from pg_rewrite,Tom Lane2006-01-08
| | | | | | | and nail a couple more system indexes into cache. This doesn't make any difference in normal system operation, but when forcing constant cache resets it's difficult to get through the rules regression test without these changes.
* Add a new system view, pg_prepared_statements, that can be used toNeil Conway2006-01-08
| | | | | | | | | | | | | | | | access information about the prepared statements that are available in the current session. Original patch from Joachim Wieland, various improvements by Neil Conway. The "statement" column of the view contains the literal query string sent by the client, without any rewriting or pretty printing. This means that prepared statements created via SQL will be prefixed with "PREPARE ... AS ", whereas those prepared via the FE/BE protocol will not. That is unfortunate, but discussion on -patches did not yield an efficient way to improve this, and there is some merit in returning exactly what the client sent to the backend. Catalog version bumped, regression tests updated.
* Add RelationOpenSmgr() calls to ensure rd_smgr is valid when we try toTom Lane2006-01-07
| | | | | | use it. While it normally has been opened earlier during btree index build, testing shows that it's possible for the link to be closed again if an sinval reset occurs while the index is being built.
* Add comment explaining why RelationOpenSmgr() call is not needed.Tom Lane2006-01-07
|
* During CatCacheRemoveCList, we must now remove any members that areTom Lane2006-01-07
| | | | | | | | | dead and have become unreferenced. Before 8.1, such members were left for AtEOXact_CatCache() to clean up, but now AtEOXact_CatCache isn't supposed to have anything to do. In an assert-enabled build this bug leads to an assertion failure at transaction end, but in a non-assert build the dead member is effectively just a small memory leak. Per report from Jeremy Drake.
* Fix failure to apply domain constraints to a NULL constant that's added toTom Lane2006-01-06
| | | | an INSERT target list during rule rewriting. Per report from John Supplee.
* Use RELKIND_COMPOSITE_TYPE rather than hardcoded 'c'.Bruce Momjian2006-01-06
|
* Release-note updates and copy editing.Tom Lane2006-01-06
|
* Fix Windows-only postmaster code to reject a connection request and continue,Tom Lane2006-01-06
| | | | | | | rather than elog(FATAL), when there is no more room in ShmemBackendArray. This is a security issue since too many connection requests arriving close together could cause the postmaster to shut down, resulting in denial of service. Reported by Yoshiyuki Asaba, fixed by Magnus Hagander.
* Fix broken markup.Tom Lane2006-01-06
|