971
971
#define OPEN_FRM_ONLY 1 // open FRM file only
972
972
#define OPEN_FULL_TABLE 2 // open FRM,MYD, MYI files
975
"Declared Type Collation"
976
A combination of collation and its derivation.
978
Flags for collation aggregation modes:
979
MY_COLL_ALLOW_SUPERSET_CONV - allow conversion to a superset
980
MY_COLL_ALLOW_COERCIBLE_CONV - allow conversion of a coercible value
982
MY_COLL_ALLOW_CONV - allow any kind of conversion
983
(combination of the above two)
984
MY_COLL_DISALLOW_NONE - don't allow return DERIVATION_NONE
985
(e.g. when aggregating for comparison)
986
MY_COLL_CMP_CONV - combination of MY_COLL_ALLOW_CONV
987
and MY_COLL_DISALLOW_NONE
990
#define MY_COLL_ALLOW_SUPERSET_CONV 1
991
#define MY_COLL_ALLOW_COERCIBLE_CONV 2
992
#define MY_COLL_ALLOW_CONV 3
993
#define MY_COLL_DISALLOW_NONE 4
994
#define MY_COLL_CMP_CONV 7
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:
1005
[signed] int64_t F(field1, field2, ...) {
1006
put values of field_i into table record buffer;
1007
return item->val_int();
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.
1018
typedef enum monotonicity_info
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;
975
1026
#endif /* DRIZZLE_SERVER_DEFINITIONS_H */