DAOS API (v2.1 - dev)
Loading...
Searching...
No Matches
daos_filter_part_t Struct Reference

#include <daos_pipeline.h>

Data Fields

d_iov_t part_type
 
d_iov_t data_type
 
uint32_t num_operands
 
daos_key_t akey
 
size_t num_constants
 
d_iov_t * constant
 
size_t data_offset
 
size_t data_len
 

Detailed Description

(C) Copyright 2021-2023 Intel Corporation.

SPDX-License-Identifier: BSD-2-Clause-Patent A filter part object, used to build a filter object for a pipeline.

Definition at line 26 of file daos_pipeline.h.

Field Documentation

◆ akey

daos_key_t akey

If filtering by akey, this tells us which one.

Definition at line 89 of file daos_pipeline.h.

◆ constant

d_iov_t* constant

This object holds the value of the constants

Definition at line 97 of file daos_pipeline.h.

◆ data_len

size_t data_len

Size of the data to be filtered. Only relevant for keys part type objects. If key is akey, and the akey is an array, data_len corresponds to the number of contiguous records in the extent (same as rx_nr in daos_recx_t). If 0, the stored length inside DAOS will be used instead.

Definition at line 110 of file daos_pipeline.h.

◆ data_offset

size_t data_offset

If filter should only be applied starting at an offset of the data. Only relevant for keys part type objects. If object is an akey, and the akey is an array, data_offset corresponds to the first record in the extent (same as rx_idx in daos_recx_t).

Definition at line 103 of file daos_pipeline.h.

◆ data_type

d_iov_t data_type

Type of data. Only relevant for keys and constant filter part type objects: DAOS_FILTER_TYPE_BINARY Raw string (or array of bytes) DAOS_FILTER_TYPE_STRING First 8B (size_t) indicate size DAOS_FILTER_TYPE_CSTRING Always null ('\0') terminated DAOS_FILTER_TYPE_UINTEGER1 Unsigned integers DAOS_FILTER_TYPE_UINTEGER2 DAOS_FILTER_TYPE_UINTEGER4 DAOS_FILTER_TYPE_UINTEGER8 DAOS_FILTER_TYPE_INTEGER1 Signed integers DAOS_FILTER_TYPE_INTEGER2 DAOS_FILTER_TYPE_INTEGER4 DAOS_FILTER_TYPE_INTEGER8 DAOS_FILTER_TYPE_REAL4 Floating point numbers DAOS_FILTER_TYPE_REAL8

Definition at line 80 of file daos_pipeline.h.

◆ num_constants

size_t num_constants

How many constants we have in constant

Definition at line 93 of file daos_pipeline.h.

◆ num_operands

uint32_t num_operands

Number of operands for this filter part object. For example, for '==' we have 2 operands.

Definition at line 85 of file daos_pipeline.h.

◆ part_type

d_iov_t part_type

Part type can be any of the following: – function:

  • logical functions: DAOS_FILTER_FUNC_EQ: == DAOS_FILTER_FUNC_NE: != DAOS_FILTER_FUNC_LT: < DAOS_FILTER_FUNC_LE: <= DAOS_FILTER_FUNC_GE: >= DAOS_FILTER_FUNC_GT: > DAOS_FILTER_FUNC_IN: IN (const1, const2, ...) DAOS_FILTER_FUNC_LIKE: == (reg exp.) DAOS_FILTER_FUNC_ISNULL: ==NULL DAOS_FILTER_FUNC_ISNOTNULL: !=NULL DAOS_FILTER_FUNC_AND: && DAOS_FILTER_FUNC_OR: || DAOS_FILTER_FUNC_NOT: !
  • arithmetic functions: DAOS_FILTER_FUNC_ADD: + DAOS_FILTER_FUNC_SUB: - DAOS_FILTER_FUNC_MUL: * DAOS_FILTER_FUNC_DIV: / DAOS_FILTER_FUNC_BITAND: &
  • aggregation functions: DAOS_FILTER_FUNC_SUM: SUM(a1, a2, ..., an) DAOS_FILTER_FUNC_MIN: MIN(a1, a2, ..., an) DAOS_FILTER_FUNC_MAX: MAX(a1, a2, ..., an) DAOS_FILTER_FUNC_AVG: AVG(a1, a2, ..., an) – key: DAOS_FILTER_OID: Filter part object represents object id DAOS_FILTER_DKEY: Filter part object represents dkey DAOS_FILTER_AKEY Filter part object represents akey – constant: DAOS_FILTER_CONST: Filter part object is a constant

Definition at line 62 of file daos_pipeline.h.


The documentation for this struct was generated from the following file: