Commit Graph

19673 Commits

Author SHA1 Message Date
Tom Lane 3f9aec50e7 Flat file cleanup phase 2: make it work for pg_group. The flat group
file now identifies group members by usesysid not name; this avoids
needing to depend on SearchSysCache which we can't use during startup.
(The old representation was entirely broken anyway, since we did not
regenerate the file following RENAME USER.)  It's only a 95% solution
because if the group membership list is big enough to be toasted out
of line, we cannot read it during startup.  I think this will do for
the moment, until we have time to implement the planned pg_role
replacement for pg_group.
2005-02-20 04:45:59 +00:00
Tom Lane 60b2444cc3 Add code to prevent transaction ID wraparound by enforcing a safe limit
in GetNewTransactionId().  Since the limit value has to be computed
before we run any real transactions, this requires adding code to database
startup to scan pg_database and determine the oldest datfrozenxid.
This can conveniently be combined with the first stage of an attack on
the problem that the 'flat file' copies of pg_shadow and pg_group are
not properly updated during WAL recovery.  The code I've added to
startup resides in a new file src/backend/utils/init/flatfiles.c, and
it is responsible for rewriting the flat files as well as initializing
the XID wraparound limit value.  This will eventually allow us to get
rid of GetRawDatabaseInfo too, but we'll need an initdb so we can add
a trigger to pg_database.
2005-02-20 02:22:07 +00:00
Tom Lane 617d16f4ff New arrangement to always let the bgwriter do checkpoints broke
CHECKPOINT and some other commands in the context of a standalone
backend.  Allow a standalone backend to do its own checkpoints.
2005-02-19 23:16:15 +00:00
Tom Lane 9650d6c7e6 Ensure that the resolved datatype of any unknown Param is propagated
into the sub-SELECT targetlist when it appears in the context
INSERT INTO foo SELECT $1 ...  Per report from Abhijit Menon-Sen.
2005-02-19 19:33:08 +00:00
Bruce Momjian 2abe40aac7 Fix typo in SGML. 2005-02-19 04:39:52 +00:00
Bruce Momjian eea1ef2c85 Add reference to the NewbieDoc Docbook Guide. 2005-02-19 04:34:17 +00:00
Tom Lane a8593a3463 Convert MemoryContextSwitchTo() into an inline function when using GCC. 2005-02-18 21:52:34 +00:00
Bruce Momjian 477a64d9c8 Update question text:
<H4><A name="4.20">4.20</A>) Why do I get "missing oid" errors when
    accessing temporary tables in PL/PgSQL functions?</H4>

Merlin Moncure
2005-02-15 04:35:37 +00:00
Bruce Momjian a284e174a3 Update Momjain book URL. 2005-02-15 04:03:46 +00:00
Bruce Momjian f58918ecd0 Update URL for Momjian book. 2005-02-15 04:02:25 +00:00
Bruce Momjian bb8fcd6713 Change wording:
<   The agreed syntax is:
>   The proposed syntax is:
2005-02-15 03:54:19 +00:00
Bruce Momjian 50263789d6 Add mention of syntax for GRANT ALL:
>   The agreed syntax is:
> 	GRANT SELECT ON ALL TABLES IN public TO phpuser;
> 	GRANT SELECT ON NEW TABLES IN public TO phpuser;
>
2005-02-15 03:53:00 +00:00
Bruce Momjian 3110cd237c Update comment on VACUUM FULL.
Manfred Koizar
2005-02-15 03:50:07 +00:00
Bruce Momjian b39ce1ccec Fix typo:
< 	o Allow COPY FROM ... CVS to interpret newlines and carriage
> 	o Allow COPY FROM ... CSV to interpret newlines and carriage
2005-02-15 03:17:41 +00:00
Bruce Momjian 43410176a8 Add:
> * Add xpath_array() to /contrib/xml2 to return results as an array
2005-02-15 02:27:36 +00:00
Bruce Momjian 1d7dfb1496 Document usage of gettext_noop(). 2005-02-15 01:03:47 +00:00
Bruce Momjian d73e0410bd Improve documentation of signal usage for HAVE_SIGPROCMASK and
non-HAVE_SIGPROCMASK cases in pqinitmask().
2005-02-14 23:02:35 +00:00
Bruce Momjian ad4f06aeb2 Improve documentation of signal usage for HAVE_SIGPROCMASK and
non-HAVE_SIGPROCMASK cases in pqinitmask().
2005-02-14 23:02:03 +00:00
Bruce Momjian b25bb4fd44 Add:
> * Allow the creation of indexes with mixed ascending/descending specifiers
2005-02-14 19:51:17 +00:00
Tom Lane db58ee5be9 ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich. 2005-02-14 06:17:44 +00:00
Neil Conway 73f5c9d90e Minor consistency improvement. 2005-02-14 00:54:26 +00:00
Bruce Momjian f25df821a9 Add:
> * Make src/port/snprintf.c thread-safe
2005-02-14 00:03:57 +00:00
Bruce Momjian bb17a98e3c Print file name and errno string on rmtree failure.
Backpatch to 8.0.X.
2005-02-13 16:50:44 +00:00
Tom Lane c6521b1b93 Write some real documentation about the index access method API. 2005-02-13 03:04:15 +00:00
Bruce Momjian 67ff8009cf Move plpgsql DEBUG from DEBUG2 to DEBUG1 because it is a user-requested
DEBUG.
2005-02-13 01:25:50 +00:00
Bruce Momjian 5e73d4361c Clarify:
< * Add IP address to pg_stat_activity
> * Add the client IP address to pg_stat_activity
2005-02-13 00:10:41 +00:00
Bruce Momjian 6370007ce8 Add:
> * Add IP address to pg_stat_activity
2005-02-13 00:09:34 +00:00
Bruce Momjian 7c44e57331 Move plpgsql DEBUG from DEBUG2 to DEBUG1 because it is a user-requested
DEBUG.

