~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_select.h

  • Committer: Padraig O'Sullivan
  • Date: 2009-08-11 00:09:15 UTC
  • mto: (1115.3.10 captain)
  • mto: This revision was merged to the branch mainline in revision 1120.
  • Revision ID: osullivan.padraig@gmail.com-20090811000915-1x089hc6gsojx2tq
Adding some more comments for the SARGABLE_PARAM structure.

Show diffs side-by-side

added added

removed removed

Lines of Context:
93
93
 
94
94
#include "drizzled/join.h"
95
95
 
96
 
/*
97
 
   This structure is used to collect info on potentially sargable
98
 
   predicates in order to check whether they become sargable after
99
 
   reading const tables.
100
 
   We form a bitmap of indexes that can be used for sargable predicates.
101
 
   Only such indexes are involved in range analysis.
102
 
*/
 
96
/**
 
97
 * SARG stands for search argument. A sargable predicate is one of the form
 
98
 * (or which can be put in to the form) "column comparison-operator value".
 
99
 * SARGS are expressed as a boolean expression of such predicates in
 
100
 * disjunctive normal form. For more information, consult the original paper
 
101
 * in which this term was introduced: Access Path Selection in a Relational
 
102
 * Database Management System by Selinger et al
 
103
 *
 
104
 * This class is used to collect info on potentially sargable predicates in
 
105
 * order to check whether they become sargable after reading const tables.
 
106
 * We form a bitmap of indexes that can be used for sargable predicates.
 
107
 * Only such indexes are involved in range analysis.
 
108
 */
103
109
typedef struct st_sargable_param
104
110
{
105
111
  Field *field;              /* field against which to check sargability */