Commit Graph

26576 Commits

Author SHA1 Message Date
Neil Conway
c111a7211f Update documentation for recent DTrace changes. Patch from Robert Lor. 2008-03-25 22:50:27 +00:00
Tom Lane
220db7ccd8 Simplify and standardize conversions between TEXT datums and ordinary C
strings.  This patch introduces four support functions cstring_to_text,
cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and
two macros CStringGetTextDatum and TextDatumGetCString.  A number of
existing macros that provided variants on these themes were removed.

Most of the places that need to make such conversions now require just one
function or macro call, in place of the multiple notational layers that used
to be needed.  There are no longer any direct calls of textout or textin,
and we got most of the places that were using handmade conversions via
memcpy (there may be a few still lurking, though).

This commit doesn't make any serious effort to eliminate transient memory
leaks caused by detoasting toasted text objects before they reach
text_to_cstring.  We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few
places where it was easy, but much more could be done.

Brendan Jurd and Tom Lane
2008-03-25 22:42:46 +00:00
Bruce Momjian
f948197b40 Done:
> * -Avoid tuple some tuple copying in sort routines
2008-03-25 20:18:18 +00:00
Neil Conway
1d812a98b4 Add a new tuplestore API function, tuplestore_putvalues(). This is
identical to tuplestore_puttuple(), except it operates on arrays of
Datums + nulls rather than a fully-formed HeapTuple. In several places
that use the tuplestore API, this means we can avoid creating a
HeapTuple altogether, saving a copy.
2008-03-25 19:26:54 +00:00
Bruce Momjian
76cf067ae4 Update TODO wording:
* Simplify integer cross-data-type operators
2008-03-25 13:09:39 +00:00
Alvaro Herrera
ab20a8465a Reword Win32 rint() item, per Tom. 2008-03-25 12:55:38 +00:00
Alvaro Herrera
7726f6f337 Add URLs to previous discussions, per Simon. 2008-03-25 12:50:47 +00:00
Michael Meskes
e427aa9080 added ECPGget_PGconn to exports.txt 2008-03-25 12:45:25 +00:00
Bruce Momjian
82694e2920 Add to TODO:
>
> * Add SQL-standard array_agg() and unnest() array functions
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg01017.php
>
2008-03-25 02:58:09 +00:00
Bruce Momjian
d30ccbe2ae 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
2008-03-25 02:47:49 +00:00
Bruce Momjian
52346dadeb Add to TODO:
>
> * Add more cross-data-type operators
>
>   http://archives.postgresql.org/pgsql-bugs/2008-01/msg00189.php
2008-03-25 02:41:21 +00:00
Bruce Momjian
c0e6ee3716 Add to TODO:
> * Detect deadlocks involving LockBufferForCleanup()
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
2008-03-25 02:38:34 +00:00
Bruce Momjian
697b0829b3 Add to psql TODO:
>
> 	o Improve display if enums
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00826.php
>
>
2008-03-25 02:33:37 +00:00
Bruce Momjian
62c39d6dad Add to TODO:
>
> 	o Fix port/rint.c to be spec-compliant
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php
2008-03-25 02:23:43 +00:00
Bruce Momjian
2f31c72225 Add to TODO:
>
> * Consider sorting entries before inserting into btree index
>
>   http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php
2008-03-25 02:17:17 +00:00
Bruce Momjian
43253b2152 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
2008-03-25 02:11:22 +00:00
Bruce Momjian
e8b350cee3 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
>
2008-03-25 00:42:23 +00:00
Bruce Momjian
3c8cbbd313 Add to TODO:
>
> * Have resource managers report the duration of their status changes
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg01468.php
2008-03-25 00:28:54 +00:00
Bruce Momjian
751f3d2f19 Add to TODO:
>
> * Be more aggressive about creating WAL files
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg01325.php
2008-03-25 00:14:53 +00:00
Bruce Momjian
a24d3fdddd Add:
> 	o Prevent concurrent CREATE TABLE table1 from sometimes returning
> 	  a cryptic error message
>
> 	  http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php
2008-03-25 00:11:48 +00:00
Bruce Momjian
aa8f1a565c Add to TODO:
>
> * Have /contrib/dblink reuse unnamed connections
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php
2008-03-25 00:07:12 +00:00
Bruce Momjian
9cee80911b Add to TODO:
> * Remove old-style routines for manipulating tuples
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00851.php
2008-03-25 00:05:10 +00:00
Bruce Momjian
ab61bc6f57 Add to TODO:
>
> * Create three versions of libpgport to simplify client code
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00154.php
>
2008-03-25 00:02:03 +00:00
Bruce Momjian
a689b20b67 Add to TODO:
>
> * Fix regular expression bug when using complex back-references
>
>   http://archives.postgresql.org/pgsql-bugs/2007-10/msg00000.php
2008-03-25 00:00:30 +00:00
Bruce Momjian
cc0d744281 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
>
2008-03-24 23:46:21 +00:00
Tom Lane
fd791e7b5a 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.
2008-03-24 21:53:04 +00:00
Tom Lane
2a346725ba 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.
2008-03-24 19:47:35 +00:00
Tom Lane
32b58d0220 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.
2008-03-24 19:12:49 +00:00
Bruce Momjian
3da2a4b899 Add to TODO:
>
> * Research reducing deTOASTing in more places
>
>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php
2008-03-24 18:24:30 +00:00
Tom Lane
9b8e1eb375 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.
2008-03-24 18:22:36 +00:00
Tom Lane
05fc744b96 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.
2008-03-24 18:08:47 +00:00
Bruce Momjian
7feabcbf7f Add URL for:
* SMP scalability improvements

