![]() |
OpenMS
|
Typed filter builder for parquet-backed datasets. More...
#include <OpenMS/FORMAT/ParquetFilter.h>
Public Member Functions | |
| ParquetFilter ()=default | |
| ParquetFilter (const ParquetFilter &)=default | |
| ParquetFilter & | andNext () |
| Combine the next condition with logical AND. | |
| ParquetFilter & | orNext () |
| Combine the next condition with logical OR. | |
| ParquetFilter & | eq (const String &column, Int64 value) |
| Add an equality condition for an integer column. | |
| ParquetFilter & | ne (const String &column, Int64 value) |
| Add an inequality condition for an integer column. | |
| ParquetFilter & | lt (const String &column, Int64 value) |
| Add a less-than condition for an integer column. | |
| ParquetFilter & | le (const String &column, Int64 value) |
| Add a less-than-or-equal condition for an integer column. | |
| ParquetFilter & | gt (const String &column, Int64 value) |
| Add a greater-than condition for an integer column. | |
| ParquetFilter & | ge (const String &column, Int64 value) |
| Add a greater-than-or-equal condition for an integer column. | |
| ParquetFilter & | in (const String &column, const std::vector< Int64 > &values) |
| Add an IN condition for an integer column. | |
| ParquetFilter & | eq (const String &column, const String &value) |
| Add an equality condition for a string column. | |
| ParquetFilter & | ne (const String &column, const String &value) |
| Add an inequality condition for a string column. | |
| ParquetFilter & | lt (const String &column, const String &value) |
| Add a less-than condition for a string column. | |
| ParquetFilter & | le (const String &column, const String &value) |
| Add a less-than-or-equal condition for a string column. | |
| ParquetFilter & | gt (const String &column, const String &value) |
| Add a greater-than condition for a string column. | |
| ParquetFilter & | ge (const String &column, const String &value) |
| Add a greater-than-or-equal condition for a string column. | |
| ParquetFilter & | in (const String &column, const std::vector< String > &values) |
| Add an IN condition for a string column. | |
| const FilterExpression & | expression () const |
| Return the filter expression. | |
| bool | empty () const |
| Check if the filter is empty (has no conditions). | |
Static Public Member Functions | |
| static FilterExpression | merge (const FilterExpression &lhs, const FilterExpression &rhs, const String &connector="AND") |
| Merge two filter expressions with a connector. | |
Private Member Functions | |
| ParquetFilter & | addCondition_ (const String &column, const String &op, ColumnType type, const std::vector< String > &values) |
Private Attributes | |
| FilterExpression | expr_ |
| String | next_connector_ {"AND"} |
Typed filter builder for parquet-backed datasets.
This builder provides a structured alternative to string-encoded filters. It is intended for use in Parquet-backed readers (e.g., XICParquetFile) to construct filter expressions that can be pushed down to Arrow Dataset scanners or evaluated in-memory if pushdown is unavailable.
Conditions are combined left-to-right. Use andNext()/orNext() to control how consecutive conditions are connected (default is AND).
|
default |
|
default |
|
private |
| ParquetFilter & andNext | ( | ) |
Combine the next condition with logical AND.
| bool empty | ( | ) | const |
Check if the filter is empty (has no conditions).
| ParquetFilter & eq | ( | const String & | column, |
| const String & | value | ||
| ) |
Add an equality condition for a string column.
| column | Column name. |
| value | String value to compare. |
| ParquetFilter & eq | ( | const String & | column, |
| Int64 | value | ||
| ) |
Add an equality condition for an integer column.
| column | Column name. |
| value | Integer value to compare. |
| const FilterExpression & expression | ( | ) | const |
Return the filter expression.
| ParquetFilter & ge | ( | const String & | column, |
| const String & | value | ||
| ) |
Add a greater-than-or-equal condition for a string column.
| column | Column name. |
| value | String value to compare. |
| ParquetFilter & ge | ( | const String & | column, |
| Int64 | value | ||
| ) |
Add a greater-than-or-equal condition for an integer column.
| column | Column name. |
| value | Integer value to compare. |
| ParquetFilter & gt | ( | const String & | column, |
| const String & | value | ||
| ) |
Add a greater-than condition for a string column.
| column | Column name. |
| value | String value to compare. |
| ParquetFilter & gt | ( | const String & | column, |
| Int64 | value | ||
| ) |
Add a greater-than condition for an integer column.
| column | Column name. |
| value | Integer value to compare. |
| ParquetFilter & in | ( | const String & | column, |
| const std::vector< Int64 > & | values | ||
| ) |
Add an IN condition for an integer column.
| column | Column name. |
| values | Integer values to compare. |
| ParquetFilter & in | ( | const String & | column, |
| const std::vector< String > & | values | ||
| ) |
Add an IN condition for a string column.
| column | Column name. |
| values | String values to compare. |
| ParquetFilter & le | ( | const String & | column, |
| const String & | value | ||
| ) |
Add a less-than-or-equal condition for a string column.
| column | Column name. |
| value | String value to compare. |
| ParquetFilter & le | ( | const String & | column, |
| Int64 | value | ||
| ) |
Add a less-than-or-equal condition for an integer column.
| column | Column name. |
| value | Integer value to compare. |
| ParquetFilter & lt | ( | const String & | column, |
| const String & | value | ||
| ) |
Add a less-than condition for a string column.
| column | Column name. |
| value | String value to compare. |
| ParquetFilter & lt | ( | const String & | column, |
| Int64 | value | ||
| ) |
Add a less-than condition for an integer column.
| column | Column name. |
| value | Integer value to compare. |
|
static |
Merge two filter expressions with a connector.
| [in] | lhs | Left-hand side filter expression. |
| [in] | rhs | Right-hand side filter expression. |
| [in] | connector | Logical connector ("AND" or "OR"). |
| ParquetFilter & ne | ( | const String & | column, |
| const String & | value | ||
| ) |
Add an inequality condition for a string column.
| column | Column name. |
| value | String value to compare. |
| ParquetFilter & ne | ( | const String & | column, |
| Int64 | value | ||
| ) |
Add an inequality condition for an integer column.
| column | Column name. |
| value | Integer value to compare. |
| ParquetFilter & orNext | ( | ) |
Combine the next condition with logical OR.
|
private |
|
private |