/// Returns the distinct set of column names that contain data matching the
/// provided predicate, which may be empty.
///
/// Results can be further limited to a specific selection of columns.
///
/// `dst` is a buffer that will be populated with results. `column_names` is
/// smart enough to short-circuit processing on row groups when it
/// determines that all the columns in the row group are already contained
/// in the results buffer. Callers can skip this behaviour by passing in
/// an empty `BTreeSet`.
Returns the distinct set of column names that contain data matching the
provided predicate, which may be empty.

Results can be further limited to a specific selection of columns.

`dst` is a buffer that will be populated with results. `column_names` is
smart enough to short-circuit processing on row groups when it
determines that all the columns in the row group are already contained
in the results buffer. Callers can skip this behaviour by passing in
an empty `BTreeSet`.
Returns the distinct set of column names that contain data matching the provided predicate which may be empty . Results can be further limited to a specific selection of columns . ` dst ` is a buffer that will be populated with results . ` column_names ` is smart enough to short - circuit processing on row groups when it determines that all the columns in the row group are already contained in the results buffer . Callers can skip this behaviour by passing in an empty ` BTreeSet ` .
pub fn column_names(
        &self,
        table_name: &str,
        predicate: Predicate,
        only_columns: Selection<'_>,
        dst: BTreeSet<String>,
    ) -> Result<BTreeSet<String>> {
        let chunk_data = self.chunk_data.read();
        // TODO(edd): same potential contention as `table_names` but I'm ok
        // with this for now.
        match chunk_data.data.get(table_name) {
            Some(table) => Ok(table.column_names(&predicate, only_columns, dst)),
            None => TableNotFound {
                table_name: table_name.to_owned(),
            }
            .fail(),
        }
    }
pub fn column_names ( & self , table_name : & str , predicate : Predicate , only_columns : Selection < ' _ > , dst : BTreeSet < String > , ) -> Result < BTreeSet < String > > { let chunk_data = self . chunk_data . read ( ) ; // TODO(edd): same potential contention as `table_names` but I'm ok // with this for now. match chunk_data . data . get ( table_name ) { Some ( table ) => Ok ( table . column_names ( & predicate , only_columns , dst ) ) , None => TableNotFound { table_name : table_name . to_owned ( ) , } . fail ( ) , } }
Returns the distinct set of column names that contain data matching the
provided predicate, which may be empty.
Returns the distinct set of column names that contain data matching the provided predicate which may be empty .
&self
table_name
&str
predicate
Predicate
only_columns
Selection<'_>
dst
BTreeSet<String>