Bruce Momjian [Tue, 25 Mar 2008 02:47:49 +0000 (02:47 +0000)]
Add to pl/pgsql TODO:
>
> o Consider invalidating the cache or keeping seperate cached
> copies when search_path changes
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php
Bruce Momjian [Tue, 25 Mar 2008 02:11:22 +0000 (02:11 +0000)]
Add to TODO:
>
> * Improve detection of shared memory segments being used by other
> FreeBSD jails
>
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php
Bruce Momjian [Tue, 25 Mar 2008 00:42:23 +0000 (00:42 +0000)]
Add to TODO:
>
> * Move pgfoundry's xlogdump to /contrib and have it rely more closely
> on the WAL backend code
>
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg00035.php
>
Bruce Momjian [Tue, 25 Mar 2008 00:11:48 +0000 (00:11 +0000)]
Add:
> o Prevent concurrent CREATE TABLE table1 from sometimes returning
> a cryptic error message
>
> http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php
Bruce Momjian [Mon, 24 Mar 2008 23:46:21 +0000 (23:46 +0000)]
Add to TODO:
>
> * Allow xml arrays to be cast to other data types
>
> http://archives.postgresql.org/pgsql-hackers/2007-09/msg00981.php
> http://archives.postgresql.org/pgsql-hackers/2007-10/msg00231.php
> http://archives.postgresql.org/pgsql-hackers/2007-11/msg00471.php
>
Tom Lane [Mon, 24 Mar 2008 21:53:04 +0000 (21:53 +0000)]
When a relation has been proven empty by constraint exclusion, propagate that
knowledge up through any joins it participates in. We were doing that already
in some special cases but not in the general case. Also, defend against zero
row estimates for the input relations in cost_mergejoin --- this fix may have
eliminated the only scenario in which that can happen, but be safe. Per
report from Alex Solovey.
Tom Lane [Mon, 24 Mar 2008 19:47:35 +0000 (19:47 +0000)]
Use new errdetail_log() mechanism to provide a less klugy way of reporting
large numbers of dependencies on a role that couldn't be dropped.
Per a comment from Alvaro.
Tom Lane [Mon, 24 Mar 2008 19:12:49 +0000 (19:12 +0000)]
Fix various infelicities that have snuck into usage of errdetail() and
friends. Avoid double translation of some messages, ensure other messages
are exposed for translation (and make them follow the style guidelines),
avoid unsafe passing of an unpredictable message text as a format string.
Tom Lane [Mon, 24 Mar 2008 18:22:36 +0000 (18:22 +0000)]
Adjust the recent patch for reporting of deadlocked queries so that we report
query texts only to the server log. This eliminates the issue of possible
leaking of security-sensitive data in other sessions' queries. Since the
log is presumed secure, we can now log the queries of all sessions involved
in the deadlock, whether or not they belong to the same user as the one
reporting the failure.
Tom Lane [Mon, 24 Mar 2008 18:08:47 +0000 (18:08 +0000)]
Add a new ereport auxiliary function errdetail_log(), which works the same as
errdetail except the string goes only to the server log, replacing the normal
errdetail there. This provides a reasonably clean way of dealing with error
details that are too security-sensitive or too bulky to send to the client.
This commit just adds the infrastructure --- actual uses to follow.
Bruce Momjian [Mon, 24 Mar 2008 16:05:45 +0000 (16:05 +0000)]
Add to TODO:
> * Improve reporting of UNION type mismatches
>
> http://archives.postgresql.org/pgsql-hackers/2007-04/msg00944.php
> http://archives.postgresql.org/pgsql-hackers/2008-03/msg00597.php
Bruce Momjian [Mon, 24 Mar 2008 14:17:06 +0000 (14:17 +0000)]
Update wording:
< o Allow pre/data/post files when dumping a single object, for
< performance reasons
> o Allow pre/data/post files when schema and data are dumped
> separately, for performance reasons
Bruce Momjian [Sun, 23 Mar 2008 00:32:33 +0000 (00:32 +0000)]
Add to pg_dump TODO:
> o Allow pre/data/post files when dumping a single object, for
> performance reasons
>
> http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
>
Tom Lane [Sun, 23 Mar 2008 00:24:20 +0000 (00:24 +0000)]
Create a function quote_nullable(), which works the same as quote_literal()
except that it returns the string 'NULL', rather than a SQL null, when called
with a null argument. This is often a much more useful behavior for
constructing dynamic queries. Add more discussion to the documentation
about how to use these functions.
Bruce Momjian [Sun, 23 Mar 2008 00:14:41 +0000 (00:14 +0000)]
Add to Win3 TODO:
>
> o Fix MSVC NLS support, like for to_char()
>
> http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php
> http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php
Tom Lane [Sat, 22 Mar 2008 22:32:19 +0000 (22:32 +0000)]
Refactor to_char/to_date formatting code; primarily, replace DCH_processor
with two new functions DCH_to_char and DCH_from_char that have less confusing
APIs. Brendan Jurd
Bruce Momjian [Sat, 22 Mar 2008 01:30:21 +0000 (01:30 +0000)]
Add URLs for:
* Simplify ability to create partitioned tables
This would allow creation of partitioned tables without requiring
creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints
for rapid partition selection. Options could include range and hash
partition selection.
Tom Lane [Fri, 21 Mar 2008 22:41:48 +0000 (22:41 +0000)]
Remove TypeName struct's timezone flag, which has been write-only storage
for a very long time --- in current usage it's entirely redundant with the
name field.
Tom Lane [Fri, 21 Mar 2008 21:08:31 +0000 (21:08 +0000)]
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.
Bruce Momjian [Fri, 21 Mar 2008 19:34:33 +0000 (19:34 +0000)]
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
Tom Lane [Fri, 21 Mar 2008 01:31:43 +0000 (01:31 +0000)]
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.
Tom Lane [Thu, 20 Mar 2008 21:42:48 +0000 (21:42 +0000)]
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.
Tom Lane [Thu, 20 Mar 2008 17:36:58 +0000 (17:36 +0000)]
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.
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.
Alvaro Herrera [Wed, 19 Mar 2008 14:18:21 +0000 (14:18 +0000)]
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.
Tom Lane [Wed, 19 Mar 2008 02:40:37 +0000 (02:40 +0000)]
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.
Tatsuo Ishii [Wed, 19 Mar 2008 00:29:35 +0000 (00:29 +0000)]
Fix tps calculation when -C supplied. Per Yoshiyuki Asaba.
Change Copyright owner from mine to PostgreSQL Global Development Group
Fix minor message typo
Bruce Momjian [Tue, 18 Mar 2008 23:35:21 +0000 (23:35 +0000)]
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.
Tom Lane [Tue, 18 Mar 2008 22:04:14 +0000 (22:04 +0000)]
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.
Bruce Momjian [Tue, 18 Mar 2008 18:40:42 +0000 (18:40 +0000)]
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
>
Peter Eisentraut [Tue, 18 Mar 2008 16:24:50 +0000 (16:24 +0000)]
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.
Tom Lane [Tue, 18 Mar 2008 03:54:52 +0000 (03:54 +0000)]
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.
Bruce Momjian [Tue, 18 Mar 2008 02:37:05 +0000 (02:37 +0000)]
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
Tom Lane [Tue, 18 Mar 2008 01:49:44 +0000 (01:49 +0000)]
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.
Bruce Momjian [Tue, 18 Mar 2008 00:43:01 +0000 (00:43 +0000)]
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
Bruce Momjian [Tue, 18 Mar 2008 00:23:41 +0000 (00:23 +0000)]
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
Bruce Momjian [Mon, 17 Mar 2008 23:56:30 +0000 (23:56 +0000)]
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