]> granicus.if.org Git - postgresql/log
postgresql
15 years agoRevise plpgsql's scanner to process comments and string literals in a way
Tom Lane [Sun, 19 Apr 2009 18:52:58 +0000 (18:52 +0000)]
Revise plpgsql's scanner to process comments and string literals in a way
more nearly matching the core SQL scanner.  The user-visible effects are:

* Block comments (slash-star comments) now nest, as per SQL spec.

* In standard_conforming_strings mode, backslash as the last character of a
  non-E string literal is now correctly taken as an ordinary character;
  formerly it was misinterpreted as escaping the ending quote.  (Since the
  string also had to pass through the core scanner, this invariably led
  to syntax errors.)

* Formerly, backslashes in the format string of RAISE were always treated as
  quoting the next character, regardless of mode.  Now, they are ordinary
  characters with standard_conforming_strings on, while with it off, they
  introduce the same set of escapes as in the core SQL scanner.  Also,
  escape_string_warning is now effective for RAISE format strings.  These
  changes make RAISE format strings work just like any other string literal.

This is implemented by copying and pasting a lot of logic from the core
scanner.  It would be a good idea to look into getting rid of plpgsql's
scanner entirely in favor of using the core scanner.  However, that involves
more change than I can justify making during beta --- in particular, the core
scanner would have to become re-entrant.

In passing, remove the kluge that made the plpgsql scanner emit T_FUNCTION or
T_TRIGGER as a made-up first token.  That presumably had some value once upon
a time, but now it's just useless complication for both the scanner and the
grammar.

15 years agoMention as a potential incompatibility the fact that SELECT DISTINCT, UNION,
Tom Lane [Sun, 19 Apr 2009 15:49:34 +0000 (15:49 +0000)]
Mention as a potential incompatibility the fact that SELECT DISTINCT, UNION,
etc are no longer guaranteed to produce sorted output; per gripe from Ian
Barwick.  Also improve the release note entries about to_timestamp(), per
Brendan Jurd.

15 years agoAdd Ron Mayer as primary contributor for:
Bruce Momjian [Sat, 18 Apr 2009 00:01:01 +0000 (00:01 +0000)]
Add Ron Mayer as primary contributor for:

      Support the <acronym>IS0 8601</> <type>interval</> syntax

based on private email from Ron.

15 years agoBump disable_cost up from 1e8 to 1e10, per gripe from Kris Jurka.
Tom Lane [Fri, 17 Apr 2009 15:33:33 +0000 (15:33 +0000)]
Bump disable_cost up from 1e8 to 1e10, per gripe from Kris Jurka.

15 years agoFix planner to restore its previous level of intelligence about pushing
Tom Lane [Thu, 16 Apr 2009 20:42:16 +0000 (20:42 +0000)]
Fix planner to restore its previous level of intelligence about pushing
constants through full joins, as in

select * from tenk1 a full join tenk1 b using (unique1)
where unique1 = 42;

which should generate a fairly cheap plan where we apply the constraint
unique1 = 42 in each relation scan.  This had been broken by my patch of
2008-06-27, which is now reverted in favor of a more invasive but hopefully
less incorrect approach.  That patch was meant to prevent incorrect extraction
of OR'd indexclauses from OR conditions above an outer join.  To do that
correctly we need more information than the outerjoin_delay flag can provide,
so add a nullable_relids field to RestrictInfo that records exactly which
relations are nulled by outer joins that are underneath a particular qual
clause.  A side benefit is that we can make the test in create_or_index_quals
more specific: it is now smart enough to extract an OR'd indexclause into the
outer side of an outer join, even though it must not do so in the inner side.
The old coding couldn't distinguish these cases so it could not do either.

15 years agoFix the regression test error message for array_fill, too.
Alvaro Herrera [Thu, 16 Apr 2009 14:43:39 +0000 (14:43 +0000)]
Fix the regression test error message for array_fill, too.
Per note from Andrew Dunstan.

15 years agoSubstitute extraneous underscores with spaces.
Alvaro Herrera [Wed, 15 Apr 2009 23:30:33 +0000 (23:30 +0000)]
Substitute extraneous underscores with spaces.

15 years agoRemove mention of pre-7.1 inheritance behavior from /ref pages; keep
Bruce Momjian [Wed, 15 Apr 2009 22:42:50 +0000 (22:42 +0000)]
Remove mention of pre-7.1 inheritance behavior from /ref pages;  keep
mentions in main documentation.

