From fc0d3e7fdbcb76398818816eafd3e63bb8d8bbfe Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Mon, 28 Oct 2024 01:20:59 -0700 Subject: [PATCH] Added search parameters to EXPLAIN [skip ci] --- src/hnsw.c | 8 ++++---- src/ivfflat.c | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/hnsw.c b/src/hnsw.c index 5bfc619..188d4a4 100644 --- a/src/hnsw.c +++ b/src/hnsw.c @@ -77,21 +77,21 @@ HnswInit(void) DefineCustomIntVariable("hnsw.ef_search", "Sets the size of the dynamic candidate list for search", "Valid range is 1..1000.", &hnsw_ef_search, - HNSW_DEFAULT_EF_SEARCH, HNSW_MIN_EF_SEARCH, HNSW_MAX_EF_SEARCH, PGC_USERSET, 0, NULL, NULL, NULL); + HNSW_DEFAULT_EF_SEARCH, HNSW_MIN_EF_SEARCH, HNSW_MAX_EF_SEARCH, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); DefineCustomEnumVariable("hnsw.iterative_scan", "Sets the mode for iterative scans", NULL, &hnsw_iterative_scan, - HNSW_ITERATIVE_SCAN_OFF, hnsw_iterative_scan_options, PGC_USERSET, 0, NULL, NULL, NULL); + HNSW_ITERATIVE_SCAN_OFF, hnsw_iterative_scan_options, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); /* This is approximate and does not affect the initial scan */ DefineCustomIntVariable("hnsw.max_scan_tuples", "Sets the max number of tuples to visit for iterative scans", NULL, &hnsw_max_scan_tuples, - 20000, 1, INT_MAX, PGC_USERSET, 0, NULL, NULL, NULL); + 20000, 1, INT_MAX, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); /* Same range as hash_mem_multiplier */ DefineCustomRealVariable("hnsw.scan_mem_multiplier", "Sets the multiple of work_mem to use for iterative scans", NULL, &hnsw_scan_mem_multiplier, - 1, 1, 1000, PGC_USERSET, 0, NULL, NULL, NULL); + 1, 1, 1000, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); MarkGUCPrefixReserved("hnsw"); } diff --git a/src/ivfflat.c b/src/ivfflat.c index 9e8370f..c32c94a 100644 --- a/src/ivfflat.c +++ b/src/ivfflat.c @@ -39,16 +39,16 @@ IvfflatInit(void) DefineCustomIntVariable("ivfflat.probes", "Sets the number of probes", "Valid range is 1..lists.", &ivfflat_probes, - IVFFLAT_DEFAULT_PROBES, IVFFLAT_MIN_LISTS, IVFFLAT_MAX_LISTS, PGC_USERSET, 0, NULL, NULL, NULL); + IVFFLAT_DEFAULT_PROBES, IVFFLAT_MIN_LISTS, IVFFLAT_MAX_LISTS, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); DefineCustomEnumVariable("ivfflat.iterative_scan", "Sets the mode for iterative scans", NULL, &ivfflat_iterative_scan, - IVFFLAT_ITERATIVE_SCAN_OFF, ivfflat_iterative_scan_options, PGC_USERSET, 0, NULL, NULL, NULL); + IVFFLAT_ITERATIVE_SCAN_OFF, ivfflat_iterative_scan_options, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); /* If this is less than probes, probes is used */ DefineCustomIntVariable("ivfflat.max_probes", "Sets the max number of probes for iterative scans", NULL, &ivfflat_max_probes, - IVFFLAT_MAX_LISTS, IVFFLAT_MIN_LISTS, IVFFLAT_MAX_LISTS, PGC_USERSET, 0, NULL, NULL, NULL); + IVFFLAT_MAX_LISTS, IVFFLAT_MIN_LISTS, IVFFLAT_MAX_LISTS, PGC_USERSET, GUC_EXPLAIN, NULL, NULL, NULL); MarkGUCPrefixReserved("ivfflat"); }