>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00206.php
2008-03-24 17:48:07 +00:00
Bruce Momjian
4c9ea732ac Add URL to:
* SMP scalability improvements

>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php
2008-03-24 17:41:16 +00:00
Bruce Momjian
504e896260 Add to TODO:
>
> * SMP scalability improvements
>
>   http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php
2008-03-24 17:29:35 +00:00
Bruce Momjian
3eabcdb820 Add URL:
* Allow statistics last vacuum/analyze execution times to be displayed
  without requiring stats_row_level to be enabled

>
>   http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php
>
2008-03-24 16:11:27 +00:00
Bruce Momjian
67f686c550 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
2008-03-24 16:05:45 +00:00
Bruce Momjian
d9bc39a704 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
2008-03-24 14:17:06 +00:00
Bruce Momjian
ecb16f6e4b Update text:
< 	o Support pgxs
> 	o Support pgxs when using MSVC
2008-03-23 12:36:59 +00:00
Bruce Momjian
6deb1795df Add:
>   http://archives.postgresql.org/pgsql-patches/2008-02/msg00176.php
2008-03-23 01:30:46 +00:00
Bruce Momjian
8a568bd880 Re-add:
>
> * Avoid tuple some tuple copying in sort routines
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
2008-03-23 01:26:53 +00:00
Bruce Momjian
9471c33d12 Add:
>
> * Sort large UPDATE/DELETEs so it is done in heap order
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php
2008-03-23 01:23:10 +00:00
Bruce Momjian
5b6c6e8bf1 Add URL for:
* Do async I/O for faster random read-ahead of data

  Async I/O allows multiple I/O requests to be sent to the disk with
  results coming back asynchronously.

>   http://archives.postgresql.org/pgsql-patches/2008-01/msg00170.php
2008-03-23 01:13:38 +00:00
Bruce Momjian
b63a0c9c4a Done:
<
< * Avoid tuple some tuple copying in sort routines
<
<   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
2008-03-23 00:56:54 +00:00
Tom Lane
598b97dc9b Avoid a useless tuple copy within nodeMaterial. Neil Conway 2008-03-23 00:54:04 +00:00
Bruce Momjian
deb519611b 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
>
2008-03-23 00:32:33 +00:00
Tom Lane
7de81124d5 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.

Brendan Jurd
2008-03-23 00:24:20 +00:00
Bruce Momjian
40a3dfb7e3 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
2008-03-23 00:14:41 +00:00
Bruce Momjian
58cd4b91ad Add to TODO:
>
> * Improve WAL concurrency by increasing lock granularity
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00556.php
>
2008-03-23 00:08:47 +00:00
Bruce Momjian
80ee184923 Add to Win32 TODO
>
> 	o Support pgxs
2008-03-22 23:49:22 +00:00
Bruce Momjian
6e6c6d4412 Add to TODO:
>
> * Avoid tuple some tuple copying in sort routines
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
2008-03-22 23:47:03 +00:00