15 years agoAdd missing gettext calls around some strings. Also remove quotes around the
Alvaro Herrera [Wed, 15 Apr 2009 21:42:50 +0000 (21:42 +0000)]
Add missing gettext calls around some strings.  Also remove quotes around the
%s that they expand to, per comment from Tom.

15 years agoAdd missing periods.
Alvaro Herrera [Wed, 15 Apr 2009 21:36:12 +0000 (21:36 +0000)]
Add missing periods.

15 years agoRemove beer-ware license from crypt-md5.c, per
Magnus Hagander [Wed, 15 Apr 2009 18:58:24 +0000 (18:58 +0000)]
Remove beer-ware license from crypt-md5.c, per
approval from Poul-Henning Kamp.

This makes the file the same standard 2-clause BSD as the
rest of PostgreSQL.

15 years agoFix SGML markup I broke yesterday.
Bruce Momjian [Wed, 15 Apr 2009 13:03:11 +0000 (13:03 +0000)]
Fix SGML markup I broke yesterday.

15 years agoFix broken {xufailed} production that made HEAD fail on
Tom Lane [Tue, 14 Apr 2009 22:18:47 +0000 (22:18 +0000)]
Fix broken {xufailed} production that made HEAD fail on
select u&42 from table-with-a-u-column;
Also fix missing SET_YYLLOC() in the {dolqfailed} production that I suppose
this was based on.  The latter is a pre-existing bug, but the only effect
is to misplace the error cursor by one token, so probably not worth
backpatching.

15 years agoReformat 'sslmode' options into an SGML table; improve wording.
Bruce Momjian [Tue, 14 Apr 2009 20:42:48 +0000 (20:42 +0000)]
Reformat 'sslmode' options into an SGML table;  improve wording.

15 years agoAdd libpq error message text on how to handle missing root.crt file.
Bruce Momjian [Tue, 14 Apr 2009 17:30:16 +0000 (17:30 +0000)]
Add libpq error message text on how to handle missing root.crt file.

15 years agoDo some copy-editing on description of ts_headline().
Tom Lane [Tue, 14 Apr 2009 00:49:56 +0000 (00:49 +0000)]
Do some copy-editing on description of ts_headline().

15 years agopg_restore -jN does not equate "multiple jobs", so partly revert the
Alvaro Herrera [Tue, 14 Apr 2009 00:06:35 +0000 (00:06 +0000)]
pg_restore -jN does not equate "multiple jobs", so partly revert the
previous patch.

Per note from Tom.

15 years agoMake new strings more alike previously existing messages.
Alvaro Herrera [Mon, 13 Apr 2009 21:03:36 +0000 (21:03 +0000)]
Make new strings more alike previously existing messages.

15 years agoMake a copy-editing pass over the 8.4 release notes.
Tom Lane [Mon, 13 Apr 2009 06:05:12 +0000 (06:05 +0000)]
Make a copy-editing pass over the 8.4 release notes.

15 years agoFix logic to detect conflicts or blocks involving exclusive locks in parallel restore...
Andrew Dunstan [Sun, 12 Apr 2009 21:02:44 +0000 (21:02 +0000)]
Fix logic to detect conflicts or blocks involving exclusive locks in parallel restore items.
If a currently running item needs an exclusive lock on any item that the candidate items needs
any sort of lock on, or vice versa, then the candidate item is not allowed to run now, and
must wait till later.

15 years agoFix pg_dumpall so that when --clean is specified, it drops roles and
Tom Lane [Sat, 11 Apr 2009 20:23:05 +0000 (20:23 +0000)]
Fix pg_dumpall so that when --clean is specified, it drops roles and
tablespaces in an order that has some chance of working.
Per a complaint from Kevin Bailey.

This is a pre-existing bug, but given the lack of prior complaints I'm
not sure it's worth back-patching.  In most cases failure of the DROP
commands wouldn't be that important anyway.

In passing, fix syntax errors in dumpCreateDB()'s queries for old servers;
these were apparently introduced in recent binary_upgrade patch.

15 years agoMake string more alike other similar messages.
Alvaro Herrera [Sat, 11 Apr 2009 18:38:54 +0000 (18:38 +0000)]
Make string more alike other similar messages.

