1
# Copyright (C) 2009 Sun Microsystems, Inc. All rights reserved.
2
# Use is subject to license terms.
4
# This program is free software; you can redistribute it and/or modify
5
# it under the terms of the GNU General Public License as published by
6
# the Free Software Foundation; version 2 of the License.
8
# This program is distributed in the hope that it will be useful, but
9
# WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
# General Public License for more details.
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
24
SELECT select_option outer_select_item
26
WHERE subquery_expression logical_operator outer_condition_top
27
outer_group_by outer_having outer_order_by limit;
30
OUTR . field_name AS X |
31
aggregate_function OUTR . field_name ) AS X;
35
COUNT(DISTINCT | COUNT( |
38
STD( | STDDEV_POP( | STDDEV_SAMP( |
40
VAR_POP( | VAR_SAMP( | VARIANCE( ;
42
aggregate_function_disabled_false_positives:
45
aggregate_function_disabled:
49
outer_table_name AS OUTR ;
51
outer_from_disabled_unnecessary_complication:
52
outer_table_name AS OUTR2 LEFT JOIN outer_table_name AS OUTR ON ( outer_join_condition );
55
OUTR2 . int_field_name arithmetic_operator OUTR . int_field_name |
56
OUTR2 . char_field_name arithmetic_operator OUTR . char_field_name ;
59
ORDER BY OUTR . field_name , OUTR . `pk` ;
62
| GROUP BY OUTR . field_name ;
64
outer_group_by_disabled_ha_reset:
65
GROUP BY OUTR . field_name WITH ROLLUP;
68
| HAVING X arithmetic_operator value ;
75
WHERE inner_condition_top
79
SELECT select_option inner_select_item
83
SELECT select_option inner_select_item
84
select_inner_body LIMIT 1;
86
select_inner_two_cols:
87
SELECT select_option inner_select_item , INNR . field_name AS Z
91
| ORDER BY INNR . field_name ;
95
inner_group_by_disabled:
96
| GROUP BY INNR . field_name |
97
GROUP BY INNR . field_name WITH ROLLUP;
100
| | | HAVING X arithmetic_operator value;
103
INNR . field_name AS Y ;
105
inner_select_item_disabled_causes_semijoin_not_to_kick_in;
106
aggregate_function INNR . field_name ) AS Y ;
109
inner_table_name AS INNR ;
111
inner_from_disabled_unnecessary_complication:
112
inner_table_name AS INNR2 LEFT JOIN inner_table_name AS INNR ON ( inner_join_condition );
114
inner_join_condition:
115
INNR2 . int_field_name arithmetic_operator INNR . int_field_name |
116
INNR2 . char_field_name arithmetic_operator INNR . char_field_name ;
119
outer_condition_bottom |
120
( outer_condition_bottom logical_operator outer_condition_bottom ) |
121
outer_condition_bottom logical_operator outer_condition_bottom ;
123
outer_condition_bottom:
127
field_name null_operator |
128
int_field_name int_expression |
129
char_field_name char_expression ;
132
arithmetic_operator digit ;
135
arithmetic_operator _char(1);
140
inner_condition_bottom logical_operator inner_condition_bottom |
141
inner_condition_bottom logical_operator outer_condition_bottom ;
143
inner_condition_bottom:
145
INNR . int_field_name arithmetic_operator INNR . int_field_name |
146
INNR . char_field_name arithmetic_operator INNR . char_field_name;
148
null_operator: IS NULL | IS NOT NULL ;
150
logical_operator: AND | OR | OR NOT;
152
logical_operator_disabled_bug37899: XOR;
154
logical_operator_disabled_bug37896: AND NOT ;
156
arithmetic_operator: = | > | < | <> | >= | <= ;
159
EXISTS ( select_inner ) |
160
NOT EXISTS ( select_inner ) |
161
OUTR . field_name IN ( select_inner ) |
162
( OUTR . field_name , OUTR . field_name ) IN ( select_inner_two_cols ) |
163
OUTR . field_name NOT IN ( select_inner ) |
164
( OUTR . field_name , OUTR . field_name ) NOT IN ( select_inner_two_cols ) |
165
OUTR . field_name arithmetic_operator ( select_inner_one_row ) |
166
OUTR . field_name arithmetic_operator subquery_word ( select_inner );
168
subquery_expression_disabled_crash_in_item_subselect:
169
value IN ( select_inner );
171
subquery_expression_disabled_bug37894:
172
value NOT IN ( select_inner );
174
subquery_word: SOME | ANY | ALL ;
177
int_field_name | char_field_name;
179
field_name_disabled_Field_newdate_assert: date_field_name;
181
# dates are disabled as they aren't in the
182
# gendata file (drizzle.zz)
183
date_field_name_disabled:
184
`col_date_key` | `col_date_nokey` ;
186
date_field_name_disabled_Field_datetime_assert:
187
`col_datetime_key` | `col_datetime_nokey` ;
189
date_field_name_disabled_convert_const_item:
194
`pk` | `col_int_key` | `col_int` |
195
`col_bigint` | `col_bigint_key` |
196
`col_int_not_null` | `col_int_not_null_key` ;
199
`col_char` | `col_text_not_null` | `col_text_not_null_key` |
200
`col_text_key` | `col_text` | `col_char_not_null_key` | `col_char_not_null` ;
202
char_field_name_disabled:
203
# need to explore enum more before enabling this
204
`col_enum` | `col_enum_key` | `col_enum_not_null` | `col_enum_not_null_key` ;
207
AA | BB | small_table ;
210
BB | CC | DD | small_table ;
213
A | B | C | C | C | D | D | D ;
215
value: _digit | _date | _time | _datetime | _char(1) | NULL ;
219
select_option_disabled_triggers_materialization_assert: