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



Reply via email to