OSDN Git Service
Neil Conway [Sat, 24 Jan 2004 19:38:49 +0000 (19:38 +0000)]
This patch makes some of the memory manipulation performed by psql a
little more sane. Some parts of the code was using a static function
xmalloc() that did safe memory allocation (where "safe" means "bail
out on OOM"), but most of it was just invoking calloc() or malloc()
directly. Now almost everything invokes xmalloc() or xcalloc().
Dennis Bjorklund [Sat, 24 Jan 2004 07:30:40 +0000 (07:30 +0000)]
Translation updates
Tom Lane [Sat, 24 Jan 2004 00:37:28 +0000 (00:37 +0000)]
Repair planner failure for cases involving Cartesian products inside
IN (sub-SELECT) constructs. We must force a clauseless join of the
sub-select member relations, but it wasn't happening because the code
thought it would be able to use the join clause arising from the IN.
Tom Lane [Fri, 23 Jan 2004 23:54:21 +0000 (23:54 +0000)]
Revise GEQO planner to make use of some heuristic knowledge about SQL, namely
that it's good to join where there are join clauses rather than where there
are not. Also enable it to generate bushy plans at need, so that it doesn't
fail in the presence of multiple IN clauses containing sub-joins. These
changes appear to improve the behavior enough that we can substantially reduce
the default pool size and generations count, thereby decreasing the runtime,
and yet get as good or better plans as we were getting in 7.4. Consequently,
adjust the default GEQO parameters. I also modified the way geqo_effort is
used so that it affects both population size and number of generations;
it's now useful as a single control to adjust the GEQO runtime-vs-plan-quality
tradeoff. Bump geqo_threshold to 12, since even with these changes GEQO
seems to be slower than the regular planner at 11 relations.
Bruce Momjian [Fri, 23 Jan 2004 15:13:30 +0000 (15:13 +0000)]
Add:
> * Improve CREATE SCHEMA regression test
Bruce Momjian [Fri, 23 Jan 2004 14:41:57 +0000 (14:41 +0000)]
Add MySQL mention of licensing difference.
Bruce Momjian [Fri, 23 Jan 2004 05:05:34 +0000 (05:05 +0000)]
Add:
> * Allow column-level privileges
Neil Conway [Fri, 23 Jan 2004 02:13:12 +0000 (02:13 +0000)]
Fix a minor bug introduced by the recent CREATE TABLE AS / WITH OIDS
patch: a 3-value enum was mistakenly assigned directly to a 'bool'
in transformCreateStmt(). Along the way, change makeObjectName()
to be static, as it isn't used outside analyze.c
Peter Eisentraut [Thu, 22 Jan 2004 21:13:32 +0000 (21:13 +0000)]
Translation update
Tom Lane [Thu, 22 Jan 2004 20:57:39 +0000 (20:57 +0000)]
Remove ExpandDatabasePath(), which is unused and must have been so since
7.1, because the path interpretation it embodies has been wrong since 7.1.
Neil Conway [Thu, 22 Jan 2004 19:50:21 +0000 (19:50 +0000)]
Minor improvements to the trigger documentation, and a few SGML fixes.
Tom Lane [Thu, 22 Jan 2004 19:09:32 +0000 (19:09 +0000)]
Fix incorrect dumping of database LOCATION from 7.0.* servers.
Per report from Mattias Kregert.
Dennis Bjorklund [Thu, 22 Jan 2004 07:26:32 +0000 (07:26 +0000)]
Translation updates
Tom Lane [Thu, 22 Jan 2004 02:23:21 +0000 (02:23 +0000)]
Fix oversight in optimization that avoids an unnecessary projection step
when scanning a table that we need all the columns from. In case of
SELECT INTO, we have to check that the hasoids flag matches the desired
output type, too. Per report from Mike Mascari.
Tom Lane [Thu, 22 Jan 2004 00:34:31 +0000 (00:34 +0000)]
Correct error introduced in recent hasoids changes --- it's not a bool
field anymore.
Tom Lane [Wed, 21 Jan 2004 23:33:34 +0000 (23:33 +0000)]
Repair error apparently introduced in the initial coding of GUC: the
default value for geqo_effort is supposed to be 40, not 1. The actual
'genetic' component of the GEQO algorithm has been practically disabled
since 7.1 because of this mistake. Improve documentation while at it.
Tom Lane [Wed, 21 Jan 2004 22:05:44 +0000 (22:05 +0000)]
Ensure fflush(stdout) happens in all cases, per gripe from Jon Sablatnig.
Tom Lane [Wed, 21 Jan 2004 19:22:19 +0000 (19:22 +0000)]
If we don't have shared libraries, we don't have conversions. Make
conversion_create.sql be empty (except for a helpful comment) in this
case. Allows initdb to succeed with --disable-shared.
Tom Lane [Wed, 21 Jan 2004 19:04:11 +0000 (19:04 +0000)]
Fix bit-rot in support for building with --disable-shared. This patch
gets us past 'make install', but initdb still fails for lack of conversion
libraries ...
Michael Meskes [Wed, 21 Jan 2004 14:09:34 +0000 (14:09 +0000)]
Added WHENEVER NOT_FOUND to SELECT/INSERT/UPDATE/DELETE.
Dennis Bjorklund [Wed, 21 Jan 2004 07:28:04 +0000 (07:28 +0000)]
Translation updates
Tom Lane [Tue, 20 Jan 2004 23:48:56 +0000 (23:48 +0000)]
Implement '\copy from -' to support reading copy data from the same
source the \copy came from. Also, fix prompting logic so that initial
and per-line prompts appear for all cases of reading from an interactive
terminal. Patch by Mark Feit, with some kibitzing by Tom Lane.
Tom Lane [Tue, 20 Jan 2004 22:46:06 +0000 (22:46 +0000)]
Remove no-longer-relevant note about forcing the type of an integer
constant. Per Kris Jurka.
Tom Lane [Tue, 20 Jan 2004 19:49:34 +0000 (19:49 +0000)]
This is a patch to support readline prompts which contain non-printing
characters, as for fancy colorized prompts. This was nearly a direct
lift from bash-2.05b's lib/readline/display.c, per guidance from Chet Ramey.
Reece Hart
Tom Lane [Mon, 19 Jan 2004 21:20:06 +0000 (21:20 +0000)]
Remove JDBC from the build system and documentation, too.
Tom Lane [Mon, 19 Jan 2004 20:12:30 +0000 (20:12 +0000)]
Improve discussion of consistent-snapshot backup technique. Haphazard
editing of this text had left nearly contradictory statements in
adjacent paragraphs ...
PostgreSQL Daemon [Mon, 19 Jan 2004 20:08:27 +0000 (20:08 +0000)]
missed a few files
PostgreSQL Daemon [Mon, 19 Jan 2004 20:07:14 +0000 (20:07 +0000)]
JDBC is now on GBorg
Tom Lane [Mon, 19 Jan 2004 19:04:40 +0000 (19:04 +0000)]
Repair problem identified by Olivier Prenant: ALTER DATABASE SET search_path
should not be too eager to reject paths involving unknown schemas, since
it can't really tell whether the schemas exist in the target database.
(Also, when reading pg_dumpall output, it could be that the schemas
don't exist yet, but eventually will.) ALTER USER SET has a similar issue.
So, reduce the normal ERROR to a NOTICE when checking search_path values
for these commands. Supporting this requires changing the API for GUC
assign_hook functions, which causes the patch to touch a lot of places,
but the changes are conceptually trivial.
Teodor Sigaev [Mon, 19 Jan 2004 18:39:45 +0000 (18:39 +0000)]
Correct type for isalnum
Peter Eisentraut [Mon, 19 Jan 2004 14:28:18 +0000 (14:28 +0000)]
Fix typo.
Tom Lane [Mon, 19 Jan 2004 03:52:28 +0000 (03:52 +0000)]
Don't return an overoptimistic result from join_in_selectivity when
we have detected that an IN subquery must return unique results.
Tom Lane [Mon, 19 Jan 2004 03:49:41 +0000 (03:49 +0000)]
Recognize that IN subqueries return already-unique results if they use
UNION/INTERSECT/EXCEPT (without ALL). This adds on to the previous
optimization for subqueries using DISTINCT.
Tom Lane [Mon, 19 Jan 2004 02:06:42 +0000 (02:06 +0000)]
Add a hash table to cache lookups of 'C'-language functions (that is,
dynamically loaded C functions). Some limited testing suggests that
this puts the lookup speed for external functions just about on par
with built-in functions. Per discussion with Eric Ridge.
Peter Eisentraut [Sun, 18 Jan 2004 14:54:24 +0000 (14:54 +0000)]
Translation update
Tom Lane [Sun, 18 Jan 2004 02:15:29 +0000 (02:15 +0000)]
Don't use %s-with-precision format spec to truncate data being displayed
in a COPY error message. It seems that glibc gets indigestion if it is
asked to truncate strings that contain invalid UTF-8 encoding sequences.
vsnprintf will return -1 in such cases, leading to looping and eventual
memory overflow in elog.c. Instead use our own, more robust pg_mbcliplen
routine. I believe this problem accounts for several recent reports of
unexpected 'out of memory' errors during COPY IN.
Tom Lane [Sun, 18 Jan 2004 00:50:03 +0000 (00:50 +0000)]
When testing whether a sub-plan can do projection, use a general-purpose
check instead of hardwiring assumptions that only certain plan node types
can appear at the places where we are testing. This was always a pretty
fragile assumption, and it turns out to be broken in 7.4 for certain cases
involving IN-subselect tests that need type coercion.
Also, modify code that builds finished Plan tree so that node types that
don't do projection always copy their input node's targetlist, rather than
having the tlist passed in from the caller. The old method makes it too
easy to write broken code that thinks it can modify the tlist when it
cannot.
Tom Lane [Sat, 17 Jan 2004 20:09:35 +0000 (20:09 +0000)]
Repair misestimation of indexscan CPU costs. When an indexqual contains
a run-time key (that is, a nonconstant expression compared to the index
variable), the key is evaluated just once per scan, but we were charging
costs as though it were evaluated once per visited index entry.
Tom Lane [Fri, 16 Jan 2004 20:51:30 +0000 (20:51 +0000)]
Tighten short-circuit tests for deciding whether we need to invoke
tuptoaster.c --- fields that are compressed in-line are not a reason
to invoke the toaster. Along the way, add a couple more htup.h macros
to eliminate confusing negated tests, and get rid of the already
vestigial TUPLE_TOASTER_ACTIVE symbol.
Peter Eisentraut [Thu, 15 Jan 2004 23:51:32 +0000 (23:51 +0000)]
Some refinement of XSLT processing: The result now looks just about as good
as the result of the SGML-based tool chain.
Jan Wieck [Thu, 15 Jan 2004 16:14:26 +0000 (16:14 +0000)]
Adjusted calculation of shared memory requirements to new
ARC buffer replacement strategy.
Jan
Tom Lane [Wed, 14 Jan 2004 23:01:55 +0000 (23:01 +0000)]
Fix permission-checking bug reported by Tim Burgess 10-Feb-03 (this time
for sure...). Rather than relying on the query context of a rangetable
entry to identify what permissions it wants checked, store a full AclMode
mask in each RTE, and check exactly those bits. This allows an RTE
specifying, say, INSERT privilege on a view to be copied into a derived
UPDATE query without changing meaning. Per recent discussion thread.
initdb forced due to change of stored rule representation.
Dennis Bjorklund [Wed, 14 Jan 2004 12:14:01 +0000 (12:14 +0000)]
Translation updates
Tom Lane [Wed, 14 Jan 2004 03:46:28 +0000 (03:46 +0000)]
pg_settings should have UPDATE privilege allowed to public.
Tom Lane [Wed, 14 Jan 2004 03:44:53 +0000 (03:44 +0000)]
The no-updates-to-system-catalogs-unless-usecatupd restriction should
not apply to system views. It never mattered before 7.4, but it does now.
Tom Lane [Wed, 14 Jan 2004 03:39:22 +0000 (03:39 +0000)]
Revert ill-starred change of 13-Feb-02: it appeared to fix a problem of
incorrect permissions checking, but in fact disabled most all permissions
checks for view updates. This corrects problems reported by Sergey
Yatskevich among others, at the cost of re-introducing the problem
previously reported by Tim Burgess. However, since we'd lived with that
problem for quite awhile without knowing it, we can live with it awhile
longer until a proper fix can be made in 7.5.
Peter Eisentraut [Tue, 13 Jan 2004 18:58:41 +0000 (18:58 +0000)]
Translation update
Peter Eisentraut [Tue, 13 Jan 2004 18:45:19 +0000 (18:45 +0000)]
Make rule and stylesheet to try out XSLT for DocBook processing
Bruce Momjian [Tue, 13 Jan 2004 01:32:52 +0000 (01:32 +0000)]
Fix ecpg test program to properly access int* null indicator.
Tom Lane [Mon, 12 Jan 2004 22:20:28 +0000 (22:20 +0000)]
Fix another place that wasn't maintaining AND/OR flatness of an
already-canonicalized qual expression.
Tom Lane [Mon, 12 Jan 2004 20:48:15 +0000 (20:48 +0000)]
Preserve AND/OR flatness during eval_const_expressions(). This seems a
useful improvement in any case, and it keeps the new logic for restrictinfo
structures happy. Per report from Kris Jurka.
Dennis Bjorklund [Sun, 11 Jan 2004 19:42:44 +0000 (19:42 +0000)]
Translation updates
Dennis Bjorklund [Sun, 11 Jan 2004 19:10:49 +0000 (19:10 +0000)]
Mark string for translation.
Peter Eisentraut [Sun, 11 Jan 2004 09:24:17 +0000 (09:24 +0000)]
Put See Also links back in alphabetical order.
Dennis Bjorklund [Sun, 11 Jan 2004 06:55:10 +0000 (06:55 +0000)]
Translation updates
Dennis Bjorklund [Sun, 11 Jan 2004 06:50:27 +0000 (06:50 +0000)]
Translation updates
Neil Conway [Sun, 11 Jan 2004 05:46:58 +0000 (05:46 +0000)]
Minor documentation improvements.
Neil Conway [Sun, 11 Jan 2004 04:58:17 +0000 (04:58 +0000)]
Add CREATE TRIGGER, CREATE INDEX, and CREATE SEQUENCE to the list of
expressions supported by CREATE SCHEMA.
Also added the beginning of some regression tests for CREATE SCHEMA;
plenty more work is needed here.
Bruce Momjian [Sun, 11 Jan 2004 03:49:31 +0000 (03:49 +0000)]
Drops in the CreateProcess calls for Win32 (essentially wrapping up the
fork/exec portion of the port), and fixes a handful of whitespace issues
Claudio Natoli
Neil Conway [Sat, 10 Jan 2004 23:39:51 +0000 (23:39 +0000)]
Remove the following unused type definitions: bool8, bool16, bool32, word8,
word16, and word32.
Neil Conway [Sat, 10 Jan 2004 23:28:45 +0000 (23:28 +0000)]
Implement "WITH / WITHOID OIDS" clause for CREATE TABLE AS. This is
intended to allow application authors to insulate themselves from
changes to the default value of 'default_with_oids' in future releases
of PostgreSQL.
This patch also fixes a bug in the earlier implementation of the
'default_with_oids' GUC variable: code in gram.y should not examine
the value of GUC variables directly due to synchronization issues.
Peter Eisentraut [Sat, 10 Jan 2004 22:18:28 +0000 (22:18 +0000)]
Translation updates
Tom Lane [Sat, 10 Jan 2004 18:13:53 +0000 (18:13 +0000)]
Improve has_nullable_targetlist() to allow strict functions of simple
variables, not just simple variables. This was foreseen in the original
coding of this routine, but not implemented until now. Responds to
performance gripe from Laurent Perez.
Dennis Bjorklund [Sat, 10 Jan 2004 15:02:50 +0000 (15:02 +0000)]
Translation updates
Dennis Bjorklund [Sat, 10 Jan 2004 10:39:26 +0000 (10:39 +0000)]
Translation updates
Dennis Bjorklund [Sat, 10 Jan 2004 09:09:40 +0000 (09:09 +0000)]
Translation updates
Bruce Momjian [Sat, 10 Jan 2004 02:55:14 +0000 (02:55 +0000)]
Make non-wait pg_ctl start/stop message more accurate.
Bruce Momjian [Sat, 10 Jan 2004 02:21:08 +0000 (02:21 +0000)]
Allow BEGIN WORK to specify transaction isolation level, like START
TRANSACTION.
Tom Lane [Sat, 10 Jan 2004 00:30:21 +0000 (00:30 +0000)]
Fix subquery pullup logic to not be fooled when a view that appears
'simple' references another view that is not simple. Must recheck
conditions after performing recursive pullup. Per example from
Laurent Perez, 9-Jan-04.
Bruce Momjian [Fri, 9 Jan 2004 23:29:31 +0000 (23:29 +0000)]
Oops, can't do cpp tests inside macros; make two macros instead.
Bruce Momjian [Fri, 9 Jan 2004 23:27:20 +0000 (23:27 +0000)]
Remove ereport() from failed connection; already done, per Tom.
Bruce Momjian [Fri, 9 Jan 2004 23:11:39 +0000 (23:11 +0000)]
Fix for cancel key restarting postmaster, from Claudio
Bruce Momjian [Fri, 9 Jan 2004 21:15:51 +0000 (21:15 +0000)]
Have psql help show \w parameter as requied.
Bruce Momjian [Fri, 9 Jan 2004 21:12:55 +0000 (21:12 +0000)]
Done:
> * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
Bruce Momjian [Fri, 9 Jan 2004 21:12:20 +0000 (21:12 +0000)]
Allow psql to handle tilde user expansion for file names.
Zach Irmen
Bruce Momjian [Fri, 9 Jan 2004 21:08:50 +0000 (21:08 +0000)]
Change PG_DELAY from msec to usec and use it consistenly rather than
select(). Add Win32 Sleep() for delay.
Dennis Bjorklund [Fri, 9 Jan 2004 20:36:00 +0000 (20:36 +0000)]
Translation updates
Bruce Momjian [Fri, 9 Jan 2004 04:58:09 +0000 (04:58 +0000)]
Add WIN32 pipe implementation that uses sockets.
Claudio Natoli
Bruce Momjian [Fri, 9 Jan 2004 03:07:32 +0000 (03:07 +0000)]
Remove duplicate include of value.h. I think it got in because Tom and I both added it.
Bruce Momjian [Fri, 9 Jan 2004 02:17:15 +0000 (02:17 +0000)]
Add comment about synchronous signals.
Bruce Momjian [Fri, 9 Jan 2004 02:02:43 +0000 (02:02 +0000)]
Allow libpq to do thread-safe SIGPIPE handling. This allows it to
ignore SIGPIPE from send() in libpq, but terminate on any other SIGPIPE,
unless the user installs their own signal handler.
This is a minor fix because the only time you get SIGPIPE from libpq's
send() is when the backend dies.
Bruce Momjian [Fri, 9 Jan 2004 01:51:31 +0000 (01:51 +0000)]
German FAQ update.
Ian Barwick
Tom Lane [Fri, 9 Jan 2004 00:15:11 +0000 (00:15 +0000)]
Fix incorrect SQL syntax emitted when -E is given without -P.
Report and fix from Martin Pitt.
Tom Lane [Thu, 8 Jan 2004 23:40:27 +0000 (23:40 +0000)]
Remove broken (and unnecessary) definition of operator <> for _int4
datatype; the generic array comparators added in 7.4 supersede this.
Per report and patch from Korea PostgreSQL Users' Group.
Neil Conway [Thu, 8 Jan 2004 20:04:41 +0000 (20:04 +0000)]
Fix a spelling mistake in a comment.
Bruce Momjian [Thu, 8 Jan 2004 17:15:54 +0000 (17:15 +0000)]
Throw compile error if our non-thread-safe snprintf is used.
Bruce Momjian [Thu, 8 Jan 2004 16:01:58 +0000 (16:01 +0000)]
Update Russian FAQ.
Viktor Vislobokov
Bruce Momjian [Thu, 8 Jan 2004 15:51:24 +0000 (15:51 +0000)]
Update OSF thread flags for non-gcc compiles.
Dennis Bjorklund [Thu, 8 Jan 2004 10:47:40 +0000 (10:47 +0000)]
Translation updates
Dennis Bjorklund [Thu, 8 Jan 2004 08:36:50 +0000 (08:36 +0000)]
Translation updates
Tom Lane [Thu, 8 Jan 2004 06:01:21 +0000 (06:01 +0000)]
[Forced commit to add log message that I fat-fingered last time]
Give a more reasonable error message when lock file exists but has
zero length; prior code confused this with could-not-read-file case.
Bruce Momjian [Thu, 8 Jan 2004 04:24:24 +0000 (04:24 +0000)]
Fix Solaris thread build settings for non-gcc compilers.
Tom Lane [Wed, 7 Jan 2004 23:03:06 +0000 (23:03 +0000)]
make
Tom Lane [Wed, 7 Jan 2004 22:02:48 +0000 (22:02 +0000)]
Make some improvements in the intelligence of the partial-index
predicate tester. It can now deal with commuted clauses (for
instance, 4 < x implies x > 3), subclauses more complicated than
a simple Var (for example, upper(x) = 't' implies upper(x) > 'a'),
and <> operators (for example, x < 3 implies x <> 4). Still
only understands operators associated with btree opclasses, though.
Inspired by example from Martin Hampl.
Dennis Bjorklund [Wed, 7 Jan 2004 21:51:13 +0000 (21:51 +0000)]
Translation updates
Tom Lane [Wed, 7 Jan 2004 21:12:56 +0000 (21:12 +0000)]
Add missing inclusion of nodes/value.h.
Neil Conway [Wed, 7 Jan 2004 18:56:30 +0000 (18:56 +0000)]
More janitorial work: remove the explicit casting of NULL literals to a
pointer type when it is not necessary to do so.
For future reference, casting NULL to a pointer type is only necessary
when (a) invoking a function AND either (b) the function has no prototype
OR (c) the function is a varargs function.
Neil Conway [Wed, 7 Jan 2004 18:43:36 +0000 (18:43 +0000)]
Cleanup: move the 'Value' node into a separate file, rather than putting
it in the same file as the 'List' node.
Bruce Momjian [Wed, 7 Jan 2004 17:54:19 +0000 (17:54 +0000)]
Not done, per Tom:
> o Allow parameters to be specified by name and type during definition
Tom Lane [Wed, 7 Jan 2004 06:20:02 +0000 (06:20 +0000)]
Support function parameter names in plpgsql. This is the last of
Dennis Bjorklund's original patch for function parameter names, but
there's still plenty left to do (documentation for instance...)