Commit Graph

24849 Commits

Author SHA1 Message Date
Tom Lane
dbb769352d Temporary fix for the problem that pg_stat_activity, inet_client_addr(),
and inet_server_addr() fail if the client connected over a "scoped" IPv6
address.  In this case getnameinfo() will return a string ending with
a poorly-standardized "%something" zone specifier, which these functions
try to feed to network_in(), which won't take it.  So that we don't lose
functionality altogether, suppress the zone specifier before giving the
string to network_in().  Per report from Brian Hirt.

TODO: probably someday the inet type should support scoped IPv6 addresses,
and then this patch should be reverted.

Backpatch to 8.2 ... is it worth going further?
2007-05-17 23:31:49 +00:00
Bruce Momjian
3f186a2034 Add URL for:
* Implement the SQL standard mechanism whereby REVOKE ROLE revokes only
  the privilege granted by the invoking role, and not those granted
  by other roles
>
>   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00010.php
2007-05-17 22:53:23 +00:00
Bruce Momjian
347534e85a Add, per Alvaro:
>
> * Implement the SQL standard mechanism whereby REVOKE ROLE revokes only
>   the privilege granted by the invoking role, and not those granted
>   by other roles
2007-05-17 22:44:11 +00:00
Bruce Momjian
a11d4b8bea Add:
>
> * Fix problem with excessive logging during SSL disconnection
>
>   http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php
>   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php
2007-05-17 22:42:54 +00:00
Bruce Momjian
9c326ad6bc Add CVS comment for recent commit:
Moved page-level functions from pgstattuple to
contrib/pageinspect.
2007-05-17 21:43:19 +00:00
Michael Meskes
3e7956cab7 Removed mktime() call to hopefully get rid of some compatibility problems. 2007-05-17 20:07:35 +00:00
Tom Lane
b11123b675 Fix parameter recalculation for Limit nodes: during a ReScan call we must
recompute the limit/offset immediately, so that the updated values are
available when the child's ReScan function is invoked.  Add a regression
test for this, too.  Bug is new in HEAD (due to the bounded-sorting patch)
so no need for back-patch.

I did not do anything about merging this signaling with chgParam processing,
but if we were to do that we'd still need to compute the updated values
at this point rather than during the first ProcNode call.

