~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/definitions.h

  • Committer: Monty Taylor
  • Date: 2008-11-15 18:39:51 UTC
  • mto: (584.1.7 devel)
  • mto: This revision was merged to the branch mainline in revision 588.
  • Revision ID: monty@inaugust.com-20081115183951-jo2v3abwdu24lnwq
Split out hybrid_type_traits.

Show diffs side-by-side

added added

removed removed

Lines of Context:
994
994
#define MY_COLL_CMP_CONV              7
995
995
 
996
996
 
 
997
/*
 
998
  This enum is used to report information about monotonicity of function
 
999
  represented by Item* tree.
 
1000
  Monotonicity is defined only for Item* trees that represent table
 
1001
  partitioning expressions (i.e. have no subselects/user vars/PS parameters
 
1002
  etc etc). An Item* tree is assumed to have the same monotonicity properties
 
1003
  as its correspoinding function F:
 
1004
 
 
1005
  [signed] int64_t F(field1, field2, ...) {
 
1006
    put values of field_i into table record buffer;
 
1007
    return item->val_int(); 
 
1008
  }
 
1009
 
 
1010
  NOTE
 
1011
  At the moment function monotonicity is not well defined (and so may be
 
1012
  incorrect) for Item trees with parameters/return types that are different
 
1013
  from INT_RESULT, may be NULL, or are unsigned.
 
1014
  It will be possible to address this issue once the related partitioning bugs
 
1015
  (BUG#16002, BUG#15447, BUG#13436) are fixed.
 
1016
*/
 
1017
 
 
1018
typedef enum monotonicity_info 
 
1019
{
 
1020
   NON_MONOTONIC,              /* none of the below holds */
 
1021
   MONOTONIC_INCREASING,       /* F() is unary and (x < y) => (F(x) <= F(y)) */
 
1022
   MONOTONIC_STRICT_INCREASING /* F() is unary and (x < y) => (F(x) <  F(y)) */
 
1023
} enum_monotonicity_info;
 
1024
 
 
1025
 
997
1026
#endif /* DRIZZLE_SERVER_DEFINITIONS_H */
998
1027