15 years agoMore wording clarification of sslverify setting.
Bruce Momjian [Sat, 11 Apr 2009 16:46:54 +0000 (16:46 +0000)]
More wording clarification of sslverify setting.

15 years agoMessage fix
Peter Eisentraut [Sat, 11 Apr 2009 14:11:45 +0000 (14:11 +0000)]
Message fix
(I guess this was a cruise replace mistake.)

15 years agoMessage improvement
Peter Eisentraut [Sat, 11 Apr 2009 14:11:21 +0000 (14:11 +0000)]
Message improvement

15 years agoBetter document libpq sslverify behavior as requiring root.crt.
Bruce Momjian [Sat, 11 Apr 2009 12:27:53 +0000 (12:27 +0000)]
Better document libpq sslverify behavior as requiring root.crt.

15 years agoWording improvement.
Bruce Momjian [Sat, 11 Apr 2009 02:08:34 +0000 (02:08 +0000)]
Wording improvement.

15 years agoWording improvement for SSL user certificate authentication.
Bruce Momjian [Sat, 11 Apr 2009 02:07:25 +0000 (02:07 +0000)]
Wording improvement for SSL user certificate authentication.

15 years agoClarify SSL _user_ authentication in release notes.
Bruce Momjian [Sat, 11 Apr 2009 02:06:16 +0000 (02:06 +0000)]
Clarify SSL _user_ authentication in release notes.

15 years agoAdd cross-references from the DECLARE and FETCH reference pages to
Tom Lane [Fri, 10 Apr 2009 17:56:21 +0000 (17:56 +0000)]
Add cross-references from the DECLARE and FETCH reference pages to
the plpgsql documentation about cursors.  Per a suggestion from
Matthew Wakeling.

15 years agoDocument how *_blks_read statistics columns are computed.
Bruce Momjian [Fri, 10 Apr 2009 03:13:36 +0000 (03:13 +0000)]
Document how *_blks_read statistics columns are computed.

15 years agocommit and tag beta1 REL8_4_BETA1
Marc G. Fournier [Fri, 10 Apr 2009 00:20:10 +0000 (00:20 +0000)]
commit and tag beta1

15 years agoUpdate release notes through yesterday; some minor wordsmithing.
Tom Lane [Thu, 9 Apr 2009 23:22:49 +0000 (23:22 +0000)]
Update release notes through yesterday; some minor wordsmithing.

15 years agoClarify documentation references to pg_stat_get_blocks_fetched and
Bruce Momjian [Thu, 9 Apr 2009 22:32:02 +0000 (22:32 +0000)]
Clarify documentation references to pg_stat_get_blocks_fetched and
pg_stat_get_blocks_hit, per suggestion from Robert Haas.

15 years agoNo more need to update FAQs.
Bruce Momjian [Thu, 9 Apr 2009 21:50:31 +0000 (21:50 +0000)]
No more need to update FAQs.

15 years agoAdd URL for config.guess/sub updates
Peter Eisentraut [Thu, 9 Apr 2009 21:35:33 +0000 (21:35 +0000)]
Add URL for config.guess/sub updates

15 years agoUpdate config.guess and config.sub
Peter Eisentraut [Thu, 9 Apr 2009 21:33:02 +0000 (21:33 +0000)]
Update config.guess and config.sub

15 years agoUpdate time zone data files to tzdata release 2009e: DST law changes in
Tom Lane [Thu, 9 Apr 2009 20:50:42 +0000 (20:50 +0000)]
Update time zone data files to tzdata release 2009e: DST law changes in
Argentina/San_Luis, Cuba, Jordan (historical correction only), Morocco,
Palestine, Syria, Tunisia.

15 years agoTranslation updates for 8.4 beta
Peter Eisentraut [Thu, 9 Apr 2009 19:38:53 +0000 (19:38 +0000)]
Translation updates for 8.4 beta

15 years agoUpdate GIN limitations documentation to match current reality.
Tom Lane [Thu, 9 Apr 2009 19:07:44 +0000 (19:07 +0000)]
Update GIN limitations documentation to match current reality.

