mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Fix oversight in planning for multiple indexscans driven by
ScalarArrayOpExpr index quals: we were estimating the right total number of rows returned, but treating the index-access part of the cost as if a single scan were fetching that many consecutive index tuples. Actually we should treat it as a multiple indexscan, and if there are enough of 'em the Mackert-Lohman discount should kick in.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/utils/selfuncs.h,v 1.33 2006/05/02 11:28:55 teodor Exp $
|
||||
* $PostgreSQL: pgsql/src/include/utils/selfuncs.h,v 1.34 2006/07/01 22:07:23 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -151,6 +151,7 @@ extern Selectivity scalararraysel(PlannerInfo *root,
|
||||
ScalarArrayOpExpr *clause,
|
||||
bool is_join_clause,
|
||||
int varRelid, JoinType jointype);
|
||||
extern int estimate_array_length(Node *arrayexpr);
|
||||
extern Selectivity rowcomparesel(PlannerInfo *root,
|
||||
RowCompareExpr *clause,
|
||||
int varRelid, JoinType jointype);
|
||||
|
||||
Reference in New Issue
Block a user