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

« back to all changes in this revision

Viewing changes to tests/randgen/conf/hivol/hivol_fbase_small.yy

  • Committer: Package Import Robot
  • Author(s): Dmitrijs Ledkovs
  • Date: 2013-10-29 15:43:40 UTC
  • mfrom: (20.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20131029154340-j36v7gxq9tm1gi5f
Tags: 1:7.2.3-2ubuntu1
* Merge from debian, remaining changes:
  - Link against boost_system because of boost_thread.
  - Add required libs to message/include.am
  - Add upstart job and adjust init script to be upstart compatible.
  - Disable -floop-parallelize-all due to gcc-4.8/4.9 compiler ICE
    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57732

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
query_init:
2
 
  USE hivol ;
3
 
 
4
 
query:
5
 
   { @nonaggregates = () ; $tables = 0 ; $fields = 0 ; ""}
6
 
   fbase_query ;
7
 
 
8
 
fbase_query:
9
 
   fbase_query1 ;
10
 
 
11
 
fbase_query1:
12
 
# will have series, film_crew, and genre
13
 
SELECT distinct straight_join select_option fbase_query1_select_list
14
 
FROM `fbase_film_series` AS table1 left_right_outer JOIN
15
 
`fbase_film_crew` AS table2
16
 
    ON table1 . fbase_film_detail_id = table2 . fbase_film_detail_id
17
 
left_right_outer JOIN `fbase_film_genre` AS table3 
18
 
    ON table_one_two . fbase_film_detail_id = table3 . fbase_film_detail_id
19
 
WHERE ( fbase_film_series_where_list ) 
20
 
and_or ( fbase_film_crew_where_list ) 
21
 
and_or ( fbase_film_genre_where_list )
22
 
opt_fbase_query1_having_clause
23
 
ORDER BY total_order_by LIMIT limit_value ;
24
 
 
25
 
fbase_query1_select_list:
26
 
  table1 . fbase_film_detail_id AS { my $f = "field".++$fields ; push @nonaggregates , $f ; $f } ,
27
 
  fbase_role_code AS { my $f = "field".++$fields ; push @nonaggregates , $f ; $f } ,
28
 
  genre_tag AS { my $f = "field".++$fields ; push @nonaggregates , $f ; $f } ;
29
 
 
30
 
fbase_select_disabled:
31
 
  fbase_film_series_select_list |
32
 
  fbase_film_genre_select_list |
33
 
  fbase_film_crew_select_list ;
34
 
 
35
 
fbase_film_series_select_list:
36
 
  'a' ;
37
 
 
38
 
opt_fbase_query1_having_clause:
39
 
 | | | | | | fbase_query1_having_clause ;  
40
 
 
41
 
fbase_query1_having_clause:
42
 
  HAVING fbase_query1_having_list ;
43
 
 
44
 
fbase_query1_having_list:
45
 
  fbase_film_series_where_list |
46
 
  fbase_film_genre_where_list |
47
 
  fbase_film_crew_where_list ;
48
 
 
49
 
fbase_film_series_where_list:
50
 
  fbase_film_series_where_item | 
51
 
  fbase_film_series_where_item and_or fbase_film_series_where_list ;
52
 
 
53
 
fbase_film_series_where_item:
54
 
  related_film_id comparison_operator char_value |
55
 
  ( related_film_id BETWEEN char_value AND char_value ) |
56
 
  related_film_id comparison_operator table_one_two_three . fbase_film_detail_id |
57
 
  sequel_flag comparison_operator true_false |
58
 
  sequel_flag = zero_one ;
59
 
 
60
 
fbase_film_genre_where_list:
61
 
  fbase_film_genre_where_item |
62
 
  fbase_film_genre_where_item and_or fbase_film_series_where_list |
63
 
  ( fbase_film_genre_where_item and_or fbase_film_series_where_list ) |
64
 
  ( fbase_film_genere_where_item ) and_or fbase_film_series_where_list ;
65
 
 
66
 
fbase_film_genre_where_item:
67
 
  genre_tag comparison_operator char_value |
68
 
  ( genre_tag BETWEEN char_value AND char_value ) |
69
 
  genre_tag LIKE first_letter ;
70
 
  genre_tag IN ( fbase_genre_list ) ;
71
 
 
72
 
fbase_genre_list:
73
 
  fbase_genre_item | fbase_genre_item , fbase_genre_list ;
74
 
 
75
 
fbase_genre_item:
76
 
  'Camp' | 'Comedy' | 'Crime' |  'Cyberpunk' | 
77
 
  'Horror' | 'History' | 'Martial arts' | 'Sports' ;
78
 
 
79
 
 
80
 
fbase_film_crew_where_list:
81
 
  fbase_film_crew_where_item |
82
 
  fbase_film_crew_where_item and_or fbase_film_series_where_list |
83
 
  ( fbase_film_crew_where_item and_or fbase_film_series_where_list ) |
84
 
  ( fbase_film_genere_where_item ) and_or fbase_film_series_where_list ;
85
 
 
86
 
fbase_film_crew_where_item:
87
 
  fbase_role_code LIKE first_letter |
88
 
  fbase_role_code comparison_operator char_value |
89
 
  LENGTH( fbase_role_code ) comparison_operator numeric_value | 
90
 
  ( fbase_role_code BETWEEN char_value AND char_value ) | 
91
 
  fbase_role_code IN ( fbase_role_list ) ;
92
 
 
93
 
fbase_role_list:
94
 
  fbase_role_item | fbase_role_item , fbase_role_list ;
95
 
 
96
 
fbase_role_item:
97
 
  'actor' | 'director' | 'producer' | 'writer' | 'editor' ;
98
 
 
99
 
 
100
 
  
101
 
  
102
 
  
103
 
   
104
 
 
105
 
##############################################################################
106
 
# value rules
107
 
# rules that contain lists of possible values for a comparison, etc
108
 
##############################################################################
109
 
 
110
 
true_false:
111
 
  TRUE | FALSE ;
112
 
 
113
 
zero_one:
114
 
  0 | 1 ;
115
 
 
116
 
table_one_two:
117
 
  table1 | table2 ;
118
 
 
119
 
table_one_two_three:
120
 
  table1 | table2 | table3 ;
121
 
 
122
 
year_value:
123
 
  _year | 1900 | 1910 | 1920 | 1930 |
124
 
   1940 | 1950 | 1960 | 1970 | 
125
 
   1975 | 1980 | 1985 | 1990 | 1995 ;
126
 
 
127
 
first_letter:
128
 
 'A%' | 'B%' | 'C%' | 'D%' | 'E%' | 'F%' | 'G%' | 'H%' | 'I%' | 'J%' | 'K%' | 'L%' | 'M%' | 'N%' |
129
 
 'P%' | 'Q%' | 'R%' | 'S%' | 'T%' | 'U%' | 'V%' | 'X%' | 'Y%' | 'Z%' ; 
130
 
 
131
 
char_value:
132
 
  _char | _english | _english | _quid | _quid ;
133
 
 
134
 
numeric_value:
135
 
  increment ;
136
 
 
137
 
small_increment:
138
 
  1 | 1 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 ;
139
 
 
140
 
large_increment:
141
 
  20 | 25 | 50 | 75 | 100 ;
142
 
 
143
 
increment:
144
 
  small_increment | large_increment ;
145
 
 
146
 
limit_value:
147
 
  1000 | 10000 | 5000 | 500 | 100 | 10 ;
148
 
 
149
 
:zero_one
150
 
 0 | 1 ;
151
 
 
152
 
##############################################################################
153
 
# general utility rules
154
 
##############################################################################
155
 
total_order_by:
156
 
        { join(', ', map { "field".$_ } (1..$fields) ) } desc ;
157
 
 
158
 
group_by_clause:
159
 
        { scalar(@nonaggregates) > 0 ? " GROUP BY ".join (', ' , @nonaggregates ) : "" }  ;
160
 
 
161
 
optional_group_by:
162
 
        | | | | | | | | | | group_by_clause ;
163
 
 
164
 
size_aggregate:
165
 
  MAX | MIN | AVG | 
166
 
  MAX | MIN | AVG | SUM ;
167
 
 
168
 
aggregate:
169
 
  MAX | MIN | SUM | COUNT ;
170
 
 
171
 
comparison_operator:
172
 
# NOTE: '=' is omitted here as we are using random
173
 
#       comparison values that are impossible to
174
 
#       have a match
175
 
   > | < | != | <> | <= | >= | greater_than | less_than ;
176
 
 
177
 
greater_than:
178
 
  > | >= ;
179
 
 
180
 
less_than:
181
 
  < | <= ;
182
 
 
183
 
left_right_outer:
184
 
  | | | | | | | LEFT outer | LEFT outer | RIGHT outer ;
185
 
 
186
 
left_right:
187
 
  | | | | LEFT | LEFT | LEFT | RIGHT ;
188
 
 
189
 
outer:
190
 
  | | OUTER ;
191
 
 
192
 
distinct:
193
 
  DISTINCT | | | | | | ;
194
 
 
195
 
select_option:  
196
 
  | | | | | | | | | SQL_SMALL_RESULT ;
197
 
 
198
 
straight_join:  
199
 
  | | | | | | | | | | | STRAIGHT_JOIN ;
200
 
 
201
 
not:
202
 
 | | | NOT ; 
203
 
 
204
 
and_or:
205
 
 AND | AND |  OR ;
206
 
 
207
 
desc:
208
 
        ASC | | | DESC ;
209