15 years agoRemove SQL-compatibility function cardinality(). It is not exactly clear
Tom Lane [Thu, 9 Apr 2009 17:39:50 +0000 (17:39 +0000)]
Remove SQL-compatibility function cardinality().  It is not exactly clear
how this ought to behave for multi-dimensional arrays.  Per discussion,
not having it at all seems better than having it with what might prove
to be the wrong behavior.  We can always add it later when we have consensus
on the correct behavior.

15 years agoImprove documentation about how checkpoint spreads I/O activity.
Bruce Momjian [Thu, 9 Apr 2009 16:20:50 +0000 (16:20 +0000)]
Improve documentation about how checkpoint spreads I/O activity.

15 years agoTreat EOF like \n for line-counting purposes in ParseConfigFile,
Tom Lane [Thu, 9 Apr 2009 14:21:02 +0000 (14:21 +0000)]
Treat EOF like \n for line-counting purposes in ParseConfigFile,
per bug #4752.  Fujii Masao

15 years agoFix the plpgsql memory leak exhibited in bug #4677. That leak was introduced
Tom Lane [Thu, 9 Apr 2009 02:57:53 +0000 (02:57 +0000)]
Fix the plpgsql memory leak exhibited in bug #4677.  That leak was introduced
by my patch of 2007-01-28 to use per-subtransaction ExprContexts/EStates:
since we re-prepared any expression tree when the current subtransaction ID
changed, we'd accumulate more and more leaked expression state trees in the
outermost subtransaction if the same function was executed at multiple levels
of subtransaction nesting.  To fix, go back to the previous scheme where
there was only one EState per transaction for simple plpgsql expressions.
We really only need an ExprContext per subtransaction, not a whole EState,
so it's possible to keep prepared expression state trees in the one EState
throughout the transaction.  This should be more efficient as well as not
leaking memory for cases involving lots of subtransactions.

The added regression test is the case that inspired the 2007-01-28 patch in
the first place, just to make sure we didn't go backwards.  The current
memory leak complaint is unfortunately hard to test for in the regression
test framework, though manual testing shows it's fixed.

Although this is a pre-existing bug, I'm not back-patching because I'd like to
see this method get some field testing first.  Consider back-patching if it
gets through 8.4beta unscathed.

15 years agoRemove psql's ancient hack that suppressed functions taking or returning
Tom Lane [Wed, 8 Apr 2009 22:29:30 +0000 (22:29 +0000)]
Remove psql's ancient hack that suppressed functions taking or returning
cstring from the output of \df.  Now that the default behavior is to
exclude all system functions, the de-cluttering rationale for this behavior
seems pretty weak; and it was always quite confusing/unhelpful if you were
actually looking for I/O functions.  (Not to mention if you were looking
for encoding converters or other cases that might take or return cstring.)

15 years agoAllow leading and trailing spaces around NaN in numeric_in.
Tom Lane [Wed, 8 Apr 2009 22:08:40 +0000 (22:08 +0000)]
Allow leading and trailing spaces around NaN in numeric_in.

Sam Mason, rewritten a bit by Tom.

15 years agoXMLATTRIBUTES() should send the attribute values through
Peter Eisentraut [Wed, 8 Apr 2009 21:51:38 +0000 (21:51 +0000)]
XMLATTRIBUTES() should send the attribute values through
map_sql_value_to_xml_value() instead of directly through the data type output
function.  This is per SQL standard, and consistent with XMLELEMENT().

15 years agoQuote string literals correctly in the new CREATE SERVER statements
Heikki Linnakangas [Wed, 8 Apr 2009 19:02:37 +0000 (19:02 +0000)]
Quote string literals correctly in the new CREATE SERVER statements
and binary upgrade UPDATE statements.

15 years agoOops, mustn't call textdomain() when compiling without --enable-nls
Heikki Linnakangas [Wed, 8 Apr 2009 13:08:09 +0000 (13:08 +0000)]
Oops, mustn't call textdomain() when compiling without --enable-nls

15 years agoTell gettext which codeset to use by calling bind_textdomain_codeset(). We
Heikki Linnakangas [Wed, 8 Apr 2009 09:50:48 +0000 (09:50 +0000)]
Tell gettext which codeset to use by calling bind_textdomain_codeset(). We
already did that on Windows, but it's needed on other platforms too when
LC_CTYPE=C. With other locales, we enforce (or trust) that the codeset of
the locale matches the server encoding so we don't need to bind it
explicitly. It should do no harm in that case either, but I don't have
full faith in the PG encoding -> OS codeset mapping table yet. Per recent
discussion on pgsql-hackers.

