Merge lp:~mmcm/akiban-sql-parser/fewer-reserved-words into lp:~akiban-technologies/akiban-sql-parser/trunk

Proposed by Mike McMahon
Status: Merged
Approved by: Nathan Williams
Approved revision: 304
Merged at revision: 304
Proposed branch: lp:~mmcm/akiban-sql-parser/fewer-reserved-words
Merge into: lp:~akiban-technologies/akiban-sql-parser/trunk
Diff against target: 355 lines (+46/-46)
1 file modified
src/main/javacc/SQLGrammar.jj (+46/-46)
To merge this branch: bzr merge lp:~mmcm/akiban-sql-parser/fewer-reserved-words
Reviewer Review Type Date Requested Status
Nathan Williams Approve
Review via email: mp+178440@code.launchpad.net

Description of the change

Move some keywords from reserved to non-reserved.

The process used was:
* Take list of SQL92 reserved words.
* Intersect with list of SQL2003 non-reserved words.
* Each of those that occurs in the reservedKeyword() production, move to nonReservedKeyword().
* Undo any move that causes a JavaCC warning.

To post a comment you must log in.
Revision history for this message
Nathan Williams (nwilliams) wrote :

Sounds good to me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/main/javacc/SQLGrammar.jj'
2--- src/main/javacc/SQLGrammar.jj 2013-07-31 23:47:55 +0000
3+++ src/main/javacc/SQLGrammar.jj 2013-08-03 21:33:27 +0000
4@@ -14660,8 +14660,6 @@
5 | tok = <ANY>
6 | tok = <ARE>
7 | tok = <AS>
8-| tok = <ASC>
9-| tok = <ASSERTION>
10 | tok = <AT>
11 | tok = <AUTHORIZATION>
12 | tok = <AVG>
13@@ -14670,24 +14668,20 @@
14 | tok = <BIT>
15 | tok = <BOTH>
16 | tok = <BY>
17-| tok = <CASCADE>
18 | tok = <CASCADED>
19 | tok = <CASE>
20 | tok = <CAST>
21 | tok = <CHAR>
22-| tok = <CHARACTER>
23 | tok = <CHARACTER_LENGTH>
24 | tok = <CHAR_LENGTH>
25 | tok = <CHECK>
26 | tok = <CLOSE>
27 | tok = <COLLATE>
28-| tok = <COLLATION>
29 | tok = <COLUMN>
30 | tok = <COMMIT>
31 | tok = <CONNECT>
32 | tok = <CONNECTION>
33 | tok = <CONSTRAINT>
34-| tok = <CONSTRAINTS>
35 | tok = <CONTINUE>
36 | tok = <CONVERT>
37 | tok = <CORRESPONDING>
38@@ -14704,12 +14698,8 @@
39 | tok = <DECIMAL>
40 | tok = <DECLARE>
41 | tok = <_DEFAULT>
42-| tok = <DEFERRABLE>
43-| tok = <DEFERRED>
44 | tok = <DELETE>
45-| tok = <DESC>
46 | tok = <DESCRIBE>
47-| tok = <DIAGNOSTICS>
48 | tok = <DISCONNECT>
49 | tok = <DISTINCT>
50 | tok = <DOUBLE>
51@@ -14719,26 +14709,21 @@
52 | tok = <ENDEXEC>
53 | tok = <ESCAPE>
54 | tok = <EXCEPT>
55-| tok = <EXCEPTION>
56 | tok = <EXEC>
57 | tok = <EXECUTE>
58 | tok = <EXISTS>
59 | tok = <EXTERNAL>
60 | tok = <FALSE>
61 | tok = <FETCH>
62-| tok = <FIRST>
63 | tok = <FLOAT>
64 | tok = <FOR>
65 | tok = <FOREIGN>
66-| tok = <FOUND>
67 | tok = <FROM>
68 | tok = <FULL>
69 | tok = <FUNCTION>
70 | tok = <GET>
71 | tok = <GET_CURRENT_CONNECTION>
72 | tok = <GLOBAL>
73-| tok = <GO>
74-| tok = <GOTO>
75 | tok = <GRANT>
76 | tok = <GROUP>
77 | tok = <GROUP_CONCAT>
78@@ -14749,7 +14734,6 @@
79 | tok = <IN>
80 | tok = <INDEX>
81 | tok = <INDICATOR>
82-| tok = <INITIALLY>
83 | tok = <INNER>
84 | tok = <INOUT>
85 | tok = <INPUT>
86@@ -14761,10 +14745,7 @@
87 | tok = <INTERVAL>
88 | tok = <INTO>
89 | tok = <IS>
90-| tok = <ISOLATION>
91 | tok = <JOIN>
92-| tok = <KEY>
93-| tok = <LAST>
94 | tok = <LEADING>
95 | tok = <LEFT>
96 | tok = <LIKE>
97@@ -14790,27 +14771,19 @@
98 | tok = <ON>
99 | tok = <ONLY>
100 | tok = <OPEN>
101-| tok = <OPTION>
102 | tok = <OR>
103 | tok = <ORDER>
104 | tok = <OUT>
105 | tok = <OUTER>
106 | tok = <OUTPUT>
107 | tok = <OVERLAPS>
108-| tok = <PAD>
109-| tok = <PARTIAL>
110 | tok = <PARTITION>
111 | tok = <PREPARE>
112-| tok = <PRESERVE>
113 | tok = <PRIMARY>
114-| tok = <PRIOR>
115-| tok = <PRIVILEGES>
116 | tok = <PROCEDURE>
117 | tok = <PUBLIC>
118-| tok = <READ>
119 | tok = <REAL>
120 | tok = <REFERENCES>
121-| tok = <RELATIVE>
122 | tok = <RESTRICT>
123 | tok = <RETURNING>
124 | tok = <REVOKE>
125@@ -14821,12 +14794,10 @@
126 | tok = <SCROLL>
127 | tok = <SECOND>
128 | tok = <SELECT>
129-| tok = <SESSION>
130 | tok = <SESSION_USER>
131 | tok = <SET>
132 | tok = <SMALLINT>
133 | tok = <SOME>
134-| tok = <SPACE>
135 | tok = <SQL>
136 | tok = <SQLCODE>
137 | tok = <SQLERROR>
138@@ -14836,12 +14807,10 @@
139 | tok = <SUM>
140 | tok = <SYSTEM_USER>
141 | tok = <TABLE>
142-| tok = <TEMPORARY>
143 | tok = <TIMEZONE_HOUR>
144 | tok = <TIMEZONE_MINUTE>
145 | tok = <TO>
146 | tok = <TRAILING>
147-| tok = <TRANSACTION>
148 | tok = <TRANSLATE>
149 | tok = <TRANSLATION>
150 | tok = <TRUE>
151@@ -14855,12 +14824,9 @@
152 | tok = <VALUES>
153 | tok = <VARCHAR>
154 | tok = <VARYING>
155-| tok = <VIEW>
156 | tok = <WHENEVER>
157 | tok = <WHERE>
158 | tok = <WITH>
159-| tok = <WORK>
160-| tok = <WRITE>
161 | tok = <YEAR>
162 /* non-SQL92 reserved keywords */
163 | tok = <BOOLEAN>
164@@ -14902,6 +14868,8 @@
165 | tok = <ACTION>
166 | tok = <AFTER>
167 | tok = <ALWAYS>
168+| tok = <ASC> // SQL92 reserved, SQL2003 non-reserved
169+| tok = <ASSERTION> // SQL92 reserved, SQL2003 non-reserved
170 | tok = <BEFORE>
171 | tok = <BINARY>
172 | tok = <BLOB>
173@@ -14909,14 +14877,18 @@
174 | tok = <BTREE>
175 | tok = <C>
176 | tok = <CALLED>
177+| tok = <CASCADE> // SQL92 reserved, SQL2003 non-reserved
178+| tok = <CHARACTER> // SQL92 reserved, SQL2003 non-reserved
179 | tok = <CHARACTERISTICS>
180 | tok = <CLASS>
181 | tok = <CLOB>
182 | tok = <COALESCE>
183 | tok = <COBOL>
184+| tok = <COLLATION> // SQL92 reserved, SQL2003 non-reserved
185 | tok = <COMMITTED>
186 | tok = <COMPRESS>
187 | tok = <CONCAT>
188+| tok = <CONSTRAINTS> // SQL92 reserved, SQL2003 non-reserved
189 | tok = <CONTAINS>
190 | tok = <CONTENT>
191 | tok = <COPY>
192@@ -14927,6 +14899,7 @@
193 | tok = <CURTIME>
194 | tok = <D>
195 | tok = <DATA>
196+| tok = <DATABASE>
197 | tok = <DATE>
198 | tok = <DATETIME>
199 | tok = <DAY>
200@@ -14934,42 +14907,54 @@
201 | tok = <DAY_MICROSECOND>
202 | tok = <DAY_MINUTE>
203 | tok = <DAY_SECOND>
204+| tok = <DB2SQL>
205+| tok = <DEFERRABLE> // SQL92 reserved, SQL2003 non-reserved
206+| tok = <DEFERRED> // SQL92 reserved, SQL2003 non-reserved
207 | tok = <DEFRAGMENT>
208 | tok = <DELIMITER>
209+| tok = <DESC> // SQL92 reserved, SQL2003 non-reserved
210+| tok = <DIAGNOSTICS> // SQL92 reserved, SQL2003 non-reserved
211 | tok = <DIRTY>
212 | tok = <DIV>
213+| tok = <DOCUMENT>
214 | tok = <DUMMY>
215 | tok = <DYNAMIC>
216-| tok = <DATABASE>
217-| tok = <DB2SQL>
218-| tok = <DOCUMENT>
219 | tok = <EACH>
220 | tok = <EMPTY>
221 | tok = <ENCODING>
222+| tok = <EXCEPTION> // SQL92 reserved, SQL2003 non-reserved
223 | tok = <EXCLUSIVE>
224 | tok = <EXTRACT>
225+| tok = <FIRST> // SQL92 reserved, SQL2003 non-reserved
226 | tok = <FN>
227 | tok = <FORCE>
228 | tok = <FORMAT>
229 | tok = <FORTRAN>
230+| tok = <FOUND> // SQL92 reserved, SQL2003 non-reserved
231 | tok = <FULL_TEXT>
232 | tok = <GENERATED>
233+| tok = <GO> // SQL92 reserved, SQL2003 non-reserved
234+| tok = <GOTO> // SQL92 reserved, SQL2003 non-reserved
235 | tok = <HEADER>
236 | tok = <HOUR_MICROSECOND>
237 | tok = <HOUR_MINUTE>
238 | tok = <HOUR_SECOND>
239 | tok = <IDENTITY_VAL_LOCAL>
240+| tok = <IF>
241 | tok = <IGNORE>
242-| tok = <IF>
243-| tok = <IN_MEMORY>
244 | tok = <INCREMENT>
245 | tok = <INITIAL>
246+| tok = <INITIALLY> // SQL92 reserved, SQL2003 non-reserved
247 | tok = <INPLACE>
248 | tok = <INTERRUPT>
249+| tok = <IN_MEMORY>
250+| tok = <ISOLATION> // SQL92 reserved, SQL2003 non-reserved
251 | tok = <JAVA>
252+| tok = <KEY> // SQL92 reserved, SQL2003 non-reserved
253 | tok = <KILL>
254 | tok = <LANGUAGE>
255 | tok = <LARGE>
256+| tok = <LAST> // SQL92 reserved, SQL2003 non-reserved
257 | tok = <LCASE>
258 | tok = <LENGTH>
259 | tok = <LEVEL>
260@@ -14996,8 +14981,8 @@
261 | tok = <MODIFY>
262 // SQL92 says MODULE is reserved, but we want it to be non-reserved.
263 | tok = <MODULE>
264+| tok = <_MORE>
265 | tok = <MONTH>
266-| tok = <_MORE>
267 | tok = <MUMPS>
268 | tok = <MYSQL_DUMP>
269 | tok = <NAME>
270@@ -15011,20 +14996,28 @@
271 | tok = <OFF>
272 | LOOKAHEAD( { getToken(1).kind == OFFSET && !seeingOffsetClause() } )
273 tok = <OFFSET>
274+| tok = <OJ>
275 | tok = <OLD>
276 | tok = <OLD_TABLE>
277-| tok = <OJ>
278+| tok = <OPTION> // SQL92 reserved, SQL2003 non-reserved
279 | tok = <OVER>
280+| tok = <PAD> // SQL92 reserved, SQL2003 non-reserved
281+| tok = <PARTIAL> // SQL92 reserved, SQL2003 non-reserved
282 | tok = <PASCAL>
283 | tok = <PASSING>
284 | tok = <PLI>
285 | tok = <POSITION>
286 | tok = <PRECISION>
287+| tok = <PRESERVE> // SQL92 reserved, SQL2003 non-reserved
288+| tok = <PRIOR> // SQL92 reserved, SQL2003 non-reserved
289+| tok = <PRIVILEGES> // SQL92 reserved, SQL2003 non-reserved
290 | tok = <PROPERTIES>
291 | tok = <PURGE>
292 | tok = <QUARTER>
293 | tok = <_QUOTE>
294+| tok = <READ> // SQL92 reserved, SQL2003 non-reserved
295 | tok = <READS>
296+| tok = <RELATIVE> // SQL92 reserved, SQL2003 non-reserved
297 | tok = <REF>
298 // SQL92 says RELEASE is reserved, but we want it to be non-reserved.
299 | tok = <RELEASE>
300@@ -15053,19 +15046,21 @@
301 | tok = <SEQUENCE>
302 | tok = <SEQUENTIAL>
303 | tok = <SERIALIZABLE>
304+| tok = <SESSION> // SQL92 reserved, SQL2003 non-reserved
305 | tok = <SETS>
306 | tok = <SHARE>
307 | tok = <SHUTDOWN>
308+| tok = <SPACE> // SQL92 reserved, SQL2003 non-reserved
309 | tok = <SPECIFIC>
310 | tok = <SQLID>
311+| tok = <SQL_TSI_DAY>
312 | tok = <SQL_TSI_FRAC_SECOND>
313-| tok = <SQL_TSI_SECOND>
314+| tok = <SQL_TSI_HOUR>
315 | tok = <SQL_TSI_MINUTE>
316-| tok = <SQL_TSI_HOUR>
317-| tok = <SQL_TSI_DAY>
318-| tok = <SQL_TSI_WEEK>
319 | tok = <SQL_TSI_MONTH>
320 | tok = <SQL_TSI_QUARTER>
321+| tok = <SQL_TSI_SECOND>
322+| tok = <SQL_TSI_WEEK>
323 | tok = <SQL_TSI_YEAR>
324 | tok = <SQRT>
325 | tok = <STABILITY>
326@@ -15075,9 +15070,10 @@
327 | tok = <STDIN>
328 | tok = <STDOUT>
329 | tok = <STRIP>
330+| tok = <STYLE>
331 | tok = <SYNONYM>
332-| tok = <STYLE>
333 | tok = <T>
334+| tok = <TEMPORARY> // SQL92 reserved, SQL2003 non-reserved
335 | tok = <TEXT>
336 | tok = <THEN>
337 | tok = <TIME>
338@@ -15087,6 +15083,7 @@
339 | tok = <TINYBLOB>
340 | tok = <TINYINT>
341 | tok = <TINYTEXT>
342+| tok = <TRANSACTION> // SQL92 reserved, SQL2003 non-reserved
343 | tok = <TRIGGER>
344 | tok = <TRUNCATE>
345 | tok = <TRUNCATE_END>
346@@ -15098,6 +15095,9 @@
347 | tok = <UR>
348 | tok = <USAGE>
349 | tok = <USE>
350+| tok = <VIEW> // SQL92 reserved, SQL2003 non-reserved
351+| tok = <WORK> // SQL92 reserved, SQL2003 non-reserved
352+| tok = <WRITE> // SQL92 reserved, SQL2003 non-reserved
353 // SQL92 says VALUE is reserved, but we want it to be nonreserved.
354 | tok = <VALUE>
355 | tok = <VARBINARY>

Subscribers

People subscribed via source and target branches