Per observation and test case from Greg Stark, though I didn't use his patch.
2007-05-17 19:35:08 +00:00
Bruce Momjian
64058429c5 Add database page inspection /contrib module.
Simon and Heikki
2007-05-17 19:11:25 +00:00
Alvaro Herrera
3b0347b36e Move the tuple freezing point in CLUSTER to a point further back in the past,
to avoid losing useful Xid information in not-so-old tuples.  This makes
CLUSTER behave the same as VACUUM as far a tuple-freezing behavior goes
(though CLUSTER does not yet advance the table's relfrozenxid).

While at it, move the actual freezing operation in rewriteheap.c to a more
appropriate place, and document it thoroughly.  This part of the patch from
Tom Lane.
2007-05-17 15:28:29 +00:00
Alvaro Herrera
90cbc63fd1 Have TRUNCATE advance the affected table's relfrozenxid to RecentXmin, to
avoid a later needless VACUUM for Xid-wraparound purposes.  We can do this
since the table is known to be left empty, so no Xid remains on it.

Per discussion.
2007-05-16 17:28:20 +00:00
Alvaro Herrera
dfed0012bc Have the rewriteheap code freeze old tuples. This is safe because it is only
applied to live tuples older than a recent Xmin, not to tuples that may be part
of an update chain.  Those still keep their original markings.

This patch makes it possible for CLUSTER to advance relfrozenxid, thus avoiding
the need of vacuuming the table for Xid wraparound purposes.  That will be
patched separately.

Patch from Heikki Linnakangas.
2007-05-16 16:36:56 +00:00
Alvaro Herrera
d365ce1f5c Avoid emitting empty role names in the GRANTED BY clause of GRANT ROLE
when the grantor has been dropped.  This is a workaround for the fact
that we don't track the grantor as a shared dependency.
2007-05-15 20:20:21 +00:00
Andrew Dunstan
0f77636c2e Remove directory qualification in <ossp/uuid.h> because it's not always installed in ossp.
Workaround for when it is: include the ossp directory using --with-includes.
2007-05-15 19:47:51 +00:00
Neil Conway
dfcf99bf93 Fix a bunch of bad grammar in the docs: "<link>, which see for more
information" is un-good English.
2007-05-15 19:43:51 +00:00
Neil Conway
79ba540b78 Various fixes for the SGML docs. Consistently use spaces before/after
parentheses in syntax descriptions. Consistently use the present tense
when describing the basic purpose of each "DROP" command. Add a few
more hyperlinks.
2007-05-15 19:13:55 +00:00
Bruce Momjian
178214d2ae Update comments for PG_DETOAST_PACKED and VARDATA_ANY on a structures
that require alignment.

Add a paragraph to the "User-Defined Types" chapter on using these
macros since it seems like they're a hit.

Gregory Stark
2007-05-15 17:39:54 +00:00
Neil Conway
39712d1184 Make a few marginal improvements to the documentation for the AV
launcher daemon.
2007-05-15 15:52:40 +00:00
Neil Conway
513836c7aa Add a note to the documentation to clarify that even when
"autovacuum = off", the system may still periodically start autovacuum
processes to prevent XID wraparound. Patch from David Fetter, with
editorializing.
2007-05-15 15:35:46 +00:00
Bruce Momjian
3288d5a989 Add URLs for:
* Add support for SQL-standard GENERATED/IDENTITY columns

>   http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php
>   http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php
2007-05-15 02:36:43 +00:00
Andrew Dunstan
ea7f18d15b fix perl thinko 2007-05-15 01:57:57 +00:00
Andrew Dunstan
42a65e39a5 Use configured pgport in MSVC config file. 2007-05-15 00:15:01 +00:00
Tom Lane
0a9cbcbfd2 Get rid of the pg_shdepend entry for a TOAST table; it's unnecessary since
there's an indirect dependency on the owner via the parent table.  We were
already handling indexes that way, but not toast tables for some reason.
Saves a little catalog space and cuts down the verbosity of checkSharedDependencies
reports.
2007-05-14 20:24:41 +00:00
Tom Lane
2b321533f3 Fix up grammar and translatability of recent checkSharedDependencies
patch; also make the code logic a bit more self-consistent.
2007-05-14 20:07:01 +00:00
Tom Lane
fd53a67dcd Prevent RevalidateCachedPlan from making any permanent change in
ActiveSnapshot.  Having it affect ActiveSnapshot only in the unusual
case of needing to replan seems a bad idea, and there's also the problem
that the created snap might be in a relatively short-lived context, as
noted by Jan Wieck.  Also, there's no need to force a new snap at all
unless we are called with no snap currently set, which is an unusual
case in itself.
2007-05-14 18:13:21 +00:00
Alvaro Herrera
689dea424d Report all dependent objects to the server log when a shared object is dropped,
and only a truncated log of the objects in the current database to the client.
Also, instead of reporting object counts for all databases on which the user
might own objects, report only as many as fit in the predefined line count.

This is to avoid flooding the client when the user owns too many objects,
which could cause problems.

Per report from Ed L. on April 4th and subsequent discussion.
2007-05-14 16:50:36 +00:00
Bruce Momjian
ed9a31b89b Update instructions on creating TODO entry. 2007-05-14 16:38:42 +00:00
Magnus Hagander
2ede0ecacc Log directory we're installing into.
Per request from Andrew Dunstan.
2007-05-13 15:33:07 +00:00
Bruce Momjian
c59cb9d325 Mark as done, add URL for other item:
< 	o Add support for arrays of complex types
>
> 	  http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php
>
> 	o -Add support for arrays of complex types
2007-05-13 11:22:04 +00:00
Bruce Momjian
9083e91339 Add:
> * Have configure choose integer datetimes by default
>
>   http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php
2007-05-12 22:10:40 +00:00
Bruce Momjian
c01b4d50e0 Add:
> 		o Allow data to be passed in native language formats, rather
> 		  than only text
> 		  http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php
2007-05-12 22:06:42 +00:00
Tom Lane
1856e609ec Improve predicate_refuted_by_simple_clause() to handle IS NULL and IS NOT NULL
more completely.  The motivation for having it understand IS NULL at all was
to allow use of "foo IS NULL" as one of the subsets of a partitioning on
"foo", but as reported by Aleksander Kmetec, it wasn't really getting the job
done.  Backpatch to 8.2 since this is arguably a performance bug.
2007-05-12 19:22:35 +00:00
Tom Lane
9aa3c782c9 Fix the problem that creating a user-defined type named _foo, followed by one
named foo, would work but the other ordering would not.  If a user-specified
type or table name collides with an existing auto-generated array name, just
rename the array type out of the way by prepending more underscores.  This
should not create any backward-compatibility issues, since the cases in which
this will happen would have failed outright in prior releases.

Also fix an oversight in the arrays-of-composites patch: ALTER TABLE RENAME
renamed the table's rowtype but not its array type.
2007-05-12 00:55:00 +00:00
Tom Lane
d8326119c8 Fix my oversight in enabling domains-of-domains: ALTER DOMAIN ADD CONSTRAINT
needs to check the new constraint against columns of derived domains too.

Also, make it error out if the domain to be modified is used within any
composite-type columns.  Eventually we should support that case, but it seems
a bit painful, and not suitable for a back-patch.  For the moment just let the
user know we can't do it.

Backpatch to 8.2, which is the only released version that allows nested
domains.  Possibly the other part should be back-patched further.
2007-05-11 20:17:15 +00:00
Neil Conway
3b6afdd7f9 Improvements to the SGML docs for TRUNCATE and CLUSTER. 2007-05-11 19:40:08 +00:00
Tom Lane
bc8036fc66 Support arrays of composite types, including the rowtypes of regular tables
and views (but not system catalogs, nor sequences or toast tables).  Get rid
of the hardwired convention that a type's array type is named exactly "_type",
instead using a new column pg_type.typarray to provide the linkage.  (It still
will be named "_type", though, except in odd corner cases such as
maximum-length type names.)

Along the way, make tracking of owner and schema dependencies for types more
uniform: a type directly created by the user has these dependencies, while a
table rowtype or auto-generated array type does not have them, but depends on
its parent object instead.

David Fetter, Andrew Dunstan, Tom Lane
2007-05-11 17:57:14 +00:00
Michael Meskes
b1110aaa8b Added some more error logging. 2007-05-10 14:29:21 +00:00
Michael Meskes
1aca1cde52 - Synced parser and keyword list
- Renamed update test so it hopefully runs on Vista
2007-05-10 09:53:17 +00:00
Tom Lane
5b7cf08d33 Reserve some pg_statistic "kind" codes for use by the ESRI ST_Geometry
datatype project.  Per request from Ale Raza (araza at esri.com).
2007-05-08 19:13:52 +00:00
Neil Conway
ade493e02d Add a hash function for "numeric". Mark the equality operator for
numerics as "oprcanhash", and make the corresponding system catalog
updates. As a result, hash indexes, hashed aggregation, and hash
joins can now be used with the numeric type. Bump the catversion.

The only tricky aspect to doing this is writing a correct hash
function: it's possible for two Numerics to be equal according to
their equality operator, but have different in-memory bit patterns.
To cope with this, the hash function doesn't consider the Numeric's
"scale" or "sign", and explictly skips any leading or trailing
zeros in the Numeric's digit buffer (the current implementation
should suppress any such zeros, but it seems unwise to rely upon
this). See discussion on pgsql-patches for more details.
2007-05-08 18:56:48 +00:00
Tom Lane
97f796942f Add an explicit comment about POSIX time zone names having the reverse
sign convention from everyplace else in Postgres.  I don't suppose that
this will stop people from being confused, but at least we can say that
it's documented.
2007-05-08 17:02:59 +00:00
Peter Eisentraut
3b4f9fe5d2 The appended patch addresses the outstanding issues of the recent guc patch.
It makes PGCLIENTENCODING work again and uses bsearch() instead of
iterating over the array of guc variables in guc_get_index().

Joachim Wieland
2007-05-08 16:33:51 +00:00
Alvaro Herrera
067deaf83d Make sure we don't skip databases that are supposed to be vacuumed "exactly
now".  This can happen if the time granularity is not very high.

Per ITAGAKI Takahiro.
2007-05-07 20:41:24 +00:00
Peter Eisentraut
e292090b59 Grammar correction 2007-05-07 07:53:26 +00:00
Neil Conway
3a96742ad2 Doc tweak: add an xref. 2007-05-07 02:03:58 +00:00
Magnus Hagander
343a9a27a9 Check return code from strxfrm on Windows since it has a
non-standard way of indicating errors, so we don't try to
allocate INT_MAX bytes to store a result in.
2007-05-05 17:05:48 +00:00
Bruce Momjian
4835df303d Done:
< Last updated:		Sat May  5 10:47:39 EDT 2007
> Last updated:		Sat May  5 11:39:57 EDT 2007
< * Flush cached query plans when the dependent objects change,
<   when the cardinality of parameters changes dramatically, or
> * -Flush cached query plans when the dependent objects change or
<
<   A more complex solution would be to save multiple plans for different
<   cardinality and use the appropriate plan based on the EXECUTE values.
<
< * Track dependencies in function bodies and recompile/invalidate
<
<   This is particularly important for references to temporary tables
<   in PL/PgSQL because PL/PgSQL caches query plans.  The only workaround
<   in PL/PgSQL is to use EXECUTE.  One complexity is that a function
<   might itself drop and recreate dependent tables, causing it to
<   invalidate its own query plan.
<
< * Invalidate prepared queries, like INSERT, when the table definition
> * -Track dependencies in function bodies and recompile/invalidate
> * -Invalidate prepared queries, like INSERT, when the table definition
2007-05-05 15:40:01 +00:00
Bruce Momjian
dc9d3947e6 Move item:
< * Invalidate prepared queries, like INSERT, when the table definition
<   is altered
>
> * Invalidate prepared queries, like INSERT, when the table definition
>   is altered
2007-05-05 14:47:45 +00:00
Bruce Momjian
b573fec82b Done:
> 	o -Allow multiple vacuums so large tables do not starve small
2007-05-05 14:44:15 +00:00
Bruce Momjian
aec9dc0efe Wording update to FAQ_DEV.. 2007-05-05 14:33:55 +00:00
Bruce Momjian
799bd9e8c8 Add note to FAQ_DEV that regression tests might need to be added. 2007-05-05 14:31:16 +00:00