summaryrefslogtreecommitdiff
path: root/test/scanners/sql/mysql-long-queries.expected.raydebug
blob: a0d088664353779ef896784e26e866958a7abd9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
comment(/* This is a modified copy of the
  query linked above to test other keywords: */) 
class(SELECT)   ident(sd)operator(.)ident(qbclass)operator(,)                   comment(-- Comments Test)
         predefined(Sum)operator(()ident(sd)operator(.)ident(amount)operator(\))   reserved(AS) ident(invoiceamount)operator(,)          comment(# Comments Test)
         predefined(Sum)operator(()ident(scd1)operator(.)ident(amount)operator(\)) reserved(AS) ident(paymentsperiod1)operator(,) 
         predefined(Sum)operator(()ident(scd2)operator(.)ident(amount)operator(\)) reserved(AS) ident(paymentsperiod2)operator(,) 
         predefined(Sum)operator(()ident(scd3)operator(.)ident(amount)operator(\)) reserved(AS) ident(paymentsperiod3) 
reserved(FROM)     ident(studentdebit) reserved(AS) ident(sd) 
         reserved(LEFT) reserved(JOIN) operator(()class(SELECT) ident(studentcreditdetail)operator(.)ident(studentdebitid)operator(,) 
                           ident(studentcreditdetail)operator(.)ident(amount)operator(,) 
                           ident(studentcredit)operator(.)pre_type(date)operator(,) 
                           ident(credittype)operator(.)ident(credittype) 
                    reserved(FROM)   ident(studentcreditdetail) 
                           reserved(INNER) reserved(JOIN) ident(studentcredit) 
                             reserved(ON) ident(studentcreditdetail)operator(.)ident(studentcreditid) operator(=) ident(studentcredit)operator(.)ident(studentcreditid) 
                                reserved(AND) ident(studentcredit)operator(.)ident(obsolete) operator(=) integer(0) comment(/* Not Deleted */) 
                                reserved(AND) ident(studentcredit)operator(.)ident(status) operator(=) integer(1)   comment(/* Successful  */) 
                                comment(/* PERIOD 1 */) 
                                reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) 
                                comment(/* PERIOD 1 */) 
                                reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(1) ident(MONTH) 
                           reserved(LEFT) reserved(JOIN) ident(credittype) 
                             reserved(USING)operator(()ident(credittypeid)operator(\))operator(\)) reserved(AS) ident(scd1) 
           reserved(ON) ident(sd)operator(.)ident(studentdebitid) operator(=) ident(scd1)operator(.)ident(studentdebitid) 
         reserved(LEFT) reserved(JOIN) operator(()class(SELECT) ident(studentcreditdetail)operator(.)ident(studentdebitid)operator(,) 
                           ident(studentcreditdetail)operator(.)ident(amount)operator(,) 
                           ident(studentcredit)operator(.)pre_type(date)operator(,) 
                           ident(credittype)operator(.)ident(credittype) 
                    reserved(FROM)   ident(studentcreditdetail) 
                           reserved(INNER) reserved(JOIN) ident(studentcredit) 
                             reserved(ON) ident(studentcreditdetail)operator(.)ident(studentcreditid) operator(=) ident(studentcredit)operator(.)ident(studentcreditid) 
                                reserved(AND) ident(studentcredit)operator(.)ident(obsolete) operator(=) integer(0) comment(/* Not Deleted */) 
                                reserved(AND) ident(studentcredit)operator(.)ident(status) operator(=) integer(1)   comment(/* Successful  */) 
                                comment(/* PERIOD 2 */) 
                                reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(1) ident(MONTH) 
                                comment(/* PERIOD 2 */) 
                                reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(2) ident(MONTH) 
                           reserved(LEFT) reserved(OUTER) reserved(JOIN) ident(credittype) 
                             reserved(USING)operator(()ident(credittypeid)operator(\))operator(\)) reserved(AS) ident(scd2) 
           reserved(ON) ident(sd)operator(.)ident(studentdebitid) operator(=) ident(scd2)operator(.)ident(studentdebitid) 
         reserved(RIGHT) reserved(JOIN) operator(()class(SELECT) ident(studentcreditdetail)operator(.)ident(studentdebitid)operator(,) 
                           ident(studentcreditdetail)operator(.)ident(amount)operator(,) 
                           ident(studentcredit)operator(.)pre_type(date)operator(,) 
                           ident(credittype)operator(.)ident(credittype) 
                    reserved(FROM)   ident(studentcreditdetail) 
                           reserved(INNER) reserved(JOIN) ident(studentcredit) 
                             reserved(ON) ident(studentcreditdetail)operator(.)ident(studentcreditid) operator(=) ident(studentcredit)operator(.)ident(studentcreditid) 
                                reserved(AND) ident(studentcredit)operator(.)ident(obsolete) operator(=) integer(0) comment(/* Not Deleted */) 
                                reserved(AND) ident(studentcredit)operator(.)ident(status) operator(=) integer(1)   comment(/* Successful  */) 
                                comment(/* PERIOD 3 */) 
                                reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(2) ident(MONTH) 
                                comment(/* PERIOD 3 */) 
                                reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(3) ident(MONTH) 
                           reserved(LEFT) reserved(JOIN) ident(credittype) 
                             reserved(USING)operator(()ident(credittypeid)operator(\))operator(\)) reserved(AS) ident(scd3) 
           reserved(ON) ident(sd)operator(.)ident(studentdebitid) operator(=) ident(scd3)operator(.)ident(studentdebitid) 
