aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* 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
|
* 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 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...
* 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
|
* Fix so BSD yacc works on file.Bruce Momjian1999-08-07
|
* Revise generation of hashjoin paths: generate one path perTom Lane1999-08-06
| | | | | | | | | | | | | | | 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.
* parse_coerce fix allows early simplification of oneTom Lane1999-08-05
| | | | constant-coercion expression in the rules test.
* Revise parse_coerce() to handle coercion of int and floatTom Lane1999-08-05
| | | | | constants, not only string constants, at parse time. Get rid of parser_typecast2(), which is bogus and redundant...
* Fix ELF test so it doesn't spit up on all non-ELF systems...Tom Lane1999-08-03
| | | | | 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.
* Add a VACUUM command in hopes of making pg_upgrade usable againTom Lane1999-08-02
| | | | in MVCC environment. I do not trust this until Vadim says it's OK...
* *** empty log message ***Michael Meskes1999-08-02
|
* Further selectivity-estimation work. Speed up eqsel()Tom Lane1999-08-02
| | | | | | | | | (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.
* autoconfBruce Momjian1999-08-01
|
* I didn't see any further discussion so here is, I hope, a clean fix toBruce Momjian1999-08-01
| | | | | | | 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
* First step in fixing selectivity-estimation code. eqsel andTom Lane1999-08-01
| | | | | | | | | | 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.
* Add another ORDER BY to rules test; got tired of it 'failing'Tom Lane1999-08-01
| | | | every time I tweak the optimizer...
* Re-enable pg_upgrade, after adding checks that the sourceTom Lane1999-07-31
| | | | and target databases are of versions it knows about.
* Add comments for attdisbursion field --- NO code change.Tom Lane1999-07-31
|
* Update comments about clause selectivity estimation.Tom Lane1999-07-30
|
* Make usecatupd disabled for normal users, and allow normal users toBruce Momjian1999-07-30
| | | | update temp tables with this setting.
* Further cleanups of indexqual processing: simplify controlTom Lane1999-07-30
| | | | | logic in indxpath.c, avoid generation of redundant indexscan paths for the same relation and index.
* just testing a script...Marc G. Fournier1999-07-30
|
* Remove extra #endifBruce Momjian1999-07-30
|
* Nothing changed, just testing cvslog ...Marc G. Fournier1999-07-30
|
* Fix coredump seen when doing mergejoin between indexed tables,Tom Lane1999-07-30
| | | | | | for example in the regression test database, try select * from tenk1 t1, tenk1 t2 where t1.unique1 = t2.unique2; 6.5 has this same bug ...