~ubuntu-branches/ubuntu/vivid/drizzle/vivid-proposed

« back to all changes in this revision

Viewing changes to tests/kewpie/randgen/conf/dbt3/dbt3-ranges.yy

  • Committer: Package Import Robot
  • Author(s): Tobias Frost
  • Date: 2013-08-22 20:18:31 UTC
  • mto: (20.1.1 sid)
  • mto: This revision was merged to the branch mainline in revision 21.
  • Revision ID: package-import@ubuntu.com-20130822201831-gn3ozsh7o7wmc5tk
Tags: upstream-7.2.3
ImportĀ upstreamĀ versionĀ 7.2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
query:
2
 
        SELECT distinct select_item FROM lineitem index_hint WHERE where order_by |
3
 
        SELECT aggregate key_field ) FROM lineitem WHERE where ;
4
 
 
5
 
order_by:
6
 
        | | ORDER BY key_field , l_orderkey , l_linenumber ;
7
 
 
8
 
distinct:
9
 
        | | | | DISTINCT ;
10
 
 
11
 
where:
12
 
        where_list and_or where_list |
13
 
        ( where_list ) and_or ( where_list ) ;
14
 
 
15
 
where_list:
16
 
        ( where_item ) and_or ( where_list ) |
17
 
        ( where_item ) and_or ( where_item ) |
18
 
        where_item and_or where_list |
19
 
        where_item and_or where_item |
20
 
        where_item and_or where_item and_or where_item |
21
 
        where_item ;
22
 
 
23
 
where_item:
24
 
        key_clause |
25
 
        key_clause or_and key_clause ;
26
 
 
27
 
key_clause:
28
 
        linenumber_clause |
29
 
        shipdate_clause |
30
 
        partkey_clause |
31
 
        suppkey_clause |
32
 
        receiptdate_clause |
33
 
        orderkey_clause |
34
 
        quantity_clause |
35
 
        commitdate_clause ;
36
 
 
37
 
