Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd3f7f3b

Browse files
Alena Rybakinadanolivo
Alena Rybakina
authored andcommitted
Load neighbours with the fss hash except dublicated neighours.
Rewrite test for look-a-like functional. Current tests containcorrelation columns and queries have more nodes and descriptionfeatures.Add aqo_k as custom parameter to define few number of featuresfor prediction. Its default value is 3. Queries can containa larger number of features than 3 especially generic queries.Also add predict_a_few_neibours parameter for switch avalableto predict a few neibors than 3. It is done for not to changethe previous logic of the code
1 parent0fdbb07 commitd3f7f3b

File tree

8 files changed

+543
-198
lines changed

8 files changed

+543
-198
lines changed

‎aqo.c

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ void _PG_init(void);
3434
/* Strategy of determining feature space for new queries. */
3535
intaqo_mode=AQO_MODE_CONTROLLED;
3636
boolforce_collect_stat;
37+
boolaqo_predict_with_few_neighbors;
3738

3839
/*
3940
* Show special info in EXPLAIN mode.
@@ -71,7 +72,7 @@ intauto_tuning_infinite_loop = 8;
7172
/* Machine learning parameters */
7273

7374
/* The number of nearest neighbors which will be chosen for ML-operations */
74-
intaqo_k=3;
75+
intaqo_k;
7576
doublelog_selectivity_lower_bound=-30;
7677

7778
/*
@@ -287,6 +288,29 @@ _PG_init(void)
287288
NULL
288289
);
289290

291+
DefineCustomIntVariable("aqo.k_neighbors_threshold",
292+
"Set the threshold of number of neighbors for predicting.",
293+
NULL,
294+
&aqo_k,
295+
3,
296+
1,INT_MAX /1000,
297+
PGC_USERSET,
298+
0,
299+
NULL,
300+
NULL,
301+
NULL);
302+
303+
DefineCustomBoolVariable("aqo.predict_with_few_neighbors",
304+
"Make prediction with less neighbors than we should have.",
305+
NULL,
306+
&aqo_predict_with_few_neighbors,
307+
true,
308+
PGC_USERSET,
309+
0,
310+
NULL,
311+
lc_assign_hook,
312+
NULL);
313+
290314
prev_shmem_startup_hook=shmem_startup_hook;
291315
shmem_startup_hook=aqo_init_shmem;
292316
prev_planner_hook=planner_hook;

‎aqo.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ extern double auto_tuning_convergence_error;
217217
/* Machine learning parameters */
218218

219219
externintaqo_k;
220+
externboolaqo_predict_with_few_neighbors;
220221
externdoublelog_selectivity_lower_bound;
221222

222223
/* Parameters for current query */

‎cardinality_estimation.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ predict_for_relation(List *clauses, List *selectivities, List *relsigns,
9393
*/
9494

9595
/* Try to search in surrounding feature spaces for the same node */
96-
if (!load_aqo_data(query_context.fspace_hash,*fss,data,NULL,use_wide_search))
96+
if (!load_aqo_data(query_context.fspace_hash,*fss,data,NULL,use_wide_search,features))
9797
result=-1;
9898
else
9999
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp