Commit Graph

26516 Commits

Author SHA1 Message Date
Tom Lane 4b7ae4afae Report the current queries of all backends involved in a deadlock
(if they'd be visible to the current user in pg_stat_activity).

This might look like it's subject to race conditions, but it's actually
pretty safe because at the time DeadLockReport() is constructing the
report, we haven't yet aborted our transaction and so we can expect that
everyone else involved in the deadlock is still blocked on some lock.
(There are corner cases where that might not be true, such as a statement
timeout triggering in another backend before we finish reporting; but at
worst we'd report a misleading activity string, so it seems acceptable
considering the usefulness of reporting the queries.)

Original patch by Itagaki Takahiro, heavily modified by me.
2008-03-21 21:08:31 +00:00
Bruce Momjian df812e91ad Add:
>
> * Convert single quotes to apostrophes in the PDF documentation
>
>   http://archives.postgresql.org/pgsql-docs/2007-12/msg00059.php
>
2008-03-21 20:00:53 +00:00
Bruce Momjian 0d5125a56f Add:
>
> * Fix inconsistent precedence of =, >, and < compared to <>, >=, and <=
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php
2008-03-21 19:58:11 +00:00
Bruce Momjian 8a04a1d0bc Add:
>
> 	o Prevent SSL from sending network packets to avoid interference
> 	  with Win32 signal emulation
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-12/msg00455.php
2008-03-21 19:34:33 +00:00
Michael Meskes 35ea0a9b8d Corrected version number. 2008-03-21 16:10:23 +00:00
Bruce Momjian 480d4f7ea5 Document that soft-mounting NFS is not recommended. 2008-03-21 14:23:37 +00:00
Bruce Momjian fca9fff41b More README src cleanups. 2008-03-21 13:23:29 +00:00
Tom Lane d287818eb5 Adjust pgstatindex() to give correct answers for indexes larger than
2^31 blocks.  Also fix pg_relpages() for the same case.
Tatsuhito Kasahara
2008-03-21 03:23:30 +00:00
Andrew Dunstan 458c585697 Generate dummy probes.h for MSVC builds. 2008-03-21 02:50:02 +00:00
Tom Lane 2d0583a166 Get rid of a bunch of #ifdef HAVE_INT64_TIMESTAMP conditionals by inventing
a new typedef TimeOffset to represent an intermediate time value.  It's
either int64 or double as appropriate, and in most usages will be measured
in microseconds or seconds the same as Timestamp.  We don't call it
Timestamp, though, since the value doesn't necessarily represent an absolute
time instant.

Warren Turkal
2008-03-21 01:31:43 +00:00
Tom Lane 6b0706ac33 Arrange for an explicit cast applied to an ARRAY[] constructor to be applied
directly to all the member expressions, instead of the previous implementation
where the ARRAY[] constructor would infer a common element type and then we'd
coerce the finished array after the fact.  This has a number of benefits,
one being that we can allow an empty ARRAY[] construct so long as its
element type is specified by such a cast.

Brendan Jurd, minor fixes by me.
2008-03-20 21:42:48 +00:00
Alvaro Herrera 8759b79d0f Add a couple of missing FreeQueryDesc calls. Noticed while testing a
framework to keep track of snapshots in use.
2008-03-20 20:05:56 +00:00
Bruce Momjian 4e228447aa Make source code READMEs more consistent. Add CVS tags to all README files. 2008-03-20 17:55:15 +00:00
Tom Lane 27dfc11d67 Dept of second thoughts: --no-tablespaces had better also prevent
pg_dumpall from attaching TABLESPACE options to CREATE DATABASE commands.
2008-03-20 17:42:51 +00:00
Tom Lane 68528d37bb Support a --no-tablespaces option in pg_dump/pg_dumpall/pg_restore, so that
dumps can be loaded into databases without the same tablespaces that the
source had.  The option acts by suppressing all "SET default_tablespace"
commands, and also CREATE TABLESPACE commands in pg_dumpall's case.

Gavin Roy, with documentation and minor fixes by me.
2008-03-20 17:36:58 +00:00
Michael Meskes f9e083fd30 Added ECPGget_PGconn() function to ecpglib, courtesy of Mike Aubury.
Removed one include file from connect-test1.
2008-03-20 16:29:45 +00:00
Michael Meskes 15364ea09d Changed statement escaping to not escape continuation line markers. 2008-03-20 15:56:59 +00:00
Heikki Linnakangas f4b7624eb0 Add the missing cyrillic "Yo" characters ('e' and 'E' with two dots) to the
ISO_8859-5 <-> MULE_INTERNAL conversion tables.

This was discovered when trying to convert a string containing those characters
from ISO_8859-5 to Windows-1251, because we use MULE_INTERNAL/KOI8R as an
intermediate encoding between those two.

While the missing "Yo" was just an omission in the conversion tables, there are
a few other characters like the "Numero" sign ("No" as a single character) that
exists in all the other cyrillic encodings (win1251, ISO_8859-5 and cp866), but
not in KOI8R. Added comments about that.

Patch by Sergey Burladyan. Back-patch to 7.4.
2008-03-20 10:30:04 +00:00
Alvaro Herrera 470c6c12a1 Remove another useless snapshot creation. 2008-03-19 21:14:20 +00:00
Tom Lane 5507b22dfc Support ALTER TYPE RENAME. Petr Jelinek 2008-03-19 18:38:30 +00:00
Alvaro Herrera a9686591d7 We no longer need a snapshot set after opening the finishing transaction: this
is redundant because autovacuum now always analyzes a single table per
transaction.
2008-03-19 14:18:21 +00:00
Tatsuo Ishii 49639a7b2c Add -M (query mode) option per ITAGAKI Takahiro 2008-03-19 03:33:21 +00:00
Tom Lane 965a2a191a Fix regexp substring matching (substring(string from pattern)) for the corner
case where there is a match to the pattern overall but the user has specified
a parenthesized subexpression and that subexpression hasn't got a match.
An example is substring('foo' from 'foo(bar)?').  This should return NULL,
since (bar) isn't matched, but it was mistakenly returning the whole-pattern
match instead (ie, 'foo').  Per bug #4044 from Rui Martins.

This has been broken since the beginning; patch in all supported versions.
The old behavior was sufficiently inconsistent that it's impossible to believe
anyone is depending on it.
2008-03-19 02:40:37 +00:00
Tatsuo Ishii 8436f9a036 Add libpq new API lo_import_with_oid() which is similar to lo_import()
except that lob's oid can be specified.
2008-03-19 00:39:33 +00:00
Tatsuo Ishii f755f2fef3 Fix tps calculation when -C supplied. Per Yoshiyuki Asaba.
Change Copyright owner from mine to PostgreSQL Global Development Group
Fix minor message typo
2008-03-19 00:29:35 +00:00
Bruce Momjian 2f2b58d642 Spit items:
* Experiment with multi-threaded backend better I/O utilization

  This would allow a single query to make use of multiple I/O channels
  simultaneously.  One idea is to create a background reader that can
  pre-fetch sequential and index scan pages needed by other backends.
  This could be expanded to allow concurrent reads from multiple devices
  in a partitioned table.

* Experiment with multi-threaded backend better CPU utilization

  This would allow several CPUs to be used for a single query, such as
  for sorting or query execution.
2008-03-18 23:35:21 +00:00
Bruce Momjian 8426b5640e Update TODO description:
* Speed WAL recovery by allowing more than one page to be prefetched

  This should be done utilizing the same infrastructure used for
  prefetching in general to avoid introducing complex error-prone code
  in WAL replay.
2008-03-18 23:32:57 +00:00
Bruce Momjian af7680f668 Add find_typedef comments for Linux. 2008-03-18 23:23:08 +00:00
Bruce Momjian 0939946a5e Add find_typedef comment. 2008-03-18 23:04:34 +00:00
Bruce Momjian 61d416e3b2 Add Linux support to find_typedefs, with help from Alvaro. 2008-03-18 22:45:11 +00:00
Tom Lane 0d49838df6 Arrange to "inline" SQL functions that appear in a query's FROM clause,
are declared to return set, and consist of just a single SELECT.  We
can replace the FROM-item with a sub-SELECT and then optimize much as
if we were dealing with a view.  Patch from Richard Rowell, cleaned up
by me.
2008-03-18 22:04:14 +00:00
Bruce Momjian 433c5238bf Add to TODO:
>
> * Consider not storing a NULL bitmap on disk if all the NULLs are
>   trailing
>
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php
>   http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php
>
2008-03-18 18:40:42 +00:00
Peter Eisentraut 2a43c4786d Don't need -Wno-error anymore, because flex is no longer producing warnings. 2008-03-18 17:46:23 +00:00
Peter Eisentraut 8c87cc370f Catch all errors in for and while loops in makefiles. Don't ignore any
errors in any commands, including in various clean targets that have so far
been handled inconsistently.  make -i is available to ignore all errors in
a consistent and official way.
2008-03-18 16:24:50 +00:00
Magnus Hagander 184c42d20d cvsweb lives on anoncvs.postgresql.org these days. 2008-03-18 16:05:07 +00:00
Magnus Hagander c4a195c200 Wiki page about cvs now lives in the main wiki, the one
on developer.postgresql.org is going away.
2008-03-18 16:02:27 +00:00
Bruce Momjian db81819c4f Add TODO URLs for:
o Allow UPDATE tab SET ROW (col, ...) = (SELECT...)

> 	  http://archives.postgresql.org/pgsql-patches/2007-04/msg00315.php
> 	  http://archives.postgresql.org/pgsql-patches/2008-03/msg00237.php
2008-03-18 15:30:59 +00:00
Alvaro Herrera d54bb24cdd Move elog(DEBUG4) call outside the locked area, per suggestion from Tom Lane. 2008-03-18 12:36:43 +00:00
Bruce Momjian 7e2be4e513 Add URLs for :
* Speed WAL recovery by allowing more than one page to be prefetched

  This involves having a separate process that can be told which pages
  the recovery process will need in the near future.

>   http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php
<
2008-03-18 03:59:45 +00:00
Tom Lane 8e850b9159 Advance multiple array keys rightmost-first instead of leftmost-first
during a bitmap index scan.  This cannot affect the query results
(since we're just dumping the TIDs into a bitmap) but it might offer
some advantage in locality of access to the index.  Per Greg Stark.
2008-03-18 03:54:52 +00:00
Bruce Momjian a2f1827dfd Add TODO:
> 	o Recreate pg_xlog/archive_status/ if it doesn't exist after
> 	  restoring from a PITR backup
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-12/msg00487.php
2008-03-18 02:37:05 +00:00
Tom Lane 206b1e558a Fix our printf implementation to follow spec: if a star parameter
value for a precision is negative, act as though precision weren't
specified at all, that is the whole .* part of the format spec should
be ignored.  Our previous coding took it as .0 which is certainly
wrong.  Per report from Kris Jurka and local testing.

Possibly this should be back-patched, but it would be good to get
some more testing first; in any case there are no known cases where
there's really a problem on the backend side.
2008-03-18 01:49:44 +00:00
Bruce Momjian 9706f54d5d Add to TODO:
>
> * Consider Cartesian joins when both relations are needed to form an
>   indexscan qualification for a third relation
>
>   http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php
2008-03-18 00:43:01 +00:00
Bruce Momjian ec62bdff06 Add URL for:
o Allow COPY to report error lines and continue

          This requires the use of a savepoint before each COPY line is
          processed, with ROLLBACK on COPY failure.
> 	  http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php
2008-03-18 00:23:41 +00:00
Bruce Momjian 3777cde067 Add to TODO:
>
> * Allow SSL key file permission checks to be optionally disabled when
>   sharing SSL keys with other applications
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00069.php
2008-03-17 23:56:30 +00:00
Bruce Momjian b1f0cdaf84 Add:
>
> * Reduce BIT data type overhead using short varlena headers
>
>   http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php
2008-03-17 23:49:33 +00:00
Bruce Momjian 9970141794 Add to TODO:
> * Reduce file system activity overhead of statistics file pgstat.stat
>
>   http://archives.postgresql.org/pgsql-general/2007-12/msg00106.php
>
2008-03-17 23:32:21 +00:00
Bruce Momjian e56dfc778d Add to TODO:
> * Consider if CommandCounterIncrement() can avoid its
>   AcceptInvalidationMessages() call
>
>   http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php
2008-03-17 22:59:01 +00:00
Bruce Momjian c10b0a7a73 Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg01334.php
2008-03-17 22:54:23 +00:00
Bruce Momjian 187e884a6a Add:
>
> 	o Remove pre-7.3 pg_dump code that assumes pg_depend does not exit
2008-03-17 22:53:02 +00:00