Peter Eisentraut [Sat, 16 Dec 2000 13:03:25 +0000 (13:03 +0000)]
Fix rules to re-generate config.h. The examples in the Autoconf manual are
flawed because the timestamp file is already updated when Makefile.global
is remade, and the rule for config.h never gets run.
Tom Lane [Sat, 16 Dec 2000 02:29:36 +0000 (02:29 +0000)]
Restructure performance tips into a single chapter ('populating a
database' was way too small to make a chapter). Add a section about
using JOIN syntax to direct the planner.
Bruce Momjian [Fri, 15 Dec 2000 22:45:09 +0000 (22:45 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.305
diff -r1.305 TODO
3c3
< Last updated: Fri Dec 15 17:40:22 EST 2000
---
> Last updated: Fri Dec 15 17:44:57 EST 2000 312a313
> * Mark is Mark Hollomon <mhh@mindspring.com> 326a328
> \9b5~
Bruce Momjian [Fri, 15 Dec 2000 22:40:34 +0000 (22:40 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.304
diff -r1.304 TODO
3c3
< Last updated: Fri Dec 15 17:03:28 EST 2000
---
> Last updated: Fri Dec 15 17:40:22 EST 2000 318a319
> * Ross is Ross J. Reedstrom <reedstrm@wallace.ece.rice.edu>
Bruce Momjian [Fri, 15 Dec 2000 22:03:40 +0000 (22:03 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.303
diff -r1.303 TODO
3c3
< Last updated: Fri Dec 15 16:46:43 EST 2000
---
> Last updated: Fri Dec 15 17:03:28 EST 2000 319a320
> * Stephan is Stephan Szabo <sszabo@megazone23.bigpanda.com>
Bruce Momjian [Fri, 15 Dec 2000 21:46:54 +0000 (21:46 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.302
diff -r1.302 TODO
3c3
< Last updated: Tue Dec 12 23:01:53 EST 2000
---
> Last updated: Fri Dec 15 16:46:43 EST 2000
Bruce Momjian [Fri, 15 Dec 2000 21:46:41 +0000 (21:46 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.301
diff -r1.301 TODO 306d305
< * Bryan is Bryan Henderson<bryanh@giraffe.netgate.net> 308d306
< * David is David Hartwig <daveh@insightdist.com> 311c309,310
< * Hiroshi is Hiroshi Inoue<Inoue@tpf.co.jp>
---
> * Hiroshi is Hiroshi Inoue <Inoue@tpf.co.jp>
> * Karel is Karel Zak <zakkr@zf.jcu.cz> 314c313
< * Massimo Dal Zotto <dz@cs.unitn.it>
---
> * Massimo is Massimo Dal Zotto <dz@cs.unitn.it> 318c317
< * Philip Warner <pjw@rhyme.com.au>
---
> * Philip is Philip Warner <pjw@rhyme.com.au> 321d319
< * Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at> 326c324
< * Vadim is "Vadim B. Mikheev" <vadim4o@email.com>
---
> * Vadim is Vadim B. Mikheev <vadim4o@email.com>
Bruce Momjian [Fri, 15 Dec 2000 19:15:09 +0000 (19:15 +0000)]
here is a patch fixing today's bug report:
> Date: Thu, 14 Dec 2000 12:44:47 +0100 (CET)
> From: Kovacs Zoltan Sandor <tip@pc10.radnoti-szeged.sulinet.hu>
> To: pgsql-bugs@postgresql.org
> Subject: [BUGS] to_char() causes backend to close connection
>
> Hi, this query gives different strange results:
>
> select to_char(now()::abstime,'YYMMDDHH24MI');
>
> I get e.g. a "backend closed the channel unexpectedly..." error with
> successful or failed resetting attempt (indeterministic)
Again thanks Kovacs, you found really designing bug, that appear
if anyone write bad format template to "number" version of to_char()
(as you with 'DD').
Bruce Momjian [Fri, 15 Dec 2000 19:11:28 +0000 (19:11 +0000)]
there is one problem with Zoltan patches commited into the tree:
if we set autocommit off and issued COMMIT (or ROLLBACK) on a connection
new transaction is not started
Tom Lane [Thu, 14 Dec 2000 22:30:45 +0000 (22:30 +0000)]
Planner speedup hacking. Avoid saving useless pathkeys, so that path
comparison does not consider paths different when they differ only in
uninteresting aspects of sort order. (We had a special case of this
consideration for indexscans already, but generalize it to apply to
ordered join paths too.) Be stricter about what is a canonical pathkey
to allow faster pathkey comparison. Cache canonical pathkeys and
dispersion stats for left and right sides of a RestrictInfo's clause,
to avoid repeated computation. Total speedup will depend on number of
tables in a query, but I see about 4x speedup of planning phase for
a sample seven-table query.
Tom Lane [Thu, 14 Dec 2000 00:41:09 +0000 (00:41 +0000)]
Change StoreCatalogInheritance() to work from a list of parent relation
OIDs rather than names. Aside from being simpler and faster, this way
doesn't blow up in the face of 'create temp table foo () inherits (foo)'.
Which is a rather odd thing to do, but it seems some people want to.
Bruce Momjian [Wed, 13 Dec 2000 04:02:15 +0000 (04:02 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.300
diff -r1.300 TODO
3c3
< Last updated: Tue Dec 12 23:01:04 EST 2000
---
> Last updated: Tue Dec 12 23:01:53 EST 2000
21d20
< * test to show diffs for TODO changes
Bruce Momjian [Wed, 13 Dec 2000 04:01:27 +0000 (04:01 +0000)]
Update TODO list.
Index: TODO
===================================================================
RCS file: /home/projects/pgsql/cvsroot/pgsql/doc/TODO,v
retrieving revision 1.299
diff -r1.299 TODO
3c3
< Last updated: Tue Dec 12 15:27:50 EST 2000
---
> Last updated: Tue Dec 12 23:01:04 EST 2000
20a21
> * test to show diffs for TODO changes
Tom Lane [Tue, 12 Dec 2000 23:33:34 +0000 (23:33 +0000)]
Cache eval cost of qualification expressions in RestrictInfo nodes to
avoid repeated evaluations in cost_qual_eval(). This turns out to save
a useful fraction of planning time. No change to external representation
of RestrictInfo --- although that node type doesn't appear in stored
rules anyway.
Bruce Momjian [Tue, 12 Dec 2000 16:47:52 +0000 (16:47 +0000)]
In 'Joins between classes' in Section 5 of the tutorial we have, in
the first paragraph:
As an example, say we wish to find all the records that
are in the temperature range of other records. In
effect, we need to compare the temp_lo and temp_hi
attributes of each EMP instance to the temp_lo and
temp_hi attributes of all other EMP instances.
I believe that EMP should read WEATHER, as the example query that
follows joins WEATHER to itself.
Tom Lane [Tue, 12 Dec 2000 05:07:59 +0000 (05:07 +0000)]
Revise SELECT reference page for outer joins, subselect in FROM,
ISO-compliant UNION/INTERSECT/EXCEPT. Revise discussion of rule
rewriter to reflect new subselect-in-FROM implementation of views.
Miscellaneous other cleanups.
Bruce Momjian [Sun, 10 Dec 2000 23:54:28 +0000 (23:54 +0000)]
Here is patch to the ODBC driver to update the version to 2.5 and allow
all forms of foreign keys be exposed to SQLForeignKeys. This patch is in
addition to the ones I mailed yesterday (forget had I changed that as
well....)
Michael Fork - CCNA - MCP - A+
Network Support - Toledo Internet Access - Toledo Ohio
Bruce Momjian [Sun, 10 Dec 2000 22:59:10 +0000 (22:59 +0000)]
Here is a diff to info.c in interfaces/odbc that updates SQLForeignKeys to
return foreign key information based on the pg_trigger system table. I
have tested the patch with (what I believe) is all possible
primary/foreign key combinations -- however I may have missed some, so if
anyone feels like taking the patch for a test drive, here are some useful
links:
Tom Lane [Fri, 8 Dec 2000 23:57:03 +0000 (23:57 +0000)]
Repair erroneous use of hashvarlena() for MACADDR, which is not a
varlena type. (I did not force initdb, but you won't see the fix
unless you do one.) Also, make sure all index support operators and
functions are careful not to leak memory for toasted inputs; I had
missed some hash and rtree support ops on this point before.
Tom Lane [Fri, 8 Dec 2000 22:21:33 +0000 (22:21 +0000)]
Resurrect -F switch: it controls fsyncs again, though the fsyncs are
mostly just on the WAL logfile nowadays. But if people want to disable
fsync for performance, why should we say no?
Tom Lane [Fri, 8 Dec 2000 20:06:58 +0000 (20:06 +0000)]
Remove error check that disallowed setval() on a sequence with cache
value greater than one. The behavior this sought to disallow doesn't
seem any less confusing than the other behaviors of cached sequences.
Improve wording of some error messages, too.
Update documentation accordingly. Also add an explanation that
aborted transactions do not roll back their nextval() calls; this
seems to be a FAQ, so it ought to be mentioned here...
Tom Lane [Thu, 7 Dec 2000 18:38:59 +0000 (18:38 +0000)]
Make OVERLAPS operators conform to SQL92 spec regarding NULL handling.
As I read it, the spec requires a non-null result in some cases where
one of the inputs is NULL: specifically, if the other endpoint of that
interval is between the endpoints of the other interval, then the result
is known TRUE despite the missing endpoint. The spec could've been a
lot simpler if they did not intend this behavior.
I did not force an initdb for this change, but if you don't do one you'll
still see the old strict-function behavior.
Tom Lane [Thu, 7 Dec 2000 01:12:08 +0000 (01:12 +0000)]
transformForUpdate() mustn't assume rowMarks list is initially empty.
It could be recursing into a sub-query where there was already a FOR
UPDATE clause.
Tom Lane [Wed, 6 Dec 2000 23:55:19 +0000 (23:55 +0000)]
Clean up handling of FOR UPDATE inside views and subselects ... make it
work where we can (given that the executor only handles it at top level)
and generate an error where we can't. Note that while the parser has
been allowing views to say SELECT FOR UPDATE for a few weeks now, that
hasn't actually worked until just now.
Tom Lane [Tue, 5 Dec 2000 23:40:36 +0000 (23:40 +0000)]
I've just seen what happens when the MEMORY_CONTEXT_CHECKING code fires
an error at end of transaction ... and I did *not* like it. Reduce ERROR
to NOTICE so that this situation doesn't cause an infinite loop.
Tom Lane [Tue, 5 Dec 2000 22:03:57 +0000 (22:03 +0000)]
In SELECT FOR UPDATE, silently ignore null CTIDs, rather than generating
an error as we used to. In an OUTER JOIN scenario, retrieving a null
CTID from one of the input relations is entirely expected. We still
want to lock the input rows from the other relations, so just ignore
the null and keep going.
Tom Lane [Tue, 5 Dec 2000 19:57:56 +0000 (19:57 +0000)]
From Stephan Szabo:
I believe this should fix the issue that Philip Warner
noticed about the check for unique constraints meeting the
referenced keys of a foreign key constraint allowing the
specification of a subset of a foreign key instead of
rejecting it. I also added tests for a base case of
this to the foreign key and alter table tests and patches
for expected output.
Tom Lane [Tue, 5 Dec 2000 19:15:10 +0000 (19:15 +0000)]
Repair breakage of rules containing INSERT ... SELECT actions, per bug
report from Joel Burton. Turns out that my simple idea of turning the
SELECT into a subquery does not interact well *at all* with the way the
rule rewriter works. Really what we need to make INSERT ... SELECT work
cleanly is to decouple targetlists from rangetables: an INSERT ... SELECT
wants to have two levels of targetlist but only one rangetable. No time
for that for 7.1, however, so I've inserted some ugly hacks to make the
rewriter know explicitly about the structure of INSERT ... SELECT queries.
Ugh :-(
Tom Lane [Sun, 3 Dec 2000 20:45:40 +0000 (20:45 +0000)]
Ensure that all uses of <ctype.h> functions are applied to unsigned-char
values, whether the local char type is signed or not. This is necessary
for portability. Per discussion on pghackers around 9/16/00.