As the GET logical operator forms the "bulk leaves" of query trees, attribute operators and constants form the "item leaves" of query trees -- i.e. they take no inputs. Since predicates ultimately are applied to tuples in a table (by a select operator), clearly the predicate tree must include only attributes that are listed in the schema of the input table to the select operator.

           Item operators are considered to be both logical and physical. In other words, they do not have separate logical and physical versions -- each particular item operator functions in both capacities. They are logical in that they can compute logical (item) properties. They are physical in that they can be part of a plan and thus can be used in computing physical properties, including costs.


Table 3.8: Types of Operators

           Table 3.8 shows the types of operators in terms of the type of properties they compute and whether (in Model D) they take item or bulk inputs. While item groups can be the input to (bulk) logical operators (e.g. SELECT), bulk groups cannot be the input to an item expression.

3. Fundamental Concepts:    <Models> <Log> <Query Trees> <Groups> <Memo> <Phys> <Item> <Rules> <Opt Stages> <Find Best> <Complexity>
  3.1: EQJOIN     3.2a: Query Tree     3.2b: Equiv.     3.3a: Init Memo     3.3b: Memo     3.3c: Key     3.4: Complexity     3.5: Phys Memo     3.6: Plan     3.7: Pred.     3.8: Op Types     3.9: Rule  

 Page 24