OSDN Git Service
Tom Lane [Thu, 24 Feb 2005 01:34:45 +0000 (01:34 +0000)]
Clean up printf arg-control test, per Kurt Roeckx.
Tom Lane [Thu, 24 Feb 2005 01:11:40 +0000 (01:11 +0000)]
My patch this morning was overly hasty; revert code to original state.
Neil Conway [Wed, 23 Feb 2005 23:27:54 +0000 (23:27 +0000)]
Minor code cleanup: remove a variable that was assigned to but never
subsequently referenced.
Found by: Coverity
Fixed by: Sean Chittenden
Neil Conway [Wed, 23 Feb 2005 22:46:17 +0000 (22:46 +0000)]
This patch optimizes the md5_text() function (which is used to
implement the md5() SQL-level function). The old code did the
following:
1. de-toast the datum
2. convert it to a cstring via textout()
3. get the length of the cstring via strlen()
Since we are treating the datum context as a blob of binary data,
the latter two steps are unnecessary. Once the data has been
detoasted, we can just use it as-is, and derive its length from
the varlena metadata.
This patch improves some run-of-the-mill md5() computations by
just under 10% in my limited tests, and passes the regression tests.
I also noticed that md5_text() wasn't checking the return value
of md5_hash(); encountering OOM at precisely the right moment
could result in returning a random md5 hash. This patch corrects
that. A better fix would be to make md5_hash() only return on
success (and/or allocate via palloc()), but since it's used in
the frontend as well I don't see an easy way to do that.
Tom Lane [Wed, 23 Feb 2005 16:23:07 +0000 (16:23 +0000)]
Un-break plpgsql build by removing unwanted _() usage.
This would be a completely inappropriate place to apply localization
anyway.
Bruce Momjian [Wed, 23 Feb 2005 04:34:21 +0000 (04:34 +0000)]
Properly undef _(x) gettext macro.
Tom Lane [Tue, 22 Feb 2005 19:06:18 +0000 (19:06 +0000)]
Document that only a table's owner may TRUNCATE it. Per Keith Worthington.
Neil Conway [Tue, 22 Feb 2005 07:18:27 +0000 (07:18 +0000)]
This patch changes makes some significant changes to how compilation
and parsing work in PL/PgSQL:
- memory management is now done via palloc(). The compiled representation
of each function now has its own memory context. Therefore, the storage
consumed by a function can be reclaimed via MemoryContextDelete().
During compilation, the CurrentMemoryContext is the function's memory
context. This means that a palloc() is sufficient to allocate memory
that will have the same lifetime as the function itself. As a result,
code invoked during compilation should be careful to pfree() temporary
allocations to avoid leaking memory. Since a lot of the code in the
backend is not careful about releasing palloc'ed memory, that means
we should switch into a temporary memory context before invoking
backend functions. A temporary context appropriate for such allocations
is `compile_tmp_cxt'.
- The ability to use palloc() allows us to simply a lot of the code in
the parser. Rather than representing lists of elements via ad hoc
linked lists or arrays, we can use the List type. Rather than doing
malloc followed by memset(0), we can just use palloc0().
- We now check that the user has supplied the right number of parameters
to a RAISE statement. Supplying either too few or too many results in
an error (at runtime).
- PL/PgSQL's parser needs to accept arbitrary SQL statements. Since we
do not want to duplicate the SQL grammar in the PL/PgSQL grammar, this
means we need to be quite lax in what the PL/PgSQL grammar considers
a "SQL statement". This can lead to misleading behavior if there is a
syntax error in the function definition, since we assume a malformed
PL/PgSQL construct is a SQL statement. Furthermore, these errors were
only detected at runtime (when we tried to execute the alleged "SQL
statement" via SPI).
To rectify this, the patch changes the parser to invoke the main SQL
parser when it sees a string it believes to be a SQL expression. This
means that synctically-invalid SQL will be rejected during the
compilation of the PL/PgSQL function. This is only done when compiling
for "validation" purposes (i.e. at CREATE FUNCTION time), so it should
not impose a runtime overhead.
- Fixes for the various buffer overruns I've patched in stable branches
in the past few weeks. I've rewritten code where I thought it was
warranted (unlike the patches applied to older branches, which were
minimally invasive).
- Various other minor changes and cleanups.
- Updates to the regression tests.
Bruce Momjian [Tue, 22 Feb 2005 04:57:24 +0000 (04:57 +0000)]
Add semicolon so snprintf.c goto has a statement to attach to:
nochar:
/* nothing */
; /* semicolon required because a goto has to be attached to a statement */
Bruce Momjian [Tue, 22 Feb 2005 04:43:23 +0000 (04:43 +0000)]
Use _() macro consistently rather than gettext(). Add translation
macros around strings that were missing them.
Bruce Momjian [Tue, 22 Feb 2005 04:08:01 +0000 (04:08 +0000)]
Add:
> * Add internationalized message strings
Bruce Momjian [Tue, 22 Feb 2005 03:56:22 +0000 (03:56 +0000)]
Add support to port/snprintf.c for position parameter specification:
+ # Determine if printf supports %1$ argument selection, e.g. %5$ selects
+ # the fifth argument after the printf print string.
+ # This is not in the C99 standard, but in the Single Unix Specification (SUS).
+ # It is used in our langauge translation strings.
Nicolai Tufar with configure changes by Bruce.
Bruce Momjian [Tue, 22 Feb 2005 02:54:19 +0000 (02:54 +0000)]
Update initdb locale/encoding documentation description. Backpatch to
8.0.X.
Bruce Momjian [Mon, 21 Feb 2005 21:22:32 +0000 (21:22 +0000)]
Try to get Borland CC to compile.
Backpatch to 8.0.X which doesn't work right now.
Bruce Momjian [Mon, 21 Feb 2005 18:51:07 +0000 (18:51 +0000)]
Add port mention:
< * Add the client IP address to pg_stat_activity
> * Add the client IP address and port to pg_stat_activity
Bruce Momjian [Mon, 21 Feb 2005 17:33:54 +0000 (17:33 +0000)]
Update Russian FAQ.
Viktor Vislobokov
Bruce Momjian [Mon, 21 Feb 2005 17:30:33 +0000 (17:30 +0000)]
Clarify item:
< * Allow server configuration parameters to be remotely modified
> * Allow pg_hba.conf settings to be controlled via SQL
>
> This would require a new global table that is dumped to flat file for
> use by the postmaster. We do a similar thing for pg_shadow currently.
>
Teodor Sigaev [Mon, 21 Feb 2005 14:09:49 +0000 (14:09 +0000)]
Simplify defines
Teodor Sigaev [Mon, 21 Feb 2005 10:03:57 +0000 (10:03 +0000)]
Fix memory leak for timestamp(with and w/o tz) and indexes
Neil Conway [Mon, 21 Feb 2005 06:43:04 +0000 (06:43 +0000)]
Trivial fix: change the reference to further documentation of pathkeys to
point to its new location.
Neil Conway [Mon, 21 Feb 2005 06:12:14 +0000 (06:12 +0000)]
Fix two typos, per report from Hashem Masoud.
Bruce Momjian [Mon, 21 Feb 2005 04:58:52 +0000 (04:58 +0000)]
Clarify item:
< * Consider use of open/fcntl(O_DIRECT) to minimize OS caching
> * Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
> especially for WAL writes
Neil Conway [Mon, 21 Feb 2005 02:21:03 +0000 (02:21 +0000)]
Updates to the bibliography. Patch from Michael Fuhr.
Neil Conway [Mon, 21 Feb 2005 02:13:26 +0000 (02:13 +0000)]
Document the "register" and "unregister" pg_ctl subcommands, for use on
Windows. Patch from Magnus Hagander.
Tom Lane [Sun, 20 Feb 2005 22:02:19 +0000 (22:02 +0000)]
Use SnapshotNow instead of SnapshotSelf for reading the catalogs
during flat-file writing. The only difference is that SnapshotSelf
would consider tuples of the 'current command' within the current
transaction as valid, where SnapshotNow wouldn't. We can eliminate
the need for this with one extra CommandCounterIncrement call before
we start reading the catalogs.
Tom Lane [Sun, 20 Feb 2005 21:46:50 +0000 (21:46 +0000)]
Remove some no-longer-needed kluges for bootstrapping, in particular
the AMI_OVERRIDE flag. The fact that TransactionLogFetch treats
BootstrapTransactionId as always committed is sufficient to make
bootstrap work, and getting rid of extra tests in heavily used code
paths seems like a win. The files produced by initdb are demonstrably
the same after this change.
Bruce Momjian [Sun, 20 Feb 2005 15:01:42 +0000 (15:01 +0000)]
Rename macro to MAKE_EXPIRED_TUPLES_VISIBLE.
Bruce Momjian [Sun, 20 Feb 2005 15:00:16 +0000 (15:00 +0000)]
Fix MAKE_ALL_TUPLES_VISIBLE define.
Bruce Momjian [Sun, 20 Feb 2005 14:57:47 +0000 (14:57 +0000)]
Move define MAKE_ALL_TUPLES_VISIBLE to a more logical place.
Bruce Momjian [Sun, 20 Feb 2005 04:56:00 +0000 (04:56 +0000)]
I have added a define, MAKE_ALL_TUPLES_VISIBLE, to help people recover
deleted tuples. Of course it is only to be used for disaster recovery.
Tom Lane [Sun, 20 Feb 2005 04:45:59 +0000 (04:45 +0000)]
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.
Tom Lane [Sun, 20 Feb 2005 02:22:07 +0000 (02:22 +0000)]
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.
Tom Lane [Sat, 19 Feb 2005 23:16:15 +0000 (23:16 +0000)]
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.
Tom Lane [Sat, 19 Feb 2005 19:33:08 +0000 (19:33 +0000)]
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.
Bruce Momjian [Sat, 19 Feb 2005 04:39:52 +0000 (04:39 +0000)]
Fix typo in SGML.
Bruce Momjian [Sat, 19 Feb 2005 04:34:17 +0000 (04:34 +0000)]
Add reference to the NewbieDoc Docbook Guide.
Tom Lane [Fri, 18 Feb 2005 21:52:34 +0000 (21:52 +0000)]
Convert MemoryContextSwitchTo() into an inline function when using GCC.
Bruce Momjian [Tue, 15 Feb 2005 04:35:37 +0000 (04:35 +0000)]
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
Bruce Momjian [Tue, 15 Feb 2005 04:03:46 +0000 (04:03 +0000)]
Update Momjain book URL.
Bruce Momjian [Tue, 15 Feb 2005 04:02:25 +0000 (04:02 +0000)]
Update URL for Momjian book.
Bruce Momjian [Tue, 15 Feb 2005 03:54:19 +0000 (03:54 +0000)]
Change wording:
< The agreed syntax is:
> The proposed syntax is:
Bruce Momjian [Tue, 15 Feb 2005 03:53:00 +0000 (03:53 +0000)]
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;
>
Bruce Momjian [Tue, 15 Feb 2005 03:50:07 +0000 (03:50 +0000)]
Update comment on VACUUM FULL.
Manfred Koizar
Bruce Momjian [Tue, 15 Feb 2005 03:17:41 +0000 (03:17 +0000)]
Fix typo:
< o Allow COPY FROM ... CVS to interpret newlines and carriage
> o Allow COPY FROM ... CSV to interpret newlines and carriage
Bruce Momjian [Tue, 15 Feb 2005 02:27:36 +0000 (02:27 +0000)]
Add:
> * Add xpath_array() to /contrib/xml2 to return results as an array
Bruce Momjian [Tue, 15 Feb 2005 01:03:47 +0000 (01:03 +0000)]
Document usage of gettext_noop().
Bruce Momjian [Mon, 14 Feb 2005 23:02:35 +0000 (23:02 +0000)]
Improve documentation of signal usage for HAVE_SIGPROCMASK and
non-HAVE_SIGPROCMASK cases in pqinitmask().
Bruce Momjian [Mon, 14 Feb 2005 23:02:03 +0000 (23:02 +0000)]
Improve documentation of signal usage for HAVE_SIGPROCMASK and
non-HAVE_SIGPROCMASK cases in pqinitmask().
Bruce Momjian [Mon, 14 Feb 2005 19:51:17 +0000 (19:51 +0000)]
Add:
> * Allow the creation of indexes with mixed ascending/descending specifiers
Tom Lane [Mon, 14 Feb 2005 06:17:44 +0000 (06:17 +0000)]
ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich.
Neil Conway [Mon, 14 Feb 2005 00:54:26 +0000 (00:54 +0000)]
Minor consistency improvement.
Bruce Momjian [Mon, 14 Feb 2005 00:03:57 +0000 (00:03 +0000)]
Add:
> * Make src/port/snprintf.c thread-safe
Bruce Momjian [Sun, 13 Feb 2005 16:50:44 +0000 (16:50 +0000)]
Print file name and errno string on rmtree failure.
Backpatch to 8.0.X.
Tom Lane [Sun, 13 Feb 2005 03:04:15 +0000 (03:04 +0000)]
Write some real documentation about the index access method API.
Bruce Momjian [Sun, 13 Feb 2005 01:25:50 +0000 (01:25 +0000)]
Move plpgsql DEBUG from DEBUG2 to DEBUG1 because it is a user-requested
DEBUG.
Bruce Momjian [Sun, 13 Feb 2005 00:10:41 +0000 (00:10 +0000)]
Clarify:
< * Add IP address to pg_stat_activity
> * Add the client IP address to pg_stat_activity
Bruce Momjian [Sun, 13 Feb 2005 00:09:34 +0000 (00:09 +0000)]
Add:
> * Add IP address to pg_stat_activity
Bruce Momjian [Sat, 12 Feb 2005 23:53:42 +0000 (23:53 +0000)]
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.
Tom Lane [Fri, 11 Feb 2005 22:15:12 +0000 (22:15 +0000)]
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.
Bruce Momjian [Fri, 11 Feb 2005 04:53:51 +0000 (04:53 +0000)]
Update to Russian FAQ, HEAD and 8.0.X.
Bruce Momjian [Fri, 11 Feb 2005 04:31:54 +0000 (04:31 +0000)]
Make clearer warning about using 'now' with DEFAULT:
SELECT CURRENT_TIMESTAMP;
SELECT now();
SELECT TIMESTAMP 'now'; -- incorrect for use with DEFAULT
Bruce Momjian [Fri, 11 Feb 2005 04:19:05 +0000 (04:19 +0000)]
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.
Neil Conway [Fri, 11 Feb 2005 04:09:05 +0000 (04:09 +0000)]
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.
Tom Lane [Fri, 11 Feb 2005 00:41:12 +0000 (00:41 +0000)]
Fix ANALYZE to accumulate some minimal statistics for an all-null column.
Per gripes from Mike Mascari and Bernd Heller.
Tom Lane [Thu, 10 Feb 2005 20:36:28 +0000 (20:36 +0000)]
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.
Michael Meskes [Thu, 10 Feb 2005 08:08:52 +0000 (08:08 +0000)]
Fixed changelog entry to list correct bug reporter.
Michael Meskes [Thu, 10 Feb 2005 08:06:35 +0000 (08:06 +0000)]
Fixed more parsing bugs in other CREATE statements as pointed out by TANIDA
Yutaka <tanida@sra.co.jp>.
Neil Conway [Thu, 10 Feb 2005 06:08:22 +0000 (06:08 +0000)]
Add some index entries for RAISE and exception handling in PL/PgSQL. Per
suggestion from Rainer Brandt.
Neil Conway [Thu, 10 Feb 2005 05:14:58 +0000 (05:14 +0000)]
Improvements to documentation of shared memory configuration under
FreeBSD. From Mark Kirkwood, editorializing by Neil Conway.
Neil Conway [Thu, 10 Feb 2005 05:01:07 +0000 (05:01 +0000)]
Use now() rather than 'now' in an example in the PL/PgSQL docs. From David
Fetter and Ben Calvert.
Bruce Momjian [Thu, 10 Feb 2005 04:52:31 +0000 (04:52 +0000)]
Update pginstaller URL to postgresql.org/ftp/win32/.
Backpatch to 8.0.X.
Neil Conway [Wed, 9 Feb 2005 23:17:26 +0000 (23:17 +0000)]
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.
Michael Meskes [Wed, 9 Feb 2005 11:26:44 +0000 (11:26 +0000)]
Fixed bug in parsing of CREATE AS statement.
Bruce Momjian [Tue, 8 Feb 2005 03:23:51 +0000 (03:23 +0000)]
Spacing:
< * Allow the PITR process to be debugged and data examined
> * Allow the PITR process to be debugged and data examined
Bruce Momjian [Tue, 8 Feb 2005 03:21:02 +0000 (03:21 +0000)]
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.
<
Neil Conway [Sun, 6 Feb 2005 22:31:50 +0000 (22:31 +0000)]
Better late than never: document that the GiST API changed in 8.0 in the
"incompatibilities" section of the release notes.
Tom Lane [Sun, 6 Feb 2005 20:59:30 +0000 (20:59 +0000)]
Document array behavior for out-of-range subscripts.
Tom Lane [Sun, 6 Feb 2005 20:19:08 +0000 (20:19 +0000)]
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.
Tom Lane [Sat, 5 Feb 2005 20:07:16 +0000 (20:07 +0000)]
Fix bit-rot in ipc_test.c; it didn't include some stuff that pg_shmem.c
now depends on.
Tom Lane [Sat, 5 Feb 2005 19:38:58 +0000 (19:38 +0000)]
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.
Neil Conway [Fri, 4 Feb 2005 02:04:53 +0000 (02:04 +0000)]
Refactor some duplicated code in lock.c: create UnGrantLock(), move code
from LockRelease() and LockReleaseAll() into it. From Heikki Linnakangas.
Tom Lane [Thu, 3 Feb 2005 23:38:58 +0000 (23:38 +0000)]
Fix minor thinko in logic to set dump order when dumping from a pre-7.3
database: aggregates should be dumped in the same pass as operators,
not in the same pass as functions.
Tom Lane [Thu, 3 Feb 2005 23:29:19 +0000 (23:29 +0000)]
Ensure that all details of the ARC algorithm are hidden within freelist.c.
This refactoring does not change any algorithms or data structures, just
remove visibility of the ARC datastructures from other source files.
Neil Conway [Thu, 3 Feb 2005 07:12:37 +0000 (07:12 +0000)]
Minor SGML improvements.
Tom Lane [Wed, 2 Feb 2005 22:40:04 +0000 (22:40 +0000)]
Improve performance of fmgr.c calling routines for cases with more than
two arguments. Per suggestions from A. Ogawa.
Tom Lane [Wed, 2 Feb 2005 21:49:09 +0000 (21:49 +0000)]
Adjust constant-folding of CASE expressions so that the simple comparison
form of CASE (eg, CASE 0 WHEN 1 THEN ...) can be constant-folded as it
was in 7.4. Also, avoid constant-folding result expressions that are
certainly unreachable --- the former coding was a bit cavalier about this
and could generate unexpected results for all-constant CASE expressions.
Add regression test cases. Per report from Vlad Marchenko.
Bruce Momjian [Wed, 2 Feb 2005 18:16:13 +0000 (18:16 +0000)]
Improve wording of to_char() change in 8.1:
The 8.1 release will remove the <function>to_char()</> function
for intervals.
Bruce Momjian [Wed, 2 Feb 2005 17:44:22 +0000 (17:44 +0000)]
Update FAQ numbering.
Bruce Momjian [Wed, 2 Feb 2005 17:26:49 +0000 (17:26 +0000)]
Update RESET ALL items:
< all temporary tables, removal of any NOTIFYs, etc. This could be used
< for connection pooling. We could also change RESET ALL to have this
< functionality.
> all temporary tables, removal of any NOTIFYs, cursors, prepared
> queries(?), currval()s, etc. This could be used for connection pooling.
> We could also change RESET ALL to have this functionality.
Bruce Momjian [Wed, 2 Feb 2005 16:58:52 +0000 (16:58 +0000)]
Add to release checklist:
* Update inet/cidr data types with newest Bind patches
Michael Meskes [Wed, 2 Feb 2005 15:37:43 +0000 (15:37 +0000)]
Fixed bug in parsing of #line statement in declare section.
Bruce Momjian [Wed, 2 Feb 2005 13:41:18 +0000 (13:41 +0000)]
Remove pgsql_tmp directory FAQ item.
Neil Conway [Wed, 2 Feb 2005 06:36:02 +0000 (06:36 +0000)]
Add support for temporary views, including documentation and regression
tests. Contributed by Koju Iijima, review from Neil Conway, Gavin Sherry
and Tom Lane.
Also, fix error in description of WITH CHECK OPTION clause in the CREATE
VIEW reference page: it should be "CASCADED", not "CASCADE".
Neil Conway [Tue, 1 Feb 2005 23:28:40 +0000 (23:28 +0000)]
Fix a bug induced by the list-rewrite that resulted in incrementing the
command counter more than necessary. Per report from Michael Fuhr.
Tom Lane [Tue, 1 Feb 2005 23:08:13 +0000 (23:08 +0000)]
Adjust estimate_num_groups() to not clamp per-relation group count
estimate to less than the number of values estimated for any one grouping
Var, as suggested by Manfred. This is intuitively right, and what's
more it puts the plan choices in the subselect regression test back the
way they were before ...
Bruce Momjian [Tue, 1 Feb 2005 21:11:06 +0000 (21:11 +0000)]
Add Josh's performance page.
Tom Lane [Tue, 1 Feb 2005 19:35:14 +0000 (19:35 +0000)]
Adjust plpgsql to allow assignment to an element of an array that is
initially NULL. For 8.0 we changed the main executor to have this
behavior in an UPDATE of an array column, but plpgsql's equivalent case
was overlooked. Per report from Sven Willenberger.
Bruce Momjian [Tue, 1 Feb 2005 04:56:53 +0000 (04:56 +0000)]
Add FETCH/MOVE:
< * Change LIMIT/OFFSET to use int8
> * Change LIMIT/OFFSET and FETCH/MOVE to use int8
Bruce Momjian [Tue, 1 Feb 2005 04:54:43 +0000 (04:54 +0000)]
Add:
> * Allow GRANT/REVOKE permissions to be inherited by objects based on
> schema permissions
Bruce Momjian [Tue, 1 Feb 2005 02:40:50 +0000 (02:40 +0000)]
Final FAQ cleanups to remove information about very old releases.