- 07 8月, 1999 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 06 8月, 1999 1 次提交
-
-
由 Tom Lane 提交于
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.
-
- 05 8月, 1999 2 次提交
- 03 8月, 1999 2 次提交
- 02 8月, 1999 4 次提交
-
-
由 Michael Meskes 提交于
-
由 Tom Lane 提交于
(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.
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
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
-
- 01 8月, 1999 4 次提交
-
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
every time I tweak the optimizer...
-
由 Tom Lane 提交于
and target databases are of versions it knows about.
-
由 Tom Lane 提交于
-
- 31 7月, 1999 2 次提交
-
-
由 Tom Lane 提交于
-
由 Bruce Momjian 提交于
update temp tables with this setting.
-
- 30 7月, 1999 6 次提交
-
-
由 Tom Lane 提交于
logic in indxpath.c, avoid generation of redundant indexscan paths for the same relation and index.
-
由 Marc G. Fournier 提交于
just testing a script...
-
由 Bruce Momjian 提交于
-
由 Marc G. Fournier 提交于
Nothing changed, just testing cvslog ...
-
由 Tom Lane 提交于
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 ...
-
由 Tom Lane 提交于
-
- 29 7月, 1999 4 次提交
-
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
so that Case works in WHERE join clauses. Temporary patch --- this routine is one of many that ought to be changed to use centralized expression-tree- walking logic.
-
由 Tom Lane 提交于
detected this omission before. Miscellaneous other cleanups.
-
由 Tom Lane 提交于
IN and NOT IN operators. Rewrite grotty implementation of IN-list parsing ... look Ma, no global variable ...
-
- 27 7月, 1999 3 次提交
-
-
由 Tom Lane 提交于
rels that the inner path needs to join to, but it was only checking for the first one. Failure could only have been observed with an OR-clause that mentions 3 or more tables, and then only if the bogus path was actually selected as cheapest ...
-
由 Tom Lane 提交于
be picked for one of the complex joins in rules test ... leading to a different output ordering ...
-
由 Tom Lane 提交于
optimizer rather than parser. This has many advantages, such as not getting fooled by chance uses of operator names ~ and ~~ (the operators are identified by OID now), and not creating useless comparison operations in contexts where the comparisons will not actually be used as indexquals. The new code also recognizes exact-match LIKE and regex patterns, and produces an = indexqual instead of >= and <=. This change does NOT fix the problem with non-ASCII locales: the code still doesn't know how to generate an upper bound indexqual for non-ASCII collation order. But it's no worse than before, just the same deficiency in a different place... Also, dike out loc_restrictinfo fields in Plan nodes. These were doing nothing useful in the absence of 'expensive functions' optimization, and they took a considerable amount of processing to fill in.
-
- 26 7月, 1999 2 次提交
-
-
由 Tom Lane 提交于
to index_selectivity so that it can be handed an indexqual clause list rather than a bunch of assorted derivative data.
-
由 Tom Lane 提交于
The only place it was being used was as temporary storage in indxpath.c, and the logic was wrong: the same restrictinfo node could get chosen to carry the info for two different joins. Right fix is to return a second list of unjoined-relids parallel to the list of clause groups.
-
- 25 7月, 1999 1 次提交
-
-
由 Tom Lane 提交于
identified by Hiroshi (incorrect cost attributed to OR clauses after multiple passes through set_rest_selec()). I think the code was trying to allow selectivities of OR subclauses to be passed in from outside, but noplace was actually passing any useful data, and set_rest_selec() was passing wrong data. Restructure representation of "indexqual" in IndexPath nodes so that it is the same as for indxqual in completed IndexScan nodes: namely, a toplevel list with an entry for each pass of the index scan, having sublists that are implicitly-ANDed index qual conditions for that pass. You don't want to know what the old representation was :-( Improve documentation of OR-clause indexscan functions. Remove useless 'notclause' field from RestrictInfo nodes. (This might force an initdb for anyone who has stored rules containing RestrictInfos, but I do not think that RestrictInfo ever appears in completed plans.)
-
- 23 7月, 1999 3 次提交
-
-
由 Tom Lane 提交于
comments. This file was full of obsolete and just plain wrong commentary...
-
由 Tom Lane 提交于
invoked during exit from a standalone backend, leading to core dump. This is the cause of the recently reported initdb-time crash :-(. Sorry folks...
-
由 Bruce Momjian 提交于
-
- 22 7月, 1999 1 次提交
-
-
由 Tom Lane 提交于
unexpected loss of connection to frontend.
-
- 21 7月, 1999 3 次提交
-
-
由 Bruce Momjian 提交于
the query string to handle any length, I discovered that under certain conditions, psql will core dump when handling long strings. Thus, the patch. It was caused by a buffer overrun, probably not noticeable in a lot of cases, but pretty noticeable in mine. Problem was caused by the fact that the length check is only performed after the check for a ; to get the end of the query and execute. Cheers... MikeA
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
- 20 7月, 1999 1 次提交
-
-
由 Bruce Momjian 提交于
-