|
1 | 1 | # Milestones for sqlite-parser |
2 | 2 |
|
3 | 3 | ## **[1.0.0]** In progress |
| 4 | +- [ ] **[In Progress]** Finish standardizing AST format across all types of statements |
| 5 | + - [ ] `ORDER BY` |
| 6 | + - [ ] `LIMIT` |
| 7 | + - [ ] `name` property across node types |
| 8 | + - [ ] `type` and `variant` combine into single `type` property |
| 9 | + |
| 10 | +## **[0.10.0]** Finished |
4 | 11 |
|
5 | 12 | - [x] Set proper rules for identifier names, e.g.: `[a-z0-9\_\-]+` |
6 | 13 |
|
|
91 | 98 | - See: [Virtual Tables](https://www.sqlite.org/lang_createvtab.html) |
92 | 99 |
|
93 | 100 | - [x] Need to display correct error location when there are multiple statements in the input SQL |
94 | | -- [ ] **[In Progress]** Finish standardizing AST format across all types of statements |
95 | 101 | - [x] `comment` rules should not use `sym_*` rules since you should not be able to put a space between the two symbols at the start and/or end of a comment. |
96 | 102 |
|
97 | 103 | ``` |
98 | 104 | SELECT * - - not valid but is being accepted |
99 | 105 | ``` |
100 | 106 |
|
101 | | -## **[0.1.0]** Finished (needs tests) |
102 | | -- [x] `SELECT` **TODO: Need tests** |
| 107 | +## **[0.1.0]** Finished |
| 108 | +- [x] `SELECT` |
103 | 109 | - [x] Sub-queries |
104 | 110 |
|
105 | 111 | ``` sql |
|
140 | 146 |
|
141 | 147 | - [x] *Has spec* |
142 | 148 |
|
143 | | - - [x] `JOIN` types `INNER`, `OUTER`, `LEFT` **TODO: Need tests** |
| 149 | + - [x] `JOIN` types `INNER`, `OUTER`, `LEFT` |
144 | 150 | - [x] Joins on tables and/or sub-queries |
145 | 151 | - [x] *Has spec* |
146 | 152 | - [x] `USING` |
|
153 | 159 |
|
154 | 160 | - [ ] *Has spec* |
155 | 161 |
|
156 | | - - [x] Query modifiers `WHERE`, `GROUP BY`, `HAVING` **TODO: Need tests** |
| 162 | + - [x] Query modifiers `WHERE`, `GROUP BY`, `HAVING` |
157 | 163 | - [x] `WHERE` |
158 | 164 | - [ ] *Has spec* |
159 | 165 | - [x] `FROM` |
|
166 | 172 | - [ ] *Has spec* |
167 | 173 | - [x] `LIMIT` |
168 | 174 | - [ ] *Has spec* |
169 | | -- [x] `INSERT` **TODO: Need tests** |
| 175 | +- [x] `INSERT` |
170 | 176 | - [x] Basic |
171 | 177 |
|
172 | 178 | ``` sql |
|
207 | 213 | - [x] Table format |
208 | 214 | - [x] Basic format |
209 | 215 | - [x] *Has spec* |
210 | | - - [x] Table constraints **TODO: Need tests** |
| 216 | + - [x] Table constraints |
211 | 217 | - [x] `PRIMARY KEY` |
212 | 218 | - [x] *Has spec* |
213 | 219 | - [x] `CHECK` |
214 | 220 | - [x] *Has spec* |
215 | 221 | - [x] `FOREIGN KEY` |
216 | 222 | - [x] *Has spec* |
217 | | - - [x] Column constraints **TODO: Need tests** |
| 223 | + - [x] Column constraints |
218 | 224 | - [x] `PRIMARY KEY` |
219 | 225 | - [x] *Has spec* |
220 | 226 | - [x] `NOT NULL`, `UNIQUE` |
|
229 | 235 | - [x] *Has spec* |
230 | 236 | - [x] Create table `AS SELECT` |
231 | 237 | - [x] *Has spec* |
232 | | -- [x] `ALTER TABLE` **TODO: Need tests** |
| 238 | +- [x] `ALTER TABLE` |
233 | 239 | - [ ] *Has spec* |
234 | | -- [x] Transaction statement types **TODO: Need tests** |
| 240 | +- [x] Transaction statement types |
235 | 241 |
|
236 | 242 | ``` sql |
237 | 243 | BEGIN IMMEDIATE TRANSACTION |
|
256 | 262 | - [x] *Has spec* |
257 | 263 | - [x] `ROLLBACK` |
258 | 264 | - [x] *Has spec* |
259 | | -- [x] Query plan `EXPLAIN QUERY PLAN stmt` **TODO: Need tests** |
| 265 | +- [x] Query plan `EXPLAIN QUERY PLAN stmt` |
260 | 266 | - [ ] *Has spec* |
261 | 267 | - [x] Multiple queries in batch |
262 | 268 |
|
|
333 | 339 | FROM dinosaurs |
334 | 340 | ``` |
335 | 341 |
|
336 | | -- [ ] Expressions **TODO: Need tests** |
| 342 | +- [ ] Expressions |
337 | 343 | - [x] `CAST banana AS INT` |
338 | 344 | - [x] *Has spec* |
339 | 345 | - [x] `CASE` |
|
0 commit comments