reserved(WHERE)    ident(sd)operator(.)ident(obsolete) operator(=) integer(0)   comment(/* Not Deleted */) 
         reserved(AND) ident(sd)operator(.)ident(status) operator(=) integer(0) comment(/* Normal      */) 
         comment(/* Exclude Voided Invoices */) 
         reserved(AND) ident(sd)operator(.)ident(adjustsdebitid) reserved(IS) pre_constant(NULL) 
         reserved(AND) ident(sd)operator(.)ident(studentdebitid) reserved(NOT) ident(IN) operator(()class(SELECT) ident(adjustsdebitid) 
                                       reserved(FROM)   ident(studentdebit) 
                                       reserved(WHERE)  ident(adjustsdebitid) reserved(IS) reserved(NOT) pre_constant(NULL)operator(\)) 
         comment(/* FULL PERIOD */) 
         reserved(AND) ident(sd)operator(.)pre_type(DATE) operator(<) predefined(Now)operator(()operator(\)) 
         comment(/* FULL PERIOD */) 
         reserved(AND) ident(sd)operator(.)pre_type(DATE) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(3) ident(MONTH) 
reserved(GROUP) reserved(BY) ident(sd)operator(.)ident(qbclass) 
comment(/* Formatting only */) 
reserved(UNION) reserved(ALL) 
class(SELECT) string<delimiter(')content(---)delimiter(')>operator(,) 
       string<delimiter(')content(---)delimiter(')>operator(,) 
       string<delimiter(')content(---)delimiter(')>operator(,) 
       string<delimiter(')content(---)delimiter(')>operator(,) 
       string<delimiter(')content(---)delimiter(')> 
comment(/* Payment Types Summary */) 
reserved(UNION) reserved(DISTINCT) 
class(SELECT)   ident(credittype)operator(,) 
         ident(invoiceamount)operator(,) 
         predefined(Sum)operator(()ident(paymentsperiod1)operator(\))operator(,) 
         predefined(Sum)operator(()ident(paymentsperiod2)operator(\))operator(,) 
         predefined(Sum)operator(()ident(paymentsperiod3)operator(\)) 