15 years agoImprove tab completion for \ef.
Bruce Momjian [Wed, 8 Apr 2009 04:05:16 +0000 (04:05 +0000)]
Improve tab completion for \ef.

Andrew Gierth

15 years agoRevert addition of units to GUC descriptions; doesn't affect
Bruce Momjian [Tue, 7 Apr 2009 23:27:34 +0000 (23:27 +0000)]
Revert addition of units to GUC descriptions;  doesn't affect
postgresql.conf.

15 years agoDisable effective_io_concurrency on Solaris because posix_fadvise() is
Bruce Momjian [Tue, 7 Apr 2009 22:48:30 +0000 (22:48 +0000)]
Disable effective_io_concurrency on Solaris because posix_fadvise() is
no-op on that platform.

15 years agoMore GUC units doc updates.
Bruce Momjian [Tue, 7 Apr 2009 22:22:19 +0000 (22:22 +0000)]
More GUC units doc updates.

Euler Taveira de Oliveira

15 years agoAdd attribution for:
Bruce Momjian [Tue, 7 Apr 2009 21:30:01 +0000 (21:30 +0000)]
Add attribution for:

       Add Japanese message translations (Japan PostgreSQL Users Group)

15 years agoAdd release note item:
Bruce Momjian [Tue, 7 Apr 2009 21:29:02 +0000 (21:29 +0000)]
Add release note item:

       Add Japanese message translations

15 years agoRemove FAQ and FAQ_DEV ASCII and HTML files from CVS; now on the wiki.
Bruce Momjian [Tue, 7 Apr 2009 21:20:49 +0000 (21:20 +0000)]
Remove FAQ and FAQ_DEV ASCII and HTML files from CVS;  now on the wiki.

Per-language files kept for transator usage.

15 years agoSupport Perl 5.10 and TCL 8.5 in MSVC builds.
Magnus Hagander [Tue, 7 Apr 2009 19:35:57 +0000 (19:35 +0000)]
Support Perl 5.10 and TCL 8.5 in MSVC builds.

We should probably have a better way to do this (meaning
something not hardcoded) eventually, but this fixes the
problem for 8.4.

Dave Page

15 years agoRemove useless (leftover?) extern declaration.
Tom Lane [Tue, 7 Apr 2009 17:57:50 +0000 (17:57 +0000)]
Remove useless (leftover?) extern declaration.

15 years agoDefend against non-ASCII letters in fuzzystrmatch code. The functions
Tom Lane [Tue, 7 Apr 2009 15:53:54 +0000 (15:53 +0000)]
Defend against non-ASCII letters in fuzzystrmatch code.  The functions
still don't behave very sanely for multibyte encodings, but at least
they won't be indexing off the ends of static arrays.

15 years agoAdd doc link to section about how to compile triggers.
Bruce Momjian [Tue, 7 Apr 2009 04:02:41 +0000 (04:02 +0000)]
Add doc link to section about how to compile triggers.

15 years agoAdd an optional parameter to pg_start_backup() that specifies whether to do
Tom Lane [Tue, 7 Apr 2009 00:31:26 +0000 (00:31 +0000)]
Add an optional parameter to pg_start_backup() that specifies whether to do
the checkpoint in immediate or lazy mode.  This is to address complaints
that pg_start_backup() takes a long time even when there's no need to minimize
its I/O consumption.

15 years agoAdd unit documentation for various postgresql.conf settings.
Bruce Momjian [Mon, 6 Apr 2009 21:00:52 +0000 (21:00 +0000)]
Add unit documentation for various postgresql.conf settings.

15 years agoAdd entry in the encoding number to OS name table for KOI8-U.
Peter Eisentraut [Mon, 6 Apr 2009 19:34:52 +0000 (19:34 +0000)]
Add entry in the encoding number to OS name table for KOI8-U.

15 years agoProperly align equals signs in new postgresql.conf units comments.
Bruce Momjian [Mon, 6 Apr 2009 19:03:04 +0000 (19:03 +0000)]
Properly align equals signs in new postgresql.conf units comments.

15 years agoDocument in postgresql.conf that the default units for
Bruce Momjian [Mon, 6 Apr 2009 19:00:18 +0000 (19:00 +0000)]
Document in postgresql.conf that the default units for
log_min_duration_statement is milliseconds.

