1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-15 19:21:59 +03:00
Commit Graph

24386 Commits

Author SHA1 Message Date
fea168823a Fix obsolete cross-reference (this file isn't called alpha.c anymore) 2009-04-21 21:05:25 +00:00
0669785ba8 Improve psql \df error handling.
David Fetter
2009-04-21 17:28:01 +00:00
301f800895 Merge psql \df options into a single \? line, and update docs. 2009-04-21 17:23:05 +00:00
aeb3c2fce4 Add agg/normal/trigger/window flags for psql \df and in \df output.
David Fetter
2009-04-21 15:49:06 +00:00
02dec25003 Read nls.nk files to determine the proper name of NLS catalogs to install.
Hiroshi Inoue, with minor modifications by me
2009-04-20 08:38:00 +00:00
ce53791b2a Assorted portability fixes for Borland C, from Pavel Golub. 2009-04-19 22:37:13 +00:00
85128e5d56 Rethink the idea of having plpgsql depend on parser/gram.h. Aside from the
fact that this is breaking the MSVC build, it's probably not really a good
idea to expand the dependencies of gram.h any further than the core parser;
for instance the value of SCONST might depend on which bison version you'd
built with.  Better to expose an additional call point in parser.c, so
move what I had put into pl_funcs.c into parser.c.  Also PGDLLIMPORT'ify
the reference to standard_conforming_strings, per buildfarm results.
2009-04-19 21:50:09 +00:00
22c922269f Fix de-escaping checks so that we will reject \000 as well as other invalidly
encoded sequences.  Per discussion of a couple of days ago.
2009-04-19 21:08:54 +00:00
1d97c19a0f Fix estimate_num_groups() to not fail on PlaceHolderVars, per report from
Stefan Kaltenbrunner.  The most reasonable behavior (at least for the near
term) seems to be to ignore the PlaceHolderVar and examine its argument
instead.  In support of this, change the API of pull_var_clause() to allow
callers to request recursion into PlaceHolderVars.  Currently
estimate_num_groups() is the only customer for that behavior, but where
there's one there may be others.
2009-04-19 19:46:33 +00:00
3a624e9200 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.
2009-04-19 18:52:58 +00:00
b24c02ff2c Bump disable_cost up from 1e8 to 1e10, per gripe from Kris Jurka. 2009-04-17 15:33:33 +00:00
d7a6a04dc7 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.
2009-04-16 20:42:16 +00:00
c5593d5405 Fix the regression test error message for array_fill, too.
Per note from Andrew Dunstan.
2009-04-16 14:43:39 +00:00
a8a5595fc8 Substitute extraneous underscores with spaces. 2009-04-15 23:30:33 +00:00
fa2afcfea8 Add missing gettext calls around some strings. Also remove quotes around the
%s that they expand to, per comment from Tom.
2009-04-15 21:42:50 +00:00
1bb257fae6 Add missing periods. 2009-04-15 21:36:12 +00:00
6a68f7fd3c 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.
2009-04-14 22:18:47 +00:00
418fd59663 Add libpq error message text on how to handle missing root.crt file. 2009-04-14 17:30:16 +00:00
14a4f6f374 pg_restore -jN does not equate "multiple jobs", so partly revert the
previous patch.

Per note from Tom.
2009-04-14 00:06:35 +00:00
d29a2ee3c0 Make new strings more alike previously existing messages. 2009-04-13 21:03:36 +00:00
f7a08e71e9 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.
2009-04-12 21:02:44 +00:00
e1e17e2a0a 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.
2009-04-11 20:23:05 +00:00
088ac581d4 Make string more alike other similar messages. 2009-04-11 18:38:54 +00:00
fbaeae3fc5 Message fix
(I guess this was a cruise replace mistake.)
2009-04-11 14:11:45 +00:00
86eab8dae0 Message improvement 2009-04-11 14:11:21 +00:00
4c9c0b85fb commit and tag beta1 2009-04-10 00:20:10 +00:00
f9578e179a No more need to update FAQs. 2009-04-09 21:50:31 +00:00
f71a0523f9 Add URL for config.guess/sub updates 2009-04-09 21:35:33 +00:00
6e4cd594ef 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.
2009-04-09 20:50:42 +00:00
80a836cab4 Translation updates for 8.4 beta 2009-04-09 19:38:53 +00:00
06e2757277 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.
2009-04-09 17:39:50 +00:00
b060c8787f Treat EOF like \n for line-counting purposes in ParseConfigFile,
per bug #4752.  Fujii Masao
2009-04-09 14:21:02 +00:00
03cd7571e8 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.
2009-04-09 02:57:53 +00:00
4703250a76 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.)
2009-04-08 22:29:30 +00:00
e0daf7fc3c Allow leading and trailing spaces around NaN in numeric_in.
Sam Mason, rewritten a bit by Tom.
2009-04-08 22:08:40 +00:00
77d67a4a3b 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().
2009-04-08 21:51:38 +00:00
84bb600be1 Quote string literals correctly in the new CREATE SERVER statements
and binary upgrade UPDATE statements.
2009-04-08 19:02:37 +00:00
71d119f82a Oops, mustn't call textdomain() when compiling without --enable-nls 2009-04-08 13:08:09 +00:00
1fe5020558 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.
2009-04-08 09:50:48 +00:00
baf048d7d2 Improve tab completion for \ef.
Andrew Gierth
2009-04-08 04:05:16 +00:00
44ab6cd8bb Revert addition of units to GUC descriptions; doesn't affect
postgresql.conf.
2009-04-07 23:27:34 +00:00
555b46e25c More GUC units doc updates.
Euler Taveira de Oliveira
2009-04-07 22:22:19 +00:00
2762e5555c 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
2009-04-07 19:35:57 +00:00
387060951e 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.
2009-04-07 00:31:26 +00:00
80df9c49af Add unit documentation for various postgresql.conf settings. 2009-04-06 21:00:52 +00:00
5ae9f82783 Add entry in the encoding number to OS name table for KOI8-U. 2009-04-06 19:34:52 +00:00
72e2315c34 Properly align equals signs in new postgresql.conf units comments. 2009-04-06 19:03:04 +00:00
802e414d62 Document in postgresql.conf that the default units for
log_min_duration_statement is milliseconds.
2009-04-06 19:00:18 +00:00
4ae4d23433 Display postgresql.conf unit options in an easier-to-understand,
2-column format.
2009-04-06 18:40:47 +00:00
9dbd94c371 Adjust psql tab completion for new \d 'S' flag behavior; adjust code to
be more flexible about additional modifiers for \d commands.
2009-04-06 15:50:59 +00:00