Tom Lane [Wed, 13 Oct 2004 22:09:20 +0000 (22:09 +0000)]
Remove stray semicolons in old ecpg preproc grammar ... modern bison
versions won't compile it at all with those there. Probably of only
academic interest now, but ...
Tom Lane [Fri, 17 Sep 2004 18:29:54 +0000 (18:29 +0000)]
Hashed LEFT JOIN would miss outer tuples with no inner match if the join
was large enough to be batched and the tuples fell into a batch where
there were no inner tuples at all. Thanks to Xiaoyu Wang for finding a
test case that exposed this long-standing bug.
Tom Lane [Sat, 20 Mar 2004 18:12:50 +0000 (18:12 +0000)]
Repair multiple memory leaks in getTables(), including one that could
easily exhaust memory on databases with more than a few hundred triggers.
I don't expect any more releases of these old versions, but let's put the
fix in CVS just so it's archived.
Bruce Momjian [Thu, 16 Aug 2001 15:21:53 +0000 (15:21 +0000)]
This patch fixes the well-known but unfixed bug that fetchone() always
returns the first result in the DB-API compliant wrapper. It turned out
that the bug was way down in the C code.
Tom Lane [Tue, 31 Jul 2001 18:39:13 +0000 (18:39 +0000)]
Fix optimizer to not try to push WHERE clauses down into a sub-SELECT that
has a DISTINCT ON clause, per bug report from Anthony Wood. While at it,
improve the DISTINCT-ON-clause recognizer routine to not be fooled by out-
of-order DISTINCT lists.
Also, back-patch earlier fix to not push down into sub-SELECT with LIMIT.
Tom Lane [Sun, 29 Jul 2001 22:12:49 +0000 (22:12 +0000)]
Arrange for GRANT/REVOKE on a view to be dumped at the right time,
namely after the view definition rather than before it. Bug introduced
in 7.1 by changes to dump stuff in OID ordering.
Tom Lane [Fri, 29 Jun 2001 16:34:49 +0000 (16:34 +0000)]
Fix longstanding error in VACUUM: sometimes would examine a buffer page
after writing/unpinning it. An actual failure is unlikely, unless the
system is tremendously short of buffers ... but a bug is a bug.
Tom Lane [Wed, 13 Jun 2001 01:02:59 +0000 (01:02 +0000)]
Back-patch fix for attempt to pfree a value that's not palloc'd
(it's a field of a tuple). I see Jan has already fixed this in
current sources, but 7.1.* is pretty badly broken here.
Tom Lane [Tue, 12 Jun 2001 18:54:53 +0000 (18:54 +0000)]
Repair problem with multi-action rules in combination with any nontrivial
manipulation of rtable/jointree by planner. Rewriter was generating
actions that shared rtable/jointree substructure, which caused havoc
when planner got to the later actions that it'd already mucked up.
Tom Lane [Thu, 31 May 2001 17:33:03 +0000 (17:33 +0000)]
RI triggers would fail for datatypes using old-style equal function,
because cached fmgr info contained reference to a shorter-lived data
structure. Also guard against possibility that fmgr_info could fail,
leaving an incomplete entry present in the hash table.
Patch from Barry Lind to correctly decode time zones in timestamp results.
Without patch, the time zone field is ignored and the returned time is
not correct.
Already applied to the development tree...
Tom Lane [Fri, 18 May 2001 16:00:11 +0000 (16:00 +0000)]
Correct recently-broken avg(interval) definition. We can't force an
initdb to fix this in 7.1 installations, but it seems better to be
shipping a correct entry than a wrong one.
Tom Lane [Tue, 15 May 2001 00:34:02 +0000 (00:34 +0000)]
EvalPlanQual was thoroughly broken for concurrent update/delete on inheritance
trees (mostly my fault). Repair. Also fix long-standing bug in ExecReplace:
after recomputing a concurrently updated tuple, we must recheck constraints.
Make EvalPlanQual leak memory with somewhat less enthusiasm than before,
although plugging leaks fully will require more changes than I care to risk
in a dot-release.
Tom Lane [Mon, 14 May 2001 20:25:36 +0000 (20:25 +0000)]
Current implementation of FOR UPDATE has no hope of working correctly
for relations on the nullable side of an OUTER JOIN. For now I think
we'd better refuse such queries.
Tom Lane [Sat, 12 May 2001 23:36:44 +0000 (23:36 +0000)]
proisstrict must be assumed FALSE when dumping from a 7.0 database,
not TRUE. Otherwise we break pl call handler functions. fmgr_oldstyle
will take care of making sure the semantics are the same for C functions.
Clean up some slightly grotty coding in 7.0 pg_class reading, also.
Philip Warner [Sat, 12 May 2001 01:09:47 +0000 (01:09 +0000)]
- Don't dump COMMENTs in data-only dumps
- Fix view dumping SQL for V7.0
- Fix bug when getting view oid with long view names
- Treat SEQUENCE SET TOC entries as data entries rather than schema
entries.
- Make allowance for data entries that did not have a data dumper
routine (eg. SEQUENCE SET)
Tom Lane [Tue, 8 May 2001 19:48:02 +0000 (19:48 +0000)]
Append and SubqueryScan nodes were not passing changed-parameter signals down
to their children, leading to misbehavior if they had any children that paid
attention to chgParam (most plan node types don't). Append's bug has been
there a long time, but nobody had noticed because it used to be difficult
to create a query where an Append would be used below the top level of a
plan; so there were never any parameters getting passed down. SubqueryScan
is new in 7.1 ... and I'd modeled its behavior on Append :-(
Tom Lane [Tue, 8 May 2001 01:02:03 +0000 (01:02 +0000)]
Un-break exec_move_row() for case that a NULL tuple and tupdesc are
passed, which occurs when no rows are retrieved by a SELECT.
Mea maxima culpa ... I should have caught this.
Tom Lane [Fri, 4 May 2001 18:39:16 +0000 (18:39 +0000)]
Seems like we should not hold off cancel/die interrupts while we are
running deferred triggers. They are really part of the regular
transaction, and they could take awhile.
Tom Lane [Thu, 3 May 2001 22:53:07 +0000 (22:53 +0000)]
Consolidate several near-identical uses of mktime() into a single
routine DetermineLocalTimeZone(). In that routine, be more wary of
broken mktime() implementations than the original code was: don't allow
mktime to change the already-set y/m/d/h/m/s information, and don't
use tm_gmtoff if mktime failed. Possibly this will resolve some of
the complaints we've been hearing from users of Middle Eastern timezones
on RedHat.
Bruce Momjian [Thu, 3 May 2001 21:38:45 +0000 (21:38 +0000)]
BTW it does not add encodign it just patches existing one (KOI8) to
support two - KOI8-R and KOI8-U (latter is superset of the former if
not to take to the account pseudographics)
Tom Lane [Thu, 3 May 2001 19:00:37 +0000 (19:00 +0000)]
Ensure that btree sort ordering functions and boolean comparison operators
give consistent results for all datatypes. Types float4, float8, and
numeric were broken for NaN values; abstime, timestamp, and interval
were broken for INVALID values; timetz was just plain broken (some
possible pairs of values were neither < nor = nor >). Also clean up
text, bpchar, varchar, and bit/varbit to eliminate duplicate code and
thereby reduce the probability of similar inconsistencies arising in
the future.
Allow a string argument to the EXTRACT() function.
This is an extension to the SQL9x standard, but is consistant with usage
of the underlying date_part() function used to implement it.
Example: EXTRACT('YEAR',...)
No impact on regression tests.
Tom Lane [Mon, 30 Apr 2001 20:05:40 +0000 (20:05 +0000)]
exec_move_row() should be more forgiving of tuples with a different
number of columns than it was expecting, for reasons that are now
documented in the code...
Tom Lane [Mon, 30 Apr 2001 19:24:47 +0000 (19:24 +0000)]
Suppress pull-up of subqueries that are in the nullable side of an outer
join. This is needed to avoid improper evaluation of expressions that
should be nulled out, as in Victor Wagner's bug report of 4/27/01.
Pretty ugly solution, but no time to do anything better for 7.1.1.