VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
ml_ftree_t Struct Reference

Binary tree used to parse the WHERE condition for a search. More...

Collaboration diagram for ml_ftree_t:
Collaboration graph
[legend]

Data Fields

ml_op_e op
 Operator.
ml_ftree_tleft
 Left child of Bin tree.
ml_ftree_tright
 Right child of Bin tree.
ml_select_e criteria
 SELECT criteria type.
ml_comp_e comp
 Condition between type and value.
union {
   int   i
   char *   str
value
 SELECT criteria value ( string or int )
union {
   int   i
   char *   str
lvalue
 Used as key value for people types/roles.

Detailed Description

Binary tree used to parse the WHERE condition for a search.

Let [expr] indicate a valid expression [expr] = [expr] AND [expr], where the left and right are respective [expr] = [expr] OR [expr] [expr] = [expr] NOT [NULL] [expr] = [expr] SPEC [spec_expr] [expr] = [criteria=val] [spec_expr] = [DISTINCT/LIMIT/ASC/DESC = val ]

Field Documentation

ml_comp_e ml_ftree_t::comp

Condition between type and value.

ml_select_e ml_ftree_t::criteria

SELECT criteria type.

See Also
ml_select_e The criteria value is considered only when op = ML_OP_NONE i.e. in leaf nodes

Referenced by ml_FtreeHasOp(), and ml_GenericFreeFindTree().

int ml_ftree_t::i
ml_ftree_t* ml_ftree_t::left

Left child of Bin tree.

Referenced by ml_FtreeHasOp(), and ml_GenericFreeFindTree().

union { ... } ml_ftree_t::lvalue

Used as key value for people types/roles.

An empty string "" denotes ANY person role. NULL is used for all other criterias

Referenced by ml_GenericFreeFindTree().

ml_op_e ml_ftree_t::op

Operator.

ML_OP_NONE means this is a leaf node. Criteria and value gives its data. ML_OP_SPECIAL specifies a special node that does not form a part of the WHERE. The right node consists of the data with its criteria set to the special val and the left node is the corresponding subtree of the parent node. ML_OP_NOT only left sub tree is considered ML_OP_AND and ML_OP_OR consider both left and right subtrees

Referenced by ml_FtreeHasOp(), and ml_GenericFreeFindTree().

ml_ftree_t* ml_ftree_t::right

Right child of Bin tree.

Referenced by ml_FtreeHasOp(), and ml_GenericFreeFindTree().

char* ml_ftree_t::str

Referenced by ml_GenericFreeFindTree().

union { ... } ml_ftree_t::value

SELECT criteria value ( string or int )

Referenced by ml_GenericFreeFindTree().


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