15 years agoDisplay postgresql.conf unit options in an easier-to-understand,
Bruce Momjian [Mon, 6 Apr 2009 18:40:47 +0000 (18:40 +0000)]
Display postgresql.conf unit options in an easier-to-understand,
2-column format.

15 years agoDoc change in new patch, stand-alone -> standalone
Bruce Momjian [Mon, 6 Apr 2009 17:56:31 +0000 (17:56 +0000)]
Doc change in new patch, stand-alone -> standalone

15 years agoAdd documentation mention of 'check_postgres.pl' in Routine Database
Bruce Momjian [Mon, 6 Apr 2009 17:55:19 +0000 (17:55 +0000)]
Add documentation mention of 'check_postgres.pl' in Routine Database
Maintenance Tasks section.

15 years agoAdjust psql tab completion for new \d 'S' flag behavior; adjust code to
Bruce Momjian [Mon, 6 Apr 2009 15:50:59 +0000 (15:50 +0000)]
Adjust psql tab completion for new \d 'S' flag behavior;  adjust code to
be more flexible about additional modifiers for \d commands.

15 years agoDocument the fact that fuzzystrmatch doesn't work in multibyte encodings.
Tom Lane [Mon, 6 Apr 2009 15:43:00 +0000 (15:43 +0000)]
Document the fact that fuzzystrmatch doesn't work in multibyte encodings.

15 years agoCorrect keywords table for status of COLLATE vs
Tom Lane [Mon, 6 Apr 2009 15:01:36 +0000 (15:01 +0000)]
Correct keywords table for status of COLLATE vs
LC_COLLATE.

15 years agoFix 'all at one page bug' in picksplit method of R-tree emulation. Add defense
Teodor Sigaev [Mon, 6 Apr 2009 14:27:27 +0000 (14:27 +0000)]
Fix 'all at one page bug' in picksplit method of R-tree emulation. Add defense
from buggy user-defined picksplit to GiST.

15 years agoRename the new CREATE DATABASE options to set collation and ctype into
Heikki Linnakangas [Mon, 6 Apr 2009 08:42:53 +0000 (08:42 +0000)]
Rename the new CREATE DATABASE options to set collation and ctype into
LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.

15 years agoChange cardinality() into a C-code function, instead of a SQL-language
Tom Lane [Sun, 5 Apr 2009 22:28:59 +0000 (22:28 +0000)]
Change cardinality() into a C-code function, instead of a SQL-language
alias for array_length(v,1).  The efficiency gain here is doubtless
negligible --- what I'm interested in is making sure that if we have
second thoughts about the definition, we will not have to force a
post-beta initdb to change the implementation.

15 years agoMake ExecInitExpr build the list of SubPlans found in a plan tree in order
Tom Lane [Sun, 5 Apr 2009 20:32:06 +0000 (20:32 +0000)]
Make ExecInitExpr build the list of SubPlans found in a plan tree in order
of discovery, rather than reverse order.  This doesn't matter functionally
(I suppose the previous coding dates from the time when lcons was markedly
cheaper than lappend).  However now that EXPLAIN is labeling subplans with
IDs that are based on order of creation, this may help produce a slightly
less surprising printout.

15 years agoChange EXPLAIN output so that subplans and initplans (particularly CTEs)
Tom Lane [Sun, 5 Apr 2009 19:59:40 +0000 (19:59 +0000)]
Change EXPLAIN output so that subplans and initplans (particularly CTEs)
are individually labeled, rather than just grouped under an "InitPlan"
or "SubPlan" heading.  This in turn makes it possible for decompilation of
a subplan reference to usefully identify which subplan it's referencing.
I also made InitPlans identify which parameter symbol(s) they compute,
so that references to those parameters elsewhere in the plan tree can
be connected to the initplan that will be executed.  Per a gripe from
Robert Haas about EXPLAIN output of a WITH query being inadequate,
plus some longstanding pet peeves of my own.

15 years agoFix infinite loop while checking of partial match in pending list.
Teodor Sigaev [Sun, 5 Apr 2009 11:32:01 +0000 (11:32 +0000)]
Fix infinite loop while checking of partial match in pending list.
Improve comments. Now GIN-indexable operators should be strict.
Per Tom's questions/suggestions.