reserved(FROM)     operator(()class(SELECT)   ident(scd)operator(.)ident(credittype)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(invoiceamount)operator(,) 
                   predefined(Sum)operator(()ident(scd)operator(.)ident(amount)operator(\)) reserved(AS) ident(paymentsperiod1)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(paymentsperiod2)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(paymentsperiod3) 
          reserved(FROM)     ident(studentdebit) reserved(AS) ident(sd) 
                   reserved(INNER) reserved(JOIN) operator(()class(SELECT) ident(studentcreditdetail)operator(.)ident(studentdebitid)operator(,) 
                                      ident(studentcreditdetail)operator(.)ident(amount)operator(,) 
                                      ident(studentcredit)operator(.)pre_type(date)operator(,) 
                                      ident(credittype)operator(.)ident(credittype) 
                               reserved(FROM)   ident(studentcreditdetail) 
                                      reserved(INNER) reserved(JOIN) ident(studentcredit) 
                                        reserved(ON) ident(studentcreditdetail)operator(.)ident(studentcreditid) operator(=) ident(studentcredit)operator(.)ident(studentcreditid) 
                                           reserved(AND) ident(studentcredit)operator(.)ident(obsolete) operator(=) integer(0) comment(/* Not Deleted */) 
                                           reserved(AND) ident(studentcredit)operator(.)ident(status) operator(=) integer(1)   comment(/* Successful  */) 
                                           comment(/* PERIOD 1 */) 
                                           reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) 
                                           comment(/* PERIOD 1 */) 
                                           reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(1) ident(MONTH) 
                                      reserved(LEFT) reserved(JOIN) ident(credittype) 
                                        reserved(USING)operator(()ident(credittypeid)operator(\))operator(\)) reserved(AS) ident(scd) 
                     reserved(ON) ident(sd)operator(.)ident(studentdebitid) operator(=) ident(scd)operator(.)ident(studentdebitid) 
          reserved(WHERE)    ident(sd)operator(.)ident(obsolete) operator(=) integer(0)   comment(/* Not Deleted */) 
                   reserved(AND) ident(sd)operator(.)ident(status) operator(=) integer(0) comment(/* Normal      */) 
                   comment(/* Exclude Voided Invoices */) 
                   reserved(AND) ident(sd)operator(.)ident(adjustsdebitid) reserved(IS) pre_constant(NULL) 
                   reserved(AND) ident(sd)operator(.)ident(studentdebitid) reserved(NOT) ident(IN) operator(()class(SELECT) ident(adjustsdebitid) 
                                                 reserved(FROM)   ident(studentdebit) 
                                                 reserved(WHERE)  ident(adjustsdebitid) reserved(IS) reserved(NOT) pre_constant(NULL)operator(\)) 
                   reserved(AND) ident(sd)operator(.)pre_type(DATE) operator(<) predefined(Now)operator(()operator(\)) 
                   reserved(AND) ident(sd)operator(.)pre_type(DATE) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(3) ident(MONTH) 
          reserved(GROUP) reserved(BY) ident(scd)operator(.)ident(credittype) 
          reserved(UNION) reserved(ALL) 
          class(SELECT)   ident(scd)operator(.)ident(credittype)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(invoiceamount)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(paymentsperiod1)operator(,) 
                   predefined(Sum)operator(()ident(scd)operator(.)ident(amount)operator(\)) reserved(AS) ident(paymentsperiod2)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(paymentsperiod3) 
          reserved(FROM)     ident(studentdebit) reserved(AS) ident(sd) 
                   reserved(INNER) reserved(JOIN) operator(()class(SELECT) ident(studentcreditdetail)operator(.)ident(studentdebitid)operator(,) 
                                      ident(studentcreditdetail)operator(.)ident(amount)operator(,) 
                                      ident(studentcredit)operator(.)pre_type(date)operator(,) 
                                      ident(credittype)operator(.)ident(credittype) 
                               reserved(FROM)   ident(studentcreditdetail) 
                                      reserved(INNER) reserved(JOIN) ident(studentcredit) 
                                        reserved(ON) ident(studentcreditdetail)operator(.)ident(studentcreditid) operator(=) ident(studentcredit)operator(.)ident(studentcreditid) 
                                           reserved(AND) ident(studentcredit)operator(.)ident(obsolete) operator(=) integer(0) comment(/* Not Deleted */) 
                                           reserved(AND) ident(studentcredit)operator(.)ident(status) operator(=) integer(1)   comment(/* Successful  */) 
                                           comment(/* PERIOD 2 */) 
                                           reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(1) ident(MONTH) 
                                           comment(/* PERIOD 2 */) 
                                           reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(2) ident(MONTH) 
                                      reserved(LEFT) reserved(JOIN) ident(credittype) 
                                        reserved(USING)operator(()ident(credittypeid)operator(\))operator(\)) reserved(AS) ident(scd) 
                     reserved(ON) ident(sd)operator(.)ident(studentdebitid) operator(=) ident(scd)operator(.)ident(studentdebitid) 
          reserved(WHERE)    ident(sd)operator(.)ident(obsolete) operator(=) integer(0)   comment(/* Not Deleted */) 
                   reserved(AND) ident(sd)operator(.)ident(status) operator(=) integer(0) comment(/* Normal      */) 
                   comment(/* Exclude Voided Invoices */) 
                   reserved(AND) ident(sd)operator(.)ident(adjustsdebitid) reserved(IS) pre_constant(NULL) 
                   reserved(AND) ident(sd)operator(.)ident(studentdebitid) reserved(NOT) ident(IN) operator(()class(SELECT) ident(adjustsdebitid) 
                                                 reserved(FROM)   ident(studentdebit) 
                                                 reserved(WHERE)  ident(adjustsdebitid) reserved(IS) reserved(NOT) pre_constant(NULL)operator(\)) 
                   reserved(AND) ident(sd)operator(.)pre_type(DATE) operator(<) predefined(Now)operator(()operator(\)) 
                   reserved(AND) ident(sd)operator(.)pre_type(DATE) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(3) ident(MONTH) 
          reserved(GROUP) reserved(BY) ident(scd)operator(.)ident(credittype) 
          reserved(UNION) reserved(ALL) 
          class(SELECT)   ident(scd)operator(.)ident(credittype)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(invoiceamount)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(paymentsperiod1)operator(,) 
                   string<delimiter(')delimiter(')>              reserved(AS) ident(paymentsperiod2)operator(,) 
                   predefined(Sum)operator(()ident(scd)operator(.)ident(amount)operator(\)) reserved(AS) ident(paymentsperiod3) 
          reserved(FROM)     ident(studentdebit) reserved(AS) ident(sd) 
                   reserved(INNER) reserved(JOIN) operator(()class(SELECT) ident(studentcreditdetail)operator(.)ident(studentdebitid)operator(,) 
                                      ident(studentcreditdetail)operator(.)ident(amount)operator(,) 
                                      ident(studentcredit)operator(.)pre_type(date)operator(,) 
                                      ident(credittype)operator(.)ident(credittype) 
                               reserved(FROM)   ident(studentcreditdetail) 
                                      reserved(INNER) reserved(JOIN) ident(studentcredit) 
                                        reserved(ON) ident(studentcreditdetail)operator(.)ident(studentcreditid) operator(=) ident(studentcredit)operator(.)ident(studentcreditid) 
                                           reserved(AND) ident(studentcredit)operator(.)ident(obsolete) operator(=) integer(0) comment(/* Not Deleted */) 
                                           reserved(AND) ident(studentcredit)operator(.)ident(status) operator(=) integer(1)   comment(/* Successful  */) 
                                           comment(/* PERIOD 3 */) 
                                           reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(2) ident(MONTH) 
                                           comment(/* PERIOD 3 */) 
                                           reserved(AND) ident(studentcredit)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(3) ident(MONTH) 
                                      reserved(LEFT) reserved(JOIN) ident(credittype) 
                                        reserved(USING)operator(()ident(credittypeid)operator(\))operator(\)) reserved(AS) ident(scd) 
                     reserved(ON) ident(sd)operator(.)ident(studentdebitid) operator(=) ident(scd)operator(.)ident(studentdebitid) 
          reserved(WHERE)    ident(sd)operator(.)ident(obsolete) operator(=) integer(0)   comment(/* Not Deleted */) 
                   reserved(AND) ident(sd)operator(.)ident(status) operator(=) integer(0) comment(/* Normal      */) 
                   comment(/* Exclude Voided Invoices */) 
                   reserved(AND) ident(sd)operator(.)ident(adjustsdebitid) reserved(IS) pre_constant(NULL) 
                   reserved(AND) ident(sd)operator(.)ident(studentdebitid) reserved(NOT) ident(IN) operator(()class(SELECT) ident(adjustsdebitid) 
                                                 reserved(FROM)   ident(studentdebit) 
                                                 reserved(WHERE)  ident(adjustsdebitid) reserved(IS) reserved(NOT) pre_constant(NULL)operator(\)) 
                   reserved(AND) ident(sd)operator(.)pre_type(date) operator(<) predefined(Now)operator(()operator(\)) 
                   reserved(AND) ident(sd)operator(.)pre_type(date) operator(>) predefined(Now)operator(()operator(\)) operator(-) ident(INTERVAL) integer(3) ident(MONTH) 
          reserved(GROUP) reserved(BY) ident(scd)operator(.)ident(credittype)operator(\)) reserved(AS) ident(ct) 
reserved(GROUP) reserved(BY) ident(ct)operator(.)ident(credittype)

class(SELECT) string<delimiter(')content(mediaid)delimiter(')>             reserved(AS) string<delimiter(`)content(idtype)delimiter(`)>operator(,) 
       string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)>         reserved(AS) string<delimiter(`)content(id)delimiter(`)>operator(,) 
       string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(title)delimiter(`)>           reserved(AS) string<delimiter(`)content(title)delimiter(`)>operator(,) 
       string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(description)delimiter(`)>     reserved(AS) string<delimiter(`)content(description)delimiter(`)>operator(,) 
       string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(source)delimiter(`)>          reserved(AS) string<delimiter(`)content(source)delimiter(`)>operator(,) 
       string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(date)delimiter(`)>            reserved(AS) string<delimiter(`)content(startdate)delimiter(`)>operator(,) 
       string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(date)delimiter(`)>            reserved(AS) string<delimiter(`)content(enddate)delimiter(`)>operator(,) 
       string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(class)delimiter(`)>           reserved(AS) string<delimiter(`)content(class)delimiter(`)>operator(,) 
       string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(classname)delimiter(`)>       reserved(AS) string<delimiter(`)content(classname)delimiter(`)>operator(,) 
       string<delimiter(`)content(per)delimiter(`)>operator(.)string<delimiter(`)content(firstname)delimiter(`)>     reserved(AS) string<delimiter(`)content(firstname)delimiter(`)>operator(,) 
       string<delimiter(`)content(per)delimiter(`)>operator(.)string<delimiter(`)content(lastname)delimiter(`)>      reserved(AS) string<delimiter(`)content(lastname)delimiter(`)>operator(,) 
       string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(description)delimiter(`)>     reserved(AS) string<delimiter(`)content(classdesc)delimiter(`)>operator(,) 
       string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)>       reserved(AS) string<delimiter(`)content(programid)delimiter(`)>operator(,) 
       reserved(If)operator(()operator(()string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(subprogramof)delimiter(`)> reserved(IS) reserved(NOT) pre_constant(NULL)operator(\))operator(,)string<delimiter(`)content(mp)delimiter(`)>operator(.)string<delimiter(`)content(programname)delimiter(`)>operator(,) 
          string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(programname)delimiter(`)>operator(\)) reserved(AS) string<delimiter(`)content(programname)delimiter(`)>operator(,) 
       string<delimiter(')content(Recorded)delimiter(')>            reserved(AS) string<delimiter(`)content(longname)delimiter(`)> 
reserved(FROM)   operator(()operator(()operator(()operator(()operator(()operator(()operator(()operator(()string<delimiter(`)content(media)delimiter(`)> string<delimiter(`)content(m)delimiter(`)> 
               reserved(JOIN) string<delimiter(`)content(mediaaudience)delimiter(`)> string<delimiter(`)content(ma)delimiter(`)> 
                 reserved(ON) operator(()operator(()operator(()string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)> operator(=) string<delimiter(`)content(ma)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)>operator(\)) 
                      reserved(AND) operator(()string<delimiter(`)content(ma)delimiter(`)>operator(.)string<delimiter(`)content(audiencetype)delimiter(`)> operator(=) string<delimiter(')content(Public)delimiter(')>operator(\)) 
                      reserved(AND) operator(()operator(()string<delimiter(`)content(ma)delimiter(`)>operator(.)string<delimiter(`)content(enddate)delimiter(`)> operator(<) predefined(Now)operator(()operator(\))operator(\)) 
                            reserved(OR) ident(Isnull)operator(()string<delimiter(`)content(ma)delimiter(`)>operator(.)string<delimiter(`)content(enddate)delimiter(`)>operator(\))operator(\))operator(\))operator(\))operator(\)) 
              reserved(LEFT) reserved(JOIN) string<delimiter(`)content(mediapresenter)delimiter(`)> string<delimiter(`)content(mpp)delimiter(`)> 
                reserved(ON) operator(()operator(()string<delimiter(`)content(m)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)> operator(=) string<delimiter(`)content(mpp)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)>operator(\))operator(\))operator(\)) 
             reserved(LEFT) reserved(JOIN) string<delimiter(`)content(person)delimiter(`)> string<delimiter(`)content(per)delimiter(`)> 
               reserved(ON) operator(()operator(()string<delimiter(`)content(mpp)delimiter(`)>operator(.)string<delimiter(`)content(personid)delimiter(`)> operator(=) string<delimiter(`)content(per)delimiter(`)>operator(.)string<delimiter(`)content(personid)delimiter(`)>operator(\))operator(\))operator(\)) 
            reserved(LEFT) reserved(JOIN) string<delimiter(`)content(mediaaudience)delimiter(`)> string<delimiter(`)content(mad)delimiter(`)> 
              reserved(ON) operator(()operator(()operator(()string<delimiter(`)content(ma)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)> operator(=) string<delimiter(`)content(mad)delimiter(`)>operator(.)string<delimiter(`)content(mediaid)delimiter(`)>operator(\)) 
                   reserved(AND) operator(()string<delimiter(`)content(mad)delimiter(`)>operator(.)string<delimiter(`)content(audiencetype)delimiter(`)> operator(=) string<delimiter(')content(classid)delimiter(')>operator(\))operator(\))operator(\))operator(\)) 
           reserved(LEFT) reserved(JOIN) string<delimiter(`)content(class)delimiter(`)> string<delimiter(`)content(c)delimiter(`)> 
             reserved(ON) operator(()operator(()string<delimiter(`)content(mad)delimiter(`)>operator(.)string<delimiter(`)content(audienceid)delimiter(`)> operator(=) string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)>operator(\))operator(\))operator(\)) 
          reserved(LEFT) reserved(JOIN) string<delimiter(`)content(program_class)delimiter(`)> string<delimiter(`)content(pc)delimiter(`)> 
            reserved(ON) operator(()operator(()string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)> operator(=) string<delimiter(`)content(pc)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)>operator(\))operator(\))operator(\)) 
         reserved(LEFT) reserved(JOIN) string<delimiter(`)content(program)delimiter(`)> string<delimiter(`)content(p)delimiter(`)> 
           reserved(ON) operator(()operator(()string<delimiter(`)content(pc)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)> operator(=) string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)>operator(\))operator(\))operator(\)) 
        reserved(LEFT) reserved(JOIN) string<delimiter(`)content(program)delimiter(`)> string<delimiter(`)content(mp)delimiter(`)> 
          reserved(ON) operator(()operator(()string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(subprogramof)delimiter(`)> operator(=) string<delimiter(`)content(mp)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)>operator(\))operator(\))operator(\)) 
reserved(UNION) 
class(SELECT) string<delimiter(')content(sectionid)delimiter(')>           reserved(AS) string<delimiter(`)content(idtype)delimiter(`)>operator(,) 
       string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(sectionid)delimiter(`)>      reserved(AS) string<delimiter(`)content(id)delimiter(`)>operator(,) 
       string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(title)delimiter(`)>          reserved(AS) string<delimiter(`)content(title)delimiter(`)>operator(,) 
       string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(description)delimiter(`)>    reserved(AS) string<delimiter(`)content(description)delimiter(`)>operator(,) 
       string<delimiter(`)content(l)delimiter(`)>operator(.)string<delimiter(`)content(mapurl)delimiter(`)>          reserved(AS) string<delimiter(`)content(mapurl)delimiter(`)>operator(,) 
       string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(starttime)delimiter(`)>      reserved(AS) string<delimiter(`)content(startdate)delimiter(`)>operator(,) 
       string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(endtime)delimiter(`)>        reserved(AS) string<delimiter(`)content(enddate)delimiter(`)>operator(,) 
       string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(class)delimiter(`)>           reserved(AS) string<delimiter(`)content(class)delimiter(`)>operator(,) 
       string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(classname)delimiter(`)>       reserved(AS) string<delimiter(`)content(classname)delimiter(`)>operator(,) 
       string<delimiter(`)content(per)delimiter(`)>operator(.)string<delimiter(`)content(firstname)delimiter(`)>     reserved(AS) string<delimiter(`)content(firstname)delimiter(`)>operator(,) 
       string<delimiter(`)content(per)delimiter(`)>operator(.)string<delimiter(`)content(lastname)delimiter(`)>      reserved(AS) string<delimiter(`)content(lastname)delimiter(`)>operator(,) 
       string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(description)delimiter(`)>     reserved(AS) string<delimiter(`)content(classdesc)delimiter(`)>operator(,) 
       string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)>       reserved(AS) string<delimiter(`)content(programid)delimiter(`)>operator(,) 
       reserved(If)operator(()operator(()string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(subprogramof)delimiter(`)> reserved(IS) reserved(NOT) pre_constant(NULL)operator(\))operator(,)string<delimiter(`)content(mp)delimiter(`)>operator(.)string<delimiter(`)content(programname)delimiter(`)>operator(,) 
          string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(programname)delimiter(`)>operator(\)) reserved(AS) string<delimiter(`)content(programname)delimiter(`)>operator(,) 
       string<delimiter(`)content(d)delimiter(`)>operator(.)string<delimiter(`)content(longname)delimiter(`)>        reserved(AS) string<delimiter(`)content(longname)delimiter(`)> 
reserved(FROM)   operator(()operator(()operator(()operator(()operator(()operator(()operator(()operator(()string<delimiter(`)content(calendarcache)delimiter(`)> string<delimiter(`)content(cc)delimiter(`)> 
               reserved(JOIN) string<delimiter(`)content(section)delimiter(`)> string<delimiter(`)content(s)delimiter(`)> 
                 reserved(ON) operator(()operator(()string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(sectionid)delimiter(`)> operator(=) string<delimiter(`)content(s)delimiter(`)>operator(.)string<delimiter(`)content(sectionid)delimiter(`)>operator(\))operator(\))operator(\)) 
              reserved(LEFT) reserved(JOIN) string<delimiter(`)content(person)delimiter(`)> string<delimiter(`)content(per)delimiter(`)> 
                reserved(ON) operator(()operator(()string<delimiter(`)content(s)delimiter(`)>operator(.)string<delimiter(`)content(teacherid)delimiter(`)> operator(=) string<delimiter(`)content(per)delimiter(`)>operator(.)string<delimiter(`)content(personid)delimiter(`)>operator(\))operator(\))operator(\)) 
             reserved(LEFT) reserved(JOIN) string<delimiter(`)content(division)delimiter(`)> string<delimiter(`)content(d)delimiter(`)> 
               reserved(ON) operator(()operator(()string<delimiter(`)content(s)delimiter(`)>operator(.)string<delimiter(`)content(divisionid)delimiter(`)> operator(=) string<delimiter(`)content(d)delimiter(`)>operator(.)string<delimiter(`)content(divisionid)delimiter(`)>operator(\))operator(\))operator(\)) 
            reserved(LEFT) reserved(JOIN) string<delimiter(`)content(location)delimiter(`)> string<delimiter(`)content(l)delimiter(`)> 
              reserved(ON) operator(()operator(()string<delimiter(`)content(s)delimiter(`)>operator(.)string<delimiter(`)content(locationid)delimiter(`)> operator(=) string<delimiter(`)content(l)delimiter(`)>operator(.)string<delimiter(`)content(locationid)delimiter(`)>operator(\))operator(\))operator(\)) 
           reserved(LEFT) reserved(JOIN) string<delimiter(`)content(class)delimiter(`)> string<delimiter(`)content(c)delimiter(`)> 
             reserved(ON) operator(()operator(()string<delimiter(`)content(s)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)> operator(=) string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)>operator(\))operator(\))operator(\)) 
          reserved(LEFT) reserved(JOIN) string<delimiter(`)content(program_class)delimiter(`)> string<delimiter(`)content(pc)delimiter(`)> 
            reserved(ON) operator(()operator(()string<delimiter(`)content(c)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)> operator(=) string<delimiter(`)content(pc)delimiter(`)>operator(.)string<delimiter(`)content(classid)delimiter(`)>operator(\))operator(\))operator(\)) 
         reserved(LEFT) reserved(JOIN) string<delimiter(`)content(program)delimiter(`)> string<delimiter(`)content(p)delimiter(`)> 
           reserved(ON) operator(()operator(()string<delimiter(`)content(pc)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)> operator(=) string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)>operator(\))operator(\))operator(\)) 
        reserved(LEFT) reserved(JOIN) string<delimiter(`)content(program)delimiter(`)> string<delimiter(`)content(mp)delimiter(`)> 
          reserved(ON) operator(()operator(()string<delimiter(`)content(p)delimiter(`)>operator(.)string<delimiter(`)content(subprogramof)delimiter(`)> operator(=) string<delimiter(`)content(mp)delimiter(`)>operator(.)string<delimiter(`)content(programid)delimiter(`)>operator(\))operator(\))operator(\)) 
reserved(WHERE)  operator(()reserved(NOT) operator(()operator(()string<delimiter(`)content(cc)delimiter(`)>operator(.)string<delimiter(`)content(description)delimiter(`)> reserved(LIKE) string<delimiter(')content(%{cs}%)delimiter(')>operator(\))operator(\))operator(\))