aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Remove bogus code in oper_exact --- if it didn't find an exactTom Lane1999-08-23
| | | | | | | | | match then it tried for a self-commutative operator with the reversed input data types. This is pretty silly; there could never be such an operator, except maybe in binary-compatible-type scenarios, and we have oper_inexact for that. Besides which, the oprsanity regress test would complain about such an operator. Remove nonfunctional code and simplify routine calling convention accordingly.
* Further sort-order twiddling in optimizer: be smart aboutTom Lane1999-08-22
| | | | case where ORDER BY and GROUP BY request the same sort order.
* Un-break code generated by ECPGRelease production.Tom Lane1999-08-22
|
* Further planner/optimizer cleanups. Move all set_tlist_referencesTom Lane1999-08-22
| | | | | | | | | | and fix_opids processing to a single recursive pass over the plan tree executed at the very tail end of planning, rather than haphazardly here and there at different places. Now that tlist Vars do not get modified until the very end, it's possible to get rid of the klugy var_equal and match_varid partial-matching routines, and just use plain equal() throughout the optimizer. This is a step towards allowing merge and hash joins to be done on expressions instead of only Vars ...
* Major revision of sort-node handling: push knowledge of queryTom Lane1999-08-21
| | | | | | | | | | | | | sort order down into planner, instead of handling it only at the very top level of the planner. This fixes many things. An explicit sort is now avoided if there is a cheaper alternative (typically an indexscan) not only for ORDER BY, but also for the internal sort of GROUP BY. It works even when there is no other reason (such as a WHERE condition) to consider the indexscan. It works for indexes on functions. It works for indexes on functions, backwards. It's just so cool... CAUTION: I have changed the representation of SortClause nodes, therefore THIS UPDATE BREAKS STORED RULES. You will need to initdb.
* Cleanups for int8: guard against null inputs in comparisonTom Lane1999-08-21
| | | | | operators (and some other places), fix rangechecks in int8 to int4 conversion (same problem we recently figured out in pg_atoi).
* Ooops ... I had left some test coding in selfuncs.c thatTom Lane1999-08-21
| | | | failed on 'field < textconstant' ...
* Update TODO list.Bruce Momjian1999-08-18
|
* Old multi-byte bug. Forgot to rename #ifdef MB to #ifdef MULTIBYTETatsuo Ishii1999-08-18
| | | | Now SET NAMES working again...
* Remove extraneous SeqScan node that make_noname was insertingTom Lane1999-08-18
| | | | | | above a Sort or Materialize node. As far as I can tell, the only place that actually needed that was set_tlist_references, which was being lazy about checking to see if it had a noname node to fix or not...
* Add script that runs the regression tests with all validTom Lane1999-08-17
| | | | | combinations of query-plan-type backend options. Good for testing planner/optimizer. Tedious, though.
* Add missing docs semicolon.Bruce Momjian1999-08-17
|
* EXPLAIN didn't know about 'Materialize' plan nodes.Tom Lane1999-08-16
|
* Assign sort keys properly when there are duplicate entries inTom Lane1999-08-16
| | | | | pathkey list --- corrects misbehavior seen with multiple mergejoin clauses mentioning same variable.
* Typo fixBruce Momjian1999-08-16
|
* I've sent 3 mails to pgsql-patches. There are two files, one for docBruce Momjian1999-08-16
| | | | | | | | and for src/data directories, and one minor patch for doc/README.locale. Please apply. Oleg.
* Fix for perl5 on BSD/OS.Bruce Momjian1999-08-16
|
* Change >& to > and 2>&1.Bruce Momjian1999-08-16
|
* Allow BSD yacc and bison to compile pl code.Bruce Momjian1999-08-16
|
* Major planner/optimizer revision: get rid of PathOrder node type,Tom Lane1999-08-16
| | | | | | | | | store all ordering information in pathkeys lists (which are now lists of lists of PathKeyItem nodes, not just lists of lists of vars). This was a big win --- the code is smaller and IMHO more understandable than it was, even though it handles more cases. I believe the node changes will not force an initdb for anyone; planner nodes don't show up in stored rules.
* Small updates to #include lists for pending optimizer checkin.Tom Lane1999-08-16
|
* Move funcid_get_rettype() to lsyscache.Tom Lane1999-08-16
|
* Add get_func_rettype() to general-use lsyscache routines,Tom Lane1999-08-16
| | | | since it's now needed in both optimizer and parser.
* Fix for Win32 making problem with MB enabled.Tatsuo Ishii1999-08-16
| | | | Patches created by Hiroki Kataoka.
* Repair the check for redundant UNIQUE and PRIMARY KEY indices.Thomas G. Lockhart1999-08-15
| | | | | Also, improve it so that it checks for multi-column constraints. Thanks to Mark Dalphin <mdalphin@amgen.com> for reporting the problem.
* LispUnion fix changes output ordering for inheritance tests.Tom Lane1999-08-14
|
* LispUnion routine didn't generate a proper union: anytimeTom Lane1999-08-14
| | | | | l2 contained more than one entry, there would be duplicates in the output list. Miscellaneous code beautification in other routines, too.
* Update TODO list.Bruce Momjian1999-08-13
|
* Update comments about pathkeys.Tom Lane1999-08-13
|
* Clean up optimizer's handling of indexscan quals that need to beTom Lane1999-08-12
| | | | | | | | | | | | commuted (ie, the index var appears on the right). These are now handled the same way as merge and hash join quals that need to be commuted: the actual reversing of the clause only happens if we actually choose the path and generate a plan from it. Furthermore, the clause is only reversed in the 'indexqual' field of the plan, not in the 'indxqualorig' field. This allows the clause to still be recognized and removed from qpquals of upper level join plans. Also, simplify and generalize match_clause_to_indexkey; now it recognizes binary-compatible indexes for join as well as restriction clauses.
* Add commentary to show that even though ExecInitIndexScan()Tom Lane1999-08-12
| | | | | | | contains much code that looks like it will handle indexquals with the index key on either side of the operator, in fact indexquals must have the index key on the left because of limitations of the ScanKey machinery. Perhaps someone will be motivated to fix that someday...
* Update TODO list.Bruce Momjian1999-08-10
|
* Minor cleanups and code beautification; eliminate someTom Lane1999-08-10
| | | | routines that are now dead code.
* Revise create_nestloop_node's handling of inner indexscan toTom Lane1999-08-10
| | | | | | | | 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.
* > > Prevent sorting if result is already sortedBruce Momjian1999-08-09
| | | | | | | | | | | | | | > > > > 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
* Clean up tlist.c tree-walking routines withTom Lane1999-08-09
| | | | expression_tree_mutator.
* Store -1 in attdisbursion to signal 'no duplicates in column'.Tom Lane1999-08-09
| | | | Centralize att_disbursion readout logic.
* Move get_attdisbursion to lsyscache. Clean up get_typdefault.Tom Lane1999-08-09
|
* Update comments about attdisbursion. NO code change.Tom Lane1999-08-09
|
* Re-use free space on index pages with duplicates.Vadim B. Mikheev1999-08-09
|
* Rewrite fix_indxqual_references, which was entirely bogus forTom Lane1999-08-09
| | | | | | | 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...
* Clean up routines in setrefs.c by replacing individual treeTom Lane1999-08-09
| | | | walking logic with expression_tree_walker/mutator calls.
* Create a standardized expression_tree_mutator support routineTom Lane1999-08-09
| | | | | | 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.
* replace #Include .Bruce Momjian1999-08-09
|
* Fix nbtree's failure to clear BTScans list during xact abort.Tom Lane1999-08-08
| | | | | | 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()?
* For a unique-key attribute (no duplicate values), vacuum analyzeTom Lane1999-08-08
| | | | was recording a disbursion of 0, not the correct value 1/numberOfRows.
* Remove old man pages. All info is in new man pages or other docs.Thomas G. Lockhart1999-08-08
|
* Use sgml/Makefile to generate man sections, so just "make man" there.Thomas G. Lockhart1999-08-08
|
* Switch from old man pages to new ones generated from sgml.Thomas G. Lockhart1999-08-08
|
* Remove emacs properties block from end of file.Thomas G. Lockhart1999-08-08
|