15 years agoRemove a boatload of useless definitions of 'int optreset'. If we
Tom Lane [Sun, 5 Apr 2009 04:19:59 +0000 (04:19 +0000)]
Remove a boatload of useless definitions of 'int optreset'.  If we
are using our own ports of getopt or getopt_long, those will define
the variable for themselves; and if not, we don't need these, because
we never touch the variable anyway.

15 years agoI had always wondered why pg_config.h.win32 claimed that Windows
Tom Lane [Sun, 5 Apr 2009 04:09:01 +0000 (04:09 +0000)]
I had always wondered why pg_config.h.win32 claimed that Windows
provides optreset.  Current mastodon results prove that in fact it
does not; it was only because getopt.c defined the variable anyway
that things failed to fall over.

15 years agoRemove contrib/intarray's definitions of the <@ and @> operators, so that they
Tom Lane [Sun, 5 Apr 2009 00:40:35 +0000 (00:40 +0000)]
Remove contrib/intarray's definitions of the <@ and @> operators, so that they
don't cause confusion with the built-in anyarray versions of those operators.
Adjust the module's index opclasses to support the built-in operators in place
of the private ones.

The private implementations are still available under their historical
names @ and ~, so no functionality is lost.  Some quick testing suggests
that they offer no real benefit over the core operators, however.

Per a complaint from Rusty Conover.

15 years agoHmm, baiji thinks we need explicit 'extern' here.
Tom Lane [Sat, 4 Apr 2009 22:36:11 +0000 (22:36 +0000)]
Hmm, baiji thinks we need explicit 'extern' here.

15 years agoMake an attempt at fixing our current Solaris 11 breakage: add a configure
Tom Lane [Sat, 4 Apr 2009 21:55:50 +0000 (21:55 +0000)]
Make an attempt at fixing our current Solaris 11 breakage: add a configure
probe for opterr (exactly like the one for optreset) and have getopt.c
define the variables only if configure doesn't find them in libc.

15 years agoRemove the recently added node types ReloptElem and OptionDefElem in favor
Tom Lane [Sat, 4 Apr 2009 21:12:31 +0000 (21:12 +0000)]
Remove the recently added node types ReloptElem and OptionDefElem in favor
of adding optional namespace and action fields to DefElem.  Having three
node types that do essentially the same thing bloats the code and leads
to errors of confusion, such as in yesterday's bug report from Khee Chin.

15 years agoA session that does not have any live snapshots does not have to be waited for
Tom Lane [Sat, 4 Apr 2009 17:40:36 +0000 (17:40 +0000)]
A session that does not have any live snapshots does not have to be waited for
when we are waiting for old snapshots to go away during a concurrent index
build.  In particular, this rule lets us avoid waiting for
idle-in-transaction sessions.

This logic could be improved further if we had some way to wake up when
the session we are currently waiting for goes idle-in-transaction.  However
that would be a significantly more complex/invasive patch, so it'll have to
wait for some other day.

Simon Riggs, with some improvements by Tom.

15 years agoRewrite interval_hash() so that the hashcodes are equal for values that
Tom Lane [Sat, 4 Apr 2009 04:53:25 +0000 (04:53 +0000)]
Rewrite interval_hash() so that the hashcodes are equal for values that
interval_eq() considers equal.  I'm not sure how that fundamental requirement
escaped us through multiple revisions of this hash function, but there it is;
it's been wrong since interval_hash was first written for PG 7.1.
Per bug #4748 from Roman Kononov.

Backpatch to all supported releases.

This patch changes the contents of hash indexes for interval columns.  That's
no particular problem for PG 8.4, since we've broken on-disk compatibility
of hash indexes already; but it will require a migration warning note in
the next minor releases of all existing branches: "if you have any hash
indexes on columns of type interval, REINDEX them after updating".

15 years agoDisallow setting fillfactor for TOAST tables.
Alvaro Herrera [Sat, 4 Apr 2009 00:45:02 +0000 (00:45 +0000)]
Disallow setting fillfactor for TOAST tables.

To implement this without almost duplicating the reloption table, treat
relopt_kind as a bitmask instead of an integer value.  This decreases the
range of allowed values, but it's not clear that there's need for that much
values anyway.

This patch also makes heap_reloptions explicitly a no-op for relation kinds
other than heap and TOAST tables.

