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

Commit0796a44

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 parent081c6a5 commit0796a44

File tree

8 files changed

+541
-196
lines changed

8 files changed

+541
-196
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
/*
@@ -306,6 +307,29 @@ _PG_init(void)
306307
NULL
307308
);
308309

310+
DefineCustomIntVariable("aqo.k_neighbors_threshold",
311+
"Set the threshold of number of neighbors for predicting.",
312+
NULL,
313+
&aqo_k,
314+
3,
315+
1,INT_MAX /1000,
316+
PGC_USERSET,
317+
0,
318+
NULL,
319+
NULL,
320+
NULL);
321+
322+
DefineCustomBoolVariable("aqo.predict_with_few_neighbors",
323+
"Make prediction with less neighbors than we should have.",
324+
NULL,
325+
&aqo_predict_with_few_neighbors,
326+
true,
327+
PGC_USERSET,
328+
0,
329+
NULL,
330+
lc_assign_hook,
331+
NULL);
332+
309333
prev_shmem_startup_hook=shmem_startup_hook;
310334
shmem_startup_hook=aqo_init_shmem;
311335
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