Product Documentation

V9 Update Guide

Previous Topic

Next Topic

Filters are Now Record Based, Rather Than Table Based

Originally, FairCom DB filters were implemented as table based, such that once a filter was activated, all ISAM contexts would share the same condition. This situation caused some odd behavior and prevented c-treeDB record handles from setting their own filters to operate on table records.

A modification was introduced to the filter logic to permit the setting of filters for each independent c-tree ISAM context and c-treeDB was changed for the new filter condition. Each c-treeDB record handle can have its own filter and operate independently on the table records.

Since the filters should now be defined on a record basis, table based filters are no longer supported and c-treeDB returns CTDBRET_NOTSUPPORTED.

c-treeDB C++ API

  • CTRecord::SetFilter() - sets a record filter condition.
  • CTRecord::GetFilter() - clears a record filter condition.
  • CTRecord::IsFiltered() - returns if a record filter condition is set.

TOCIndex