Patch by ITAGAKI Takahiro with minor edits from me.  (In particular I removed
the bit about adding relation kind to an error message, which I intend to
commit separately.)

15 years agoImprove obsolete comment.
Tom Lane [Sat, 4 Apr 2009 00:44:30 +0000 (00:44 +0000)]
Improve obsolete comment.

15 years agoMake \dt \di and friends more consistent about the treatment of
Tom Lane [Sat, 4 Apr 2009 00:41:11 +0000 (00:41 +0000)]
Make \dt \di and friends more consistent about the treatment of
TOAST tables and indexes; to wit, never show either.  (You can
examine them with plain \d if you're really so inclined.)

15 years agoMinor wordsmithing on descriptions of some \d commands.
Tom Lane [Sat, 4 Apr 2009 00:39:14 +0000 (00:39 +0000)]
Minor wordsmithing on descriptions of some \d commands.

15 years agoAdd missing help output for \ef option. Andrew Gierth
Tom Lane [Fri, 3 Apr 2009 23:38:19 +0000 (23:38 +0000)]
Add missing help output for \ef option.  Andrew Gierth

15 years agoUse (unsigned char) cast in argument of pg_tolower(). Maybe it works on
Tom Lane [Fri, 3 Apr 2009 23:27:17 +0000 (23:27 +0000)]
Use (unsigned char) cast in argument of pg_tolower().  Maybe it works on
Windows without that, but we shouldn't put bad examples where people might
copy them.  Also, reformat slightly to improve the odds that pgindent
won't go nuts on this.

15 years agoAdd a comment documenting the question of whether PrefetchBuffer should
Tom Lane [Fri, 3 Apr 2009 18:17:43 +0000 (18:17 +0000)]
Add a comment documenting the question of whether PrefetchBuffer should
try to protect an already-existing buffer from being evicted.  This was
left as an open issue when the posix_fadvise patch was committed.  I'm
not sure there's any evidence to justify more work in this area, but we
should have some record about it in the source code.

15 years agoDefend against possible crash if a plpython function does not specify names
Tom Lane [Fri, 3 Apr 2009 16:59:43 +0000 (16:59 +0000)]
Defend against possible crash if a plpython function does not specify names
for its arguments.  Also add a regression test, since someone apparently
changed every single plpython test case to use only named parameters; else
we'd have noticed this sooner.

Euler Taveira de Oliveira, per a report from Alvaro

15 years agoMake directory name comparisons on Win32 case insensitive.
Magnus Hagander [Fri, 3 Apr 2009 11:52:08 +0000 (11:52 +0000)]
Make directory name comparisons on Win32 case insensitive.

This method will not catch all different ways since the locale
handling in NTFS doesn't provide an easy way to do that, but it
will hopefully solve the most common cases causing startup
problems when the backend is found in the system PATH.

Attempts to fix bug #4694.

15 years agoDocument that Solaris can't use effective_io_concurrency because of an
Bruce Momjian [Thu, 2 Apr 2009 22:44:10 +0000 (22:44 +0000)]
Document that Solaris can't use effective_io_concurrency because of an
ineffective posix_fadvise().

15 years agoRefactor ExecProject and associated routines so that fast-path code is used
Tom Lane [Thu, 2 Apr 2009 22:39:30 +0000 (22:39 +0000)]
Refactor ExecProject and associated routines so that fast-path code is used
for simple Var targetlist entries all the time, even when there are other
entries that are not simple Vars.  Also, ensure that we prefetch attributes
(with slot_getsomeattrs) for all Vars in the targetlist, even those buried
within expressions.  In combination these changes seem to significantly
reduce the runtime for cases where tlists are mostly but not exclusively
Vars.  Per my proposal of yesterday.

15 years agoRevert DTrace patch from Robert Lor
Bruce Momjian [Thu, 2 Apr 2009 20:59:10 +0000 (20:59 +0000)]
Revert DTrace patch from Robert Lor

15 years agoMinor code beautification/consolidation.
Tom Lane [Thu, 2 Apr 2009 20:16:30 +0000 (20:16 +0000)]
Minor code beautification/consolidation.

15 years agoGive a better error message when trying to change
Bruce Momjian [Thu, 2 Apr 2009 19:57:19 +0000 (19:57 +0000)]
Give a better error message when trying to change
"effective_io_concurrency" on systems without posix_fadvise().