Commit Graph

5602 Commits

Author SHA1 Message Date
Bruce Momjian 6075717df0 Update TODO list. 1999-08-10 16:56:54 +00:00
Tom Lane 2ae51c86c9 Minor cleanups and code beautification; eliminate some
routines that are now dead code.
1999-08-10 03:00:15 +00:00
Tom Lane 4a1c5cb953 Revise create_nestloop_node's handling of inner indexscan to
work under a wider range of scenarios than it did --- it formerly did not
handle a multi-pass inner scan, nor cases in which the inner scan's
indxqualorig or non-index qual contained outer var references.  I am not
sure that these limitations could be hit in the existing optimizer, but
they need to be fixed for future expansion.
1999-08-10 02:58:56 +00:00
Bruce Momjian 158fd5f1c4 > > Prevent sorting if result is already sorted
> >
> > was implemented by Jan Wieck.
> > His work is for ascending order cases.
> >
> > Here is a patch to prevent sorting also in descending
> > order cases.
> > Because I had already changed _bt_first() to position
> > backward correctly before v6.5,this patch would work.
> >
Hiroshi Inoue
Inoue@tpf.co.jp
1999-08-09 06:20:27 +00:00
Tom Lane 5efe31214a Clean up tlist.c tree-walking routines with
expression_tree_mutator.
1999-08-09 05:34:13 +00:00
Tom Lane 14f84cd821 Store -1 in attdisbursion to signal 'no duplicates in column'.
Centralize att_disbursion readout logic.
1999-08-09 03:16:47 +00:00
Tom Lane 5af4b04f31 Move get_attdisbursion to lsyscache. Clean up get_typdefault. 1999-08-09 03:13:31 +00:00
Tom Lane e9054829a2 Update comments about attdisbursion. NO code change. 1999-08-09 02:45:56 +00:00
Vadim B. Mikheev 1ecb43a40c Re-use free space on index pages with duplicates. 1999-08-09 01:39:19 +00:00
Tom Lane 10d6d411a8 Rewrite fix_indxqual_references, which was entirely bogus for
multi-scan indexscan plans; it tried to use the same table-to-index
attribute mapping for all the scans, even if they used different indexes.
It would klugily work as long as OR indexquals never used multikey indexes,
but that's not likely to hold up much longer...
1999-08-09 01:01:42 +00:00
Tom Lane ecef2caae9 Clean up routines in setrefs.c by replacing individual tree
walking logic with expression_tree_walker/mutator calls.
1999-08-09 00:56:05 +00:00
Tom Lane 6bc601b648 Create a standardized expression_tree_mutator support routine
to go along with expression_tree_walker.  (_walker is not suitable for
routines that need to alter the tree structure significantly.)  Other minor
cleanups in clauses.c.
1999-08-09 00:51:26 +00:00
Bruce Momjian f0b651ac6b replace #Include . 1999-08-09 00:08:52 +00:00
Tom Lane 4488b69b4c Fix nbtree's failure to clear BTScans list during xact abort.
Also, move responsibility for calling vc_abort into main xact.c list of
things-to-call-at-abort.  What in the world was it doing down inside of
TransactionIdAbort()?
1999-08-08 20:12:52 +00:00
Tom Lane fb491a5854 For a unique-key attribute (no duplicate values), vacuum analyze
was recording a disbursion of 0, not the correct value 1/numberOfRows.
1999-08-08 17:13:10 +00:00
Thomas G. Lockhart a76ad509fe Remove old man pages. All info is in new man pages or other docs. 1999-08-08 15:21:50 +00:00
Thomas G. Lockhart d0a1919852 Use sgml/Makefile to generate man sections, so just "make man" there. 1999-08-08 15:10:21 +00:00
Thomas G. Lockhart 7af929cd79 Switch from old man pages to new ones generated from sgml. 1999-08-08 15:09:04 +00:00
Thomas G. Lockhart 13d1a3c06d Remove emacs properties block from end of file. 1999-08-08 15:05:22 +00:00
Thomas G. Lockhart c9ff1a5a75 Update references to char2 type by using char(2).
Thanks to Garr Updegraff <garru@uci.edu> for the tip.
1999-08-08 04:21:33 +00:00
Thomas G. Lockhart f11bdb9db5 Allow nsgmls to validate input by defining the document type.
Use refentry.sgml as a generic header for man pages through nsgmls.
1999-08-08 04:18:29 +00:00
Bruce Momjian 4cddd482c1 Fix so BSD yacc works on file. 1999-08-07 04:25:02 +00:00
Thomas G. Lockhart c879556780 Fix markup to allow clean man pages.
Add new pages for programming languages and tcl shells.
1999-08-06 13:50:31 +00:00
Thomas G. Lockhart 6b07527721 Fix cross-reference markup so that only the *title* of the Operators
chapter is included, not the chapter itself.
Thanks to Evelyn Mitchell <efm@tummy.com> for pointing it out.
1999-08-06 13:48:38 +00:00
Thomas G. Lockhart 777a4f71f0 Remove explicit references to ref/ path in file names; use vpath instead.
Fix rules for man pages to ensure double-pass to get cross references.
Add a few new man pages.
1999-08-06 13:46:17 +00:00
Thomas G. Lockhart 4f1766f1ea Try to clarify characteristics of the SERIAL type.
Fix source indenting, which does not affect output.
Note: still need docs on NUMERIC and DECIMAL
 (and let's not talk about regression tests :()
1999-08-06 13:43:42 +00:00
Tom Lane e1fad50a5d Revise generation of hashjoin paths: generate one path per
hashjoinable clause, not one path for a randomly-chosen element of each
set of clauses with the same join operator.  That is, if you wrote
   SELECT ... WHERE t1.f1 = t2.f2 and t1.f3 = t2.f4,
and both '=' ops were the same opcode (say, all four fields are int4),
then the system would either consider hashing on f1=f2 or on f3=f4,
but it would *not* consider both possibilities.  Boo hiss.
Also, revise estimation of hashjoin costs to include a penalty when the
inner join var has a high disbursion --- ie, the most common value is
pretty common.  This tends to lead to badly skewed hash bucket occupancy
and way more comparisons than you'd expect on average.
I imagine that the cost calculation still needs tweaking, but at least
it generates a more reasonable plan than before on George Young's example.
1999-08-06 04:00:17 +00:00
Tom Lane b7883d7e3a parse_coerce fix allows early simplification of one
constant-coercion expression in the rules test.
1999-08-05 02:35:29 +00:00
Tom Lane fd19a350ea Revise parse_coerce() to handle coercion of int and float
constants, not only string constants, at parse time.  Get rid of
parser_typecast2(), which is bogus and redundant...
1999-08-05 02:33:54 +00:00
Bruce Momjian 5a76a94e41 Update TODO list. 1999-08-05 01:53:35 +00:00
Tom Lane b15a7c9fbe Fix ELF test so it doesn't spit up on all non-ELF systems...
use Autoconf-approved method of testing for predefined symbols, and move
it down to where we know what compiler to run and how to run it.
1999-08-03 00:09:32 +00:00
Tom Lane b0984e6995 Add a VACUUM command in hopes of making pg_upgrade usable again
in MVCC environment.  I do not trust this until Vadim says it's OK...
1999-08-02 22:34:53 +00:00
Michael Meskes b2a2be4c5a *** empty log message *** 1999-08-02 04:59:18 +00:00
Tom Lane 8624ff7612 Further selectivity-estimation work. Speed up eqsel()
(it should just call the given operator, not look up an = operator).
Fix intltsel() so that all numeric data types are converted to double
before trying to estimate where the given comparison value is in the
known range of column values.  intltsel() still needs work, or replacement,
for non-numeric data types ... but for nonintegral numeric types it
should now be delivering reasonable estimates.
1999-08-02 02:05:41 +00:00
Marc G. Fournier d35eebe748 back out last... 1999-08-02 01:42:57 +00:00
Marc G. Fournier 557ff53044 testing somethign... 1999-08-02 01:40:30 +00:00
Bruce Momjian 9032d3f205 autoconf 1999-08-01 16:36:57 +00:00
Bruce Momjian b2a0a4e8f5 I didn't see any further discussion so here is, I hope, a clean fix to
configure.in to determine if a system is ELF or not.  Note that some
of the tests earlier may be redundant but I took the safest route.

D'Arcy J.M. Cain
1999-08-01 16:30:05 +00:00
Bruce Momjian aa1bbed7da Update NT readme. 1999-08-01 14:48:50 +00:00
Tom Lane 44878506d8 First step in fixing selectivity-estimation code. eqsel and
neqsel now behave as per my suggestions in pghackers a few days ago.
selectivity for < > <= >= should work OK for integral types as well, but
still need work for nonintegral types.  Since these routines have never
actually executed before :-(, this may result in some significant changes
in the optimizer's choices of execution plans.  Let me know if you see
any serious misbehavior.
CAUTION: THESE CHANGES REQUIRE INITDB.  pg_statistic table has changed.
1999-08-01 04:54:25 +00:00
Tom Lane f851c6b07d Add another ORDER BY to rules test; got tired of it 'failing'
every time I tweak the optimizer...
1999-08-01 04:41:32 +00:00
Tom Lane 970ef45c41 Re-enable pg_upgrade, after adding checks that the source
and target databases are of versions it knows about.
1999-07-31 22:06:44 +00:00
Tom Lane d7f2c5580d Add some more verbiage to man page's directions for pg_upgrade. 1999-07-31 22:05:48 +00:00
Tom Lane cf835f97fc Add comments for attdisbursion field --- NO code change. 1999-07-31 19:07:25 +00:00
Tom Lane 30da344cb1 Update comments about clause selectivity estimation. 1999-07-30 22:34:19 +00:00
Bruce Momjian 44763a2b23 Make usecatupd disabled for normal users, and allow normal users to
update temp tables with this setting.
1999-07-30 18:09:49 +00:00
Tom Lane 04578a9180 Further cleanups of indexqual processing: simplify control
logic in indxpath.c, avoid generation of redundant indexscan paths for the
same relation and index.
1999-07-30 04:07:25 +00:00
Marc G. Fournier 037cac7ca6 There is one section that changed, concernign startup...the rest is just
changes for v6.5->v6.5.1, so relatively harmless
1999-07-30 04:04:53 +00:00
Marc G. Fournier 63b70d3546 v6.6's HISTORY file should reflect changes that went into all previous
releases, including v6.5.1 ...
1999-07-30 03:58:20 +00:00
Marc G. Fournier f08baacfa5 just testing a script... 1999-07-30 03:45:57 +00:00