summaryrefslogtreecommitdiff
path: root/src/backend/optimizer
AgeCommit message (Collapse)Author
1997-04-21Fix for -Wno-errorVadim B. Mikheev
1997-04-15Fix up the -Wno-error problem for non-gcc compilersMarc G. Fournier
Pointed out by many many ppl
1997-04-09From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>Marc G. Fournier
Subject: Re: [HACKERS] GEQO and views (rules) Oke, this was caused by a classic bug :-/ I thougth, root->base_relation_list_ could be represented as relid string 1-2-3-4- etc. Instead, in case of views, the count of relids doesn't start with "1" but maybe 4-5-6- etc . :-( GEQO patch follows ... views are now all right.
1997-04-091. Enable to have different _CPU_PAGE_WEIGHT_ for heap and index.Vadim B. Mikheev
2. PageWeights are variables now. 3. Fixed using ceil((double)selec*indextuples) as estimation for expected heap pages: ceil((double)selec*relpages) now.
1997-04-09Fix (hack) IndexSelectivity():Vadim B. Mikheev
use sum(npages)/((nkeys == 1) ? 1 : nkeys + 1) as expected index page estimation for multi-key quals - instead of sum(npages). In old code npages for x > 10 and x < 20 is twice as for x > 10 - cool ?
1997-04-05Changes for GROUP BY func_results:Vadim B. Mikheev
AddGroupAttrToTlist() is not called from anywhere now.
1997-04-05Changes for GROUP BY func_results.Vadim B. Mikheev
1997-04-04This commit represents a clean compile with the new templates underMarc G. Fournier
FreeBSD The Makefile(s) have all been cleaned up such that there is a single LDFLAGS vs LD_ADD or LDADD or LDFLAGS or LDFLAGS_BE. The Makefile(s) should be alot more straightforward then they were before...and consistent
1997-04-03From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>Marc G. Fournier
Subject: [HACKERS] Aggregate function patches Here are the aggregate function patches I originally sent in last December. They fix sum() and avg() behavior for ints and floats when NULL values are involved. I was waiting to resubmit these until I had a chance to write a v6.0->v6.1 database upgrade script to ensure that existing v6.0 databases which have not been reloaded for v6.1 do no break with the new aggregate behavior. These scripts are included below. It's OK with me if someone wants to do something different with the upgrade strategy, but something like this was discussed a few weeks ago. Also, there were a couple of small items which cropped up in doing a clean install of 970403 (actually 970402 + 970403 changes since the full 970403 tar file appears to be damaged or at least suspect). They are the first two patches below and can be omitted if desired (although I think they aren't dangerous :).
1997-04-02From: Oleg Bartunov <oleg@sai.msu.su>Marc G. Fournier
Subject: [HACKERS] locale patches ! Hi there, here are little patches to get Postgres 6.1 works with locale stuff. This is a patch against 970402.tar.gz, there are no problem to apply them by hand to 6.0 release. Collate stuff tested about 1-2 months in real working database but I'm sure there must be no problem. US hackers could vote against locale implementation ( locale for sure will affect to speed of postgres ), so I introduce variable USE_LOCALE which controls locale stuff. Non-US users now could use ~* operator for searching and <order by> for strings with nation alphabet. Please, don't forget, as I did first time, to set environment variable LC_CTYPE and LC_COLLATE because backend get locale information from them. I start postmaster from a little script, assuming that shell is Bash shell it looks like: #!/bin/sh export LC_CTYPE=koi8-r export LC_COLLATE=koi8-r postmaster -B 1024 -S -D/usr/local/pgsql/data/ -o '-Fe'
1997-03-18Patches for Vadim's multikey indexing...Marc G. Fournier
1997-03-14> There are some minor fixes to the GEQO.Marc G. Fournier
> Please apply them to the direcory "backend/optimizer/geqo". > Two new files with different crossover techniques are included. > Standard procedure is optimization by means of "geqo_erx.c" > (Edge Recombination Crossover). From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
1997-03-12From: Dan McGuirk <mcguirk@indirect.com>Marc G. Fournier
Subject: [HACKERS] linux/alpha patches These patches lay the groundwork for a Linux/Alpha port. The port doesn't actually work unless you tweak the linker to put all the pointers in the first 32 bits of the address space, but it's at least a start. It implements the test-and-set instruction in Alpha assembly, and also fixes a lot of pointer-to-integer conversions, which is probably good anyway.
1997-03-12From: Dan McGuirk <mcguirk@indirect.com>Marc G. Fournier
Subject: [HACKERS] linux/alpha patches These patches lay the groundwork for a Linux/Alpha port. The port doesn't actually work unless you tweak the linker to put all the pointers in the first 32 bits of the address space, but it's at least a start. It implements the test-and-set instruction in Alpha assembly, and also fixes a lot of pointer-to-integer conversions, which is probably good anyway.
1997-03-03Patch from Martin due to changes in joinrels.cMarc G. Fournier
1997-03-01Change machine/limits.h to limits.h.Bruce Momjian
1997-02-20Fix for queries with 3 or more relations participating inVadim B. Mikheev
one clause.
1997-02-19Various cleanups to satisfy -Werror, but there are some errors that I'mMarc G. Fournier
not certain how to fix, so left them there and enabled -Wno-error for this directory for now
1997-02-19rearrange ordering of headers os that postgres.h is firstMarc G. Fournier
1997-02-19Remove WIN32 stuff, and improve conformance to configureMarc G. Fournier
1997-02-19Add and install the pg_geqo.sample fileMarc G. Fournier
1997-02-19Merge in GEQO OptimizerMarc G. Fournier
From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
1997-02-14Remove WIN32 defines. They never worked.Bruce Momjian
1997-01-26Linux defines MAXINT in values.h, which causes an error when compiling.Marc G. Fournier
Wrap it in an #ifndef to prevent this
1997-01-24Replace occurances of USE_{LIMITS,VALUES}_H with HAVE_* in preparationMarc G. Fournier
for switch over to configure
1997-01-22INDEXSCAN_PATCH changes: should work for (Param OP VAR) tooVadim B. Mikheev
(but I didn't test FUNC OP PARAM and PARAM OP FUNC - no time)
1997-01-221. INDEXSCAN_PATCH changes: (op Param Var) should work tooVadim B. Mikheev
2. IndexScanableOperand now uses match_indexkey_operand instead of equal_indexkey_var (if we have some index on attribute X then we shouldn't use it for 'where some_func(X) OP CONST').
1997-01-22Taking a chance here. Under both Solaris and FreeBSD, there is aMarc G. Fournier
/usr/include/limits.h (which quiets the costsize.c warnings)...under FreeBSD, /usr/include/limits.h *includes* machine/limits.h, while under Solaris, there is no such things as /usr/include/machine... Problem with Solaris pointed out by Mark Wahl
1997-01-22Cast constants to the type of the other binary operand.Bruce Momjian
Invalidate vacuum relation cache to use new row counts from vacuum.
1997-01-13Part of patch to make a working nextstep port.Bryan Henderson
1997-01-10include sem.h added, include string.h neede, from Erik Bertelsen for UltrixBruce Momjian
1997-01-08#include "postgres.h"Vadim B. Mikheev
moved upper.
1997-01-06Clean up 'if defined()' for header files...Marc G. Fournier
1996-11-30As someone asked for this feature - patch for 1.09 follows.Bruce Momjian
Now You can do queries like select sum(some_func(x)) from ... select min(table1.x + table2.y) from table1, table2 where ... and so on. Vadim
1996-11-10Recognize dependencies more reliably.Bryan Henderson
1996-11-10All external function definitions now have prototypes that are checked.Bruce Momjian
1996-11-09Makefile cleanup after reorganizationBruce Momjian
1996-11-08Compile and warning cleanupBruce Momjian
1996-11-06More files cleaned outMarc G. Fournier
1996-10-31Cleanup MakefilesMarc G. Fournier
Add #include "postgres.h" and #include <sys/types.h>
1996-10-31remove use of PORTNAME_*Marc G. Fournier
1996-10-31Added needed include file.Bruce Momjian
1996-10-27Simplify make files, add full dependencies.Bryan Henderson
1996-10-23Update "planner" directory to "optimizer" in include paths in this dead code.Bryan Henderson
1996-09-10Fixes:Marc G. Fournier
The problem is that the function arguments are not considered as possible key candidates for index scan and so only a sequential scan is possible inside the body of a function. I have therefore made some patches to the optimizer so that indices are now used also by functions. I have also moved the plan debug message from pg_eval to pg_plan so that it is printed also for plans genereated for function execution. I had also to add an index rescan to the executor because it ignored the parameters set in the execution state, they were flagged as runtime variables in ExecInitIndexScan but then never used by the executor so that the scan were always done with any key=1. Very odd. This means that an index rescan is now done twice for each function execution which uses an index, the first time when the index scan is initialized and the second when the actual function arguments are finally available for the execution. I don't know what is the cost of an double index scan but I suppose it is anyway less than the cost of a full sequential scan, at leat for large tables. This is my patch, you must also add -DINDEXSCAN_PATCH in Makefile.global to enable the changes. Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
1996-08-28Clean up th ecompile process by centralizing the include filesMarc G. Fournier
- code compile tested, but due to a yet unresolved problem with parse.h's creation, compile not completed...
1996-08-26There, now we support GiST...now what? :)Marc G. Fournier
1996-07-31This prevent gcc from complaining about casting a short to a char * andMarc G. Fournier
fixes another complaint. More fixes from Bruce...
1996-07-25Fix applied for NESTLOOP bugMarc G. Fournier
submitted by: vadim@sable.krasnoyarsk.su (Vadim B. Mikheev)
1996-07-22More of Dr. George's changes...Marc G. Fournier
- src/backend/catalog/* - no changes - src/backend/executor/* - change how nodeHash.c handles running out of memory - src/backend/optimizer/* - mostly cosmetic changes