Some questions about gin index - Mailing list pgsql-hackers

From Andy Fan
Subject Some questions about gin index
Date
Msg-id 87tt4v7lnl.fsf@163.com
Whole thread Raw
Responses Re: Some questions about gin index
List pgsql-hackers
Hi,

When reading the code for Gin Index, there are lots of confusion about
some concepts, so here are some questions in my mind.


1. search mode.

/*
 * searchMode settings for extractQueryFn.
 */
#define GIN_SEARCH_MODE_DEFAULT            0
#define GIN_SEARCH_MODE_INCLUDE_EMPTY    1
#define GIN_SEARCH_MODE_ALL                2
#define GIN_SEARCH_MODE_EVERYTHING        3    /* for internal use only */


2. 

typedef struct GinScanEntryData
{
..
    bool        isPartialMatch;
..
}


3. requiredEntries / additionalEntries

typedef struct GinScanKeyData
{
    /*
     * At least one of the entries in requiredEntries must be present for a
     * tuple to match the overall qual.
     *
     * additionalEntries contains entries that are needed by the consistent
     * function to decide if an item matches, but are not sufficient to
     * satisfy the qual without entries from requiredEntries.
     */
    GinScanEntry *requiredEntries;
    int            nrequired;
    GinScanEntry *additionalEntries;
    int            nadditional;
 ..
}

For all the 3 questions, the general question is what is X and how does
it play its role? I have read the gin/README before asking, so any help
is appreciated.


-- 
Best Regards
Andy Fan




pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: strange perf regression with data checksums
Next
From: Xuneng Zhou
Date:
Subject: Re: Proposal: Limitations of palloc inside checkpointer