aggregate:
38
 
        MIN( | MAX( | COUNT( | COUNT( ;
39
 
 
40
 
and_or:
41
 
        AND | AND | AND | AND | OR ;
42
 
 
43
 
or_and:
44
 
        OR | OR | OR | OR | AND ;
45
 
 
46
 
comp_op:
47
 
        = | = | = | = | = | = |
48
 
        != | > | >= | < | <= | <> ;
49
 
 
50
 
not:
51
 
        | | | | | | | | | NOT ;
52
 
 
53
 
shipdate_clause:
54
 
        l_shipdate comp_op any_date |
55
 
        l_shipdate not IN ( date_list ) |
56
 
        l_shipdate date_between ;
57
 
 
58
 
date_list:
59
 
        date_item , date_item |
60
 
        date_list , date_item ;
61
 
 
62
 
date_item:
63
 
        any_date | any_date | any_date | any_date | any_date |
64
 
        any_date | any_date | any_date | any_date | any_date |
65
 
        any_date | any_date | any_date | any_date | any_date |
66
 
        any_date | any_date | any_date | any_date | any_date |
67
 
        '1992-01-08' | '1998-11-27' ;
68
 
 
69
 
date_between:
70
 
        BETWEEN date_item AND date_item |
71
 
        between_two_dates_in_a_year |
72
 
        between_two_dates_in_a_month |
73
 
        within_a_month ;
74
 
 
75
 
day_month_year:
76
 
        DAY | MONTH | YEAR ;
77
 
 
78
 
any_date:
79
 
        { sprintf("'%04d-%02d-%02d'", $prng->uint16(1992,1998), $prng->uint16(1,12), $prng->uint16(1,28)) } ;
80
 
 
81
 
between_two_dates_in_a_year:
82
 
        { my $year = $prng->uint16(1992,1998); return sprintf("BETWEEN '%04d-%02d-%02d' AND '%04d-%02d-%02d'", $year, $prng->uint16(1,12), $prng->uint16(1,28), $year, $prng->uint16(1,12), $prng->uint16(1,28)) } ;
83
 
 
84
 
between_two_dates_in_a_month:
85
 
        { my $year = $prng->uint16(1992,1998); my $month = $prng->uint16(1,12); return sprintf("BETWEEN '%04d-%02d-%02d' AND '%04d-%02d-%02d'", $year, $month, $prng->uint16(1,28), $year, $month, $prng->uint16(1,28)) } ;
86
 
 
87
 
within_a_month:
88
 
        { my $year = $prng->uint16(1992,1998); my $month = $prng->uint16(1,12); return sprintf("BETWEEN '%04d-%02d-01' AND '%04d-%02d-29'", $year, $month, $year, $month) } ;
89
 
 
90
 
# LINENUMBER
91
 
 
92
 
linenumber_clause:
93
 
        l_linenumber comp_op linenumber_item |
94
 
        l_linenumber not IN ( linenumber_list ) |
95
 
        l_linenumber BETWEEN linenumber_item AND linenumber_item + linenumber_range ;
96
 
 
97
 
linenumber_list:
98
 
        linenumber_item , linenumber_item |
99
 
        linenumber_item , linenumber_list ;
100
 
 
101
 
linenumber_item:
102
 
        _digit; 
103
 
 
104
 
linenumber_range:
105
 
        _digit ;
106
 
 
107
 
# PARTKEY
108
 
 
109
 
partkey_clause:
110
 
        l_partkey comp_op partkey_item |
111
 
        l_partkey not IN ( partkey_list ) |
112
 
        l_partkey BETWEEN partkey_item AND partkey_item + partkey_range ;
113
 
 
114
 
partkey_list:
115
 
        partkey_item , partkey_item |
116
 
        partkey_item , partkey_list ;
117
 
 
118
 
partkey_range:
119
 
        _digit | _tinyint_unsigned;
120
 
 
121
 
partkey_item:
122
 
        _tinyint_unsigned  | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned |
123
 
        _tinyint_unsigned  | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned |
124
 
        _tinyint_unsigned  | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned |
125
 
        _tinyint_unsigned  | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned | _tinyint_unsigned |
126
 
        _digit | 200 | 0 ;
127
 
 
128
 
# SUPPKEY
129
 
 
130
 
suppkey_clause:
131
 
        l_suppkey comp_op suppkey_item |
132
 
        l_suppkey not IN ( suppkey_list ) |
133
 
        l_suppkey BETWEEN suppkey_item AND suppkey_item + _digit ;
134
 
 
135
 
suppkey_item:
136
 
        _digit | 10 ;
137
 
 
138
 
suppkey_list:
139
 
        suppkey_item , suppkey_item |
140
 
        suppkey_item , suppkey_list ;
141
 
 
142
 
# RECEPITDATE
143
 
 
144
 
receiptdate_clause:
145
 
        l_receiptDATE comp_op any_date |
146
 
        l_receiptDATE not IN ( date_list ) |
147
 
        l_receiptDATE date_between ;
148
 
 
149
 
# COMMITDATE
150
 
 
151
 
commitdate_clause:
152
 
        l_commitDATE comp_op any_date |
153
 
        l_commitDATE not IN ( date_list ) |
154
 
        l_commitDATE date_between ;
155
 
 
156
 
# ORDERKEY
157
 
 
158
 
orderkey_clause:
159
 
        l_orderkey comp_op orderkey_item |
160
 
        l_orderkey not IN ( orderkey_list ) |
161
 
        l_orderkey BETWEEN orderkey_item AND orderkey_item + orderkey_range ;
162
 
 
163
 
orderkey_item:
164
 
        _tinyint_unsigned | { $prng->uint16(1,1500) } ;
165
 
 
166
 
orderkey_list:
167
 
        orderkey_item , orderkey_item |
168
 
        orderkey_item , orderkey_list ;
169
 
 
170
 
orderkey_range:
171
 
        _digit | _tinyint_unsigned ;
172
 
 
173
 
# QUANTITY
174
 
 
175
 
quantity_clause:
176
 
        l_quantity comp_op quantity_item |
177
 
        l_quantity not IN ( quantity_list ) |
178
 
        l_quantity BETWEEN quantity_item AND quantity_item + quantity_range ;
179
 
 
180
 
quantity_list:
181
 
        quantity_item , quantity_item |
182
 
        quantity_item , quantity_list ;
183
 
 
184
 
quantity_item:
185
 
        _digit  | { $prng->uint16(1,50) } ;
186
 
 
187
 
quantity_range:
188
 
        _digit ;
189
 
 
190
 
index_hint:
191
 
        | FORCE KEY ( key_list );
192
 
 
193
 
key_list:
194
 
        key_name , key_name |
195
 
        key_name , key_list ;
196
 
 
197
 
select_item:
198
 
        * | key_field ;
199
 
 
200
 
key_field:
201
 
        l_linenumber |
202
 
        l_shipdate |
203
 
        l_partkey |
204
 
        l_suppkey |
205
 
        l_receiptdate |
206
 
        l_orderkey |
207
 
        l_quantity |
208
 
        l_commitDATE ;
209
 
 
210
 
key_name:
211
 
        PRIMARY |
212
 
        i_l_shipdate |
213
 
        i_l_suppkey_partkey |
214
 
        i_l_partkey |
215
 
        i_l_suppkey |
216
 
        i_l_receiptdate |
217
 
        i_l_orderkey |
218
 
        i_l_orderkey_quantity |
219
 
        i_l_commitdate ;