MobilityDB 1.3
Loading...
Searching...
No Matches

◆ skiplist_splice()

void skiplist_splice ( SkipList list,
void **  keys,
void **  values,
int  count,
datum_func2  func,
bool  crossings,
SkipListType  sktype 
)

Insert a new set of values to the skiplist while performing the aggregation between the new values that overlap with the values in the list.

The complexity of this function is

  • average: O(count*log(n))
  • worst case: O(n + count*log(n)) (when period spans the whole list so everything has to be deleted)
    Parameters
    [in,out]listSkiplist
    [in]keysArray of keys
    [in]valuesArray of values
    [in]countNumber of elements in the array
    [in]funcFunction used when aggregating temporal values, may be NULL for the merge aggregate function
    [in]crossingsTrue if turning points are added in the segments when aggregating temporal value
    [in]sktypeType of the skiplist