• T
    Create core infrastructure for KNNGIST. · d583f10b
    Tom Lane 提交于
    This is a heavily revised version of builtin_knngist_core-0.9.  The
    ordering operators are no longer mixed in with actual quals, which would
    have confused not only humans but significant parts of the planner.
    Instead, ordering operators are carried separately throughout planning and
    execution.
    
    Since the API for ambeginscan and amrescan functions had to be changed
    anyway, this commit takes the opportunity to rationalize that a bit.
    RelationGetIndexScan no longer forces a premature index_rescan call;
    instead, callers of index_beginscan must call index_rescan too.  Aside from
    making the AM-side initialization logic a bit less peculiar, this has the
    advantage that we do not make a useless extra am_rescan call when there are
    runtime key values.  AMs formerly could not assume that the key values
    passed to amrescan were actually valid; now they can.
    
    Teodor Sigaev and Tom Lane
    d583f10b
catversion.h 2.5 KB