summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-09-18Add built-in userlock manipulation functions to replace the formerTom Lane
contrib functionality. Along the way, remove the USER_LOCKS configuration symbol, since it no longer makes any sense to try to compile that out. No user documentation yet ... mmoncure has promised to write some. Thanks to Abhijit Menon-Sen for creating a first draft to work from.
2006-09-18Fix problems with column name list of CREATE TABLE AS being applied toTom Lane
the input query's target list too soon, causing it to affect processing of ORDER BY in the input query.
2006-09-18Fix CREATE TABLE ... AS VALUES ... to work rather than Assert'ing;Tom Lane
oversight in original implementation of VALUES. Also fix an oversight in recent addition of options to CREATE TABLE AS: they weren't getting propagated if the query was a set-operation such as UNION.
2006-09-17Change ANALYZE to take ShareUpdateExclusiveLock not AccessShareLock onTom Lane
the table being analyzed. This prevents two ANALYZEs from running concurrently on the same table and possibly suffering concurrent-update failures while trying to store their results into pg_statistic. The downside is that a database-wide ANALYZE executed within a transaction block will hold ShareUpdateExclusiveLock on many tables simultaneously, which could lead to concurrency issues or even deadlock against another such ANALYZE. However, this seems a corner case of less importance than getting unexpected errors from a foreground ANALYZE when autovacuum elects to analyze the same table concurrently. Per discussion.
2006-09-17Marginal cleanup in arrangements for ensuring StrategyHintVacuum is clearedTom Lane
after an error during VACUUM. We have a PG_TRY block anyway around the only call sites, so just reset it in the CATCH clause instead of having AtEOXact_Buffers blindly do it during xact end. I think the old code was actively wrong for the case of a failure during ANALYZE inside a subtransaction --- the flag wouldn't get cleared until main transaction end. Probably not worth back-patching though.
2006-09-16Rename the recently-added pg_timezonenames view to pg_timezone_abbrevs,Tom Lane
and create a new view pg_timezone_names that provides information about the zones known in the 'zic' database. Magnus Hagander, with some additional work by Tom Lane.
2006-09-16Update timezone data files to release 2006k of the zic database.Tom Lane
2006-09-16Define errcode as __msvc_errcode not __vc_errcode for MSVC builds,Tom Lane
per Magnus.
2006-09-15Several fixes for MSVC build scripts, from Magnus.Tom Lane
2006-09-15Fix some uses of str[n]casecmp that should be pg_str[n]casecmp,Tom Lane
per Magnus.
2006-09-15Remove WINLDAPAPI decoration from ldap_start_tls_sA typedef, per Magnus.Tom Lane
2006-09-15Improve confusing comment for HeapTupleSatisfiesNow, per gripe from Greg Stark.Tom Lane
2006-09-14Make postgresql.conf.sample match the initdb defaults. This fixesBruce Momjian
comment alignment on most systems.
2006-09-14Add a couple of information functions to support direct checks on whetherTom Lane
a schema is our own temp schema or another backend's temp schema, and use these in place of some former kluges in information_schema. Per my proposal of yesterday.
2006-09-14Improve error message. Per discussionTeodor Sigaev
http://archives.postgresql.org/pgsql-general/2006-09/msg00186.php
2006-09-14Cygwin systems seem to have a different error message when trying to connect ↵Michael Meskes
to port 0. Let's try port 20 instead.
2006-09-14Added missing constuctor/destructor for interval and date.Michael Meskes
2006-09-13Make logging of extended-protocol commands a bit more consistent, perTom Lane
discussion with Guillaume Smet.
2006-09-13Code review for patch to avoid second scan when vacuuming index-lessTom Lane
table: avoid invoking LockBufferForCleanup without need, put out the same log message we would have before, minor code beautification.
2006-09-12Seems this wasn't committed originallyMichael Meskes
2006-09-11Move set_pglocale_pgservice() from path.c to exec.c, so that pulling inTom Lane
path.c does not in itself force linking of both exec.c and libintl. Should fix current ecpglib build failure on pickier platforms.
2006-09-11Add LDAP_LIBS_FE to $(libpq) for static or AIX linking, per Albe Laurenz.Tom Lane
2006-09-11Ooops, forgot to update ecpg comparison files to matchTom Lane
source-code change.
2006-09-11Fix unportable usage complained of by icc. Per buildfarm results.Tom Lane
2006-09-10Remove unnecessary brace pair.Bruce Momjian
2006-09-10Back out patch added during 8.2.X development:Bruce Momjian
Allow to_char() "D" format specifiers for interval/time. It doesn't work, and I doubt it is useful enough to fix ("D" = day of week).
2006-09-10Install a cleaner solution to the AIX libpq linking problem, as perTom Lane
an earlier discussion. Centralize assumptions about what libpq depends on in one place in Makefile.global. I am unconvinced that this list is complete, but since ecpg seems to have gotten along with just these entries, we'll try it this way and see what happens.
2006-09-10If we're going to advertise the array overlap/containment operators,Tom Lane
we probably should make them work reliably for all arrays. Fix code to handle NULLs and multidimensional arrays, move it into arrayfuncs.c. GIN is still restricted to indexing arrays with no null elements, however.
2006-09-10Rename contains/contained-by operators to @> and <@, per discussion thatTom Lane
agreed these symbols are less easily confused. I made new pg_operator entries (with new OIDs) for the old names, so as to provide backward compatibility while making it pretty easy to remove the old names in some future release cycle. This commit only touches the core datatypes, contrib will be fixed separately.
2006-09-09Revise OpenLDAP configuration and linking to work on more platformsTom Lane
than before. Albe Laurenz (but editorialized heavily by me, so if it doesn't work it's my fault).
2006-09-08Fix pg_dump for recent change removing separate RULE privilege.Tom Lane
I had thought this code could be left alone, but I was wrong: as-is it's failing to recognize when to use ALL for table privileges in 8.2.
2006-09-08Put back plan-time check for trying to apply SELECT FOR UPDATE/SHARETom Lane
to a relation on the nullable side of an outer join. I had removed this during the outer join planning rewrite a few months ago ... I think I intended to put it somewhere else, but forgot ...
2006-09-08Tweak the behavior of log_duration as proposed by Guillaume Smet: ratherTom Lane
than being equivalent to setting log_min_duration_statement to zero, this option now forces logging of all query durations, but doesn't force logging of query text. Also, add duration logging coverage for fastpath function calls.
2006-09-08Not all C compilers understand the "//" comment in this test case, so I ↵Michael Meskes
removed it.
2006-09-08Replaced complex tests with small ones.Michael Meskes
2006-09-08More logic from complex/test* moved to their own testcases.Michael Meskes
2006-09-07Clean up logging for extended-query-protocol operations, as per my recentTom Lane
proposal. Parameter logging works even for binary-format parameters, and logging overhead is avoided when disabled. log_statement = all output for the src/test/examples/testlibpq3.c example now looks like LOG: statement: execute <unnamed>: SELECT * FROM test1 WHERE t = $1 DETAIL: parameters: $1 = 'joe''s place' LOG: statement: execute <unnamed>: SELECT * FROM test1 WHERE i = $1::int4 DETAIL: parameters: $1 = '2' and log_min_duration_statement = 0 results in LOG: duration: 2.431 ms parse <unnamed>: SELECT * FROM test1 WHERE t = $1 LOG: duration: 2.335 ms bind <unnamed> to <unnamed>: SELECT * FROM test1 WHERE t = $1 DETAIL: parameters: $1 = 'joe''s place' LOG: duration: 0.394 ms execute <unnamed>: SELECT * FROM test1 WHERE t = $1 DETAIL: parameters: $1 = 'joe''s place' LOG: duration: 1.251 ms parse <unnamed>: SELECT * FROM test1 WHERE i = $1::int4 LOG: duration: 0.566 ms bind <unnamed> to <unnamed>: SELECT * FROM test1 WHERE i = $1::int4 DETAIL: parameters: $1 = '2' LOG: duration: 0.173 ms execute <unnamed>: SELECT * FROM test1 WHERE i = $1::int4 DETAIL: parameters: $1 = '2' (This example demonstrates the folly of ignoring parse/bind steps for duration logging purposes, BTW.) Along the way, create a less ad-hoc mechanism for determining which commands are logged by log_statement = mod and log_statement = ddl. The former coding was actually missing quite a few things that look like ddl to me, and it did not handle EXECUTE or extended query protocol correctly at all. This commit does not do anything about the question of whether log_duration should be removed or made less redundant with log_min_duration_statement.
2006-09-07Update pgcvslog comments.Bruce Momjian
2006-09-07Specify lo_write() to take a _const_ buffer, to match documentation.Bruce Momjian
2006-09-07Changing a test case also changes the output that is expected.Michael Meskes
Float/Long aliasing doesn't work on all architecures.
2006-09-07Removed one output because integer/double usage differMichael Meskes
2006-09-07Update Emacs/vim editor info.Bruce Momjian
2006-09-06Change processing of extended-Query mode so that an unnamed statementTom Lane
that has parameters is always planned afresh for each Bind command, treating the parameter values as constants in the planner. This removes the performance penalty formerly often paid for using out-of-line parameters --- with this definition, the planner can do constant folding, LIKE optimization, etc. After a suggestion by Andrew@supernews.
2006-09-06Add interval division/multiplication regression tests.Bruce Momjian
Michael Glaesemann
2006-09-05Get rid of the separate RULE privilege for tables: now only a table's ownerTom Lane
can create or modify rules for the table. Do setRuleCheckAsUser() while loading rules into the relcache, rather than when defining a rule. This ensures that permission checks for tables referenced in a rule are done with respect to the current owner of the rule's table, whereas formerly ALTER TABLE OWNER would fail to update the permission checking for associated rules. Removal of separate RULE privilege is needed to prevent various scenarios in which a grantee of RULE privilege could effectively have any privilege of the table owner. For backwards compatibility, GRANT/REVOKE RULE is still accepted, but it doesn't do anything. Per discussion here: http://archives.postgresql.org/pgsql-hackers/2006-04/msg01138.php
2006-09-05Make Gen_fmgrtab.sh locale-proof. Per report from Marko Kreen andTom Lane
fix suggestion from Peter.
2006-09-05Fix Intel compiler bug. Per discussionTeodor Sigaev
'GIN FailedAssertions on Itanium2 with Intel compiler' in pgsql-hackers, http://archives.postgresql.org/pgsql-hackers/2006-08/msg01914.php
2006-09-05Lost some changes yet againMichael Meskes
2006-09-05Started to cleanup complex tests.Michael Meskes
Added some interval checks to regression suite.
2006-09-05Synced parser.Michael Meskes
Fixed ecpglib trying to read one character after end-of-string. Fixed port number setting in regression suite.