Fix a few places where DEBUG1 crept in that should have been DEBUG2.
2005-02-12 23:53:42 +00:00
Tom Lane e9d693411c Add a regression test to verify that the stack depth checker actually
works (and max_stack_depth is not set too high for the platform).
Inspired by trouble report from Brian Betts.
2005-02-11 22:15:12 +00:00
Bruce Momjian 49c320b19d Update to Russian FAQ, HEAD and 8.0.X. 2005-02-11 04:53:51 +00:00
Bruce Momjian 341251f202 Make clearer warning about using 'now' with DEFAULT:
SELECT CURRENT_TIMESTAMP;
	SELECT now();
	SELECT TIMESTAMP 'now';  -- incorrect for use with DEFAULT
2005-02-11 04:31:54 +00:00
Bruce Momjian 056a664fa1 Mention that some psql environment variables come from libpq and note
more variables can be found in the libpq manual section.

Mention .pgpass in the psql manual page section dealing with connection
parameters and point to the libpq section for more details.

Backpatch to 8.0.X.
2005-02-11 04:19:05 +00:00
Neil Conway 975e27377a Adjust input routines for float4, float8 and oid to reject the empty string
as valid input (it was previously treated as 0). This input was deprecated
in 8.0 (and a warning was emitted). Regression tests updated.
2005-02-11 04:09:05 +00:00
Tom Lane 4db84f0880 Fix ANALYZE to accumulate some minimal statistics for an all-null column.
Per gripes from Mike Mascari and Bernd Heller.
2005-02-11 00:41:12 +00:00
Tom Lane 42599b322d Fix SPI cursor support to allow scanning the results of utility commands
that return tuples (such as EXPLAIN).  Per gripe from Michael Fuhr.
Side effect: fix an old bug that unintentionally disabled backward scans
for all SPI-created cursors.
2005-02-10 20:36:28 +00:00
Michael Meskes 5cc8884a5d Fixed changelog entry to list correct bug reporter. 2005-02-10 08:08:52 +00:00
Michael Meskes 7e786a82ca Fixed more parsing bugs in other CREATE statements as pointed out by TANIDA
Yutaka <tanida@sra.co.jp>.
2005-02-10 08:06:35 +00:00
Neil Conway 35878b9bc6 Add some index entries for RAISE and exception handling in PL/PgSQL. Per
suggestion from Rainer Brandt.
2005-02-10 06:08:22 +00:00
Neil Conway cf1f6f98f2 Improvements to documentation of shared memory configuration under
FreeBSD. From Mark Kirkwood, editorializing by Neil Conway.
2005-02-10 05:14:58 +00:00
Neil Conway 280cae35aa Use now() rather than 'now' in an example in the PL/PgSQL docs. From David
Fetter and Ben Calvert.
2005-02-10 05:01:07 +00:00
Bruce Momjian 8f5b4c8c8c Update pginstaller URL to http://www.postgresql.org/ftp/win32/.
Backpatch to 8.0.X.
2005-02-10 04:52:31 +00:00
Neil Conway 3df9abd1a5 ALTER TABLE ADD COLUMN exhibits a significant memory leak when adding a
column with a default expression. In that situation, we need to rewrite
the heap relation. To evaluate the new default expression, we use
ExecEvalExpr(); however, this can allocate memory in the current memory
context, and ATRewriteTable() does not switch out of the active portal's
heap memory context. The end result is a rather large memory leak (on
the order of gigabytes for a reasonably sized table).

This patch changes ATRewriteTable() to switch to the per-tuple memory
context before beginning the per-tuple loop. It also removes an explicit
heap_freetuple() in the loop, since that is no longer needed.

In an unrelated change, I noticed the code was scanning through the
attributes of the new tuple descriptor for each tuple of the old table.
I changed this to use precomputation, which should slightly speed up
the loop.

Thanks to steve@deefs.net for reporting the leak.
2005-02-09 23:17:26 +00:00
Michael Meskes d32b3aec52 Fixed bug in parsing of CREATE AS statement. 2005-02-09 11:26:44 +00:00
Bruce Momjian 38efdc8bc1 Spacing:
< *  Allow the PITR process to be debugged and data examined
> * Allow the PITR process to be debugged and data examined
2005-02-08 03:23:51 +00:00
Bruce Momjian dc95779679 It seems like most people don't want automatic failover so I am removing
the item:

< 	o Automatic failover
<
< 	  The proper solution to this will probably the use of a master/slave
< 	  replication solution like Sloney and a connection pooling tool like
< 	  pgpool.
<
2005-02-08 03:21:02 +00:00
Neil Conway c76ff4bc4e Better late than never: document that the GiST API changed in 8.0 in the
"incompatibilities" section of the release notes.
2005-02-06 22:31:50 +00:00
Tom Lane e507399790 Document array behavior for out-of-range subscripts. 2005-02-06 20:59:30 +00:00
Tom Lane 2a6c032503 Repair CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. Turns out
there are corner cases involving dropping toasted columns in which the
previous coding would fail, too: the new version of the table might not
have any TOAST table, but we'd still propagate possibly-wide values of
dropped columns forward.
2005-02-06 20:19:08 +00:00
Tom Lane 4f82112473 Fix bit-rot in ipc_test.c; it didn't include some stuff that pg_shmem.c
now depends on.
2005-02-05 20:07:16 +00:00
Tom Lane 12179c99b1 Marginal hack to merge adjacent ReleaseBuffer/ReadBuffer calls into
ReleaseAndReadBuffer during GIST index searches.  We already did this
in btree and rtree, might as well do it here too.
2005-02-05 19:38:58 +00:00