Commit Graph

225 Commits

Author SHA1 Message Date
Simon Binder a3f6f1e326
Merge branch 'develop' into analyzer-plugin
# Conflicts:
#	moor_generator/pubspec.yaml
2019-08-26 15:32:28 +02:00
Simon Binder e38719a194
Write changelogs, prepare release 1.7 2019-08-22 12:27:39 +02:00
Simon Binder 26e28e9ddc
Fix AggregateExpression not reporting content equality 2019-08-19 20:51:10 +02:00
Simon Binder e911e74af2
Support window declarations on select statements 2019-08-19 18:06:25 +02:00
Simon Binder 3dcf59af63
Fix some bugs in the sql parser, another integration test 2019-08-17 22:21:34 +02:00
Simon Binder 7d89f12aa7
Use explicit indices for array parameters 2019-08-15 21:26:27 +02:00
Simon Binder 7ba89c099f
Resolve and infer types for window expressions 2019-08-14 18:00:41 +02:00
Simon Binder 1d3d68fb54
Parse aggregate functions and window definitions 2019-08-13 14:11:13 +02:00
Simon Binder 515b95acfe
Add AST classes to model windowing in sql 2019-08-12 16:50:13 +02:00
Simon Binder 4210c0c836
Start some work on the analyzer plugin
Of course it's not working at all
2019-07-30 18:34:33 +02:00
Simon Binder 5df5e3cacc
Fix typename parsing, set span on default constraint 2019-07-30 09:35:19 +02:00
Simon Binder 4798d0a7e5
Parse specified tables from .moor files 2019-07-29 12:54:49 +02:00
Simon Binder a550a49705
Export table structure from CREATE TABLE statements 2019-07-28 22:09:20 +02:00
Simon Binder 3a2646e837
Only use the current analysis steps for CRUD statements 2019-07-28 21:22:18 +02:00
Simon Binder 0bad842735
Parse table constraints 2019-07-28 21:01:48 +02:00
Simon Binder 7e0bfa9cf9
Parse foreign clauses as column constraints 2019-07-28 20:18:22 +02:00
Simon Binder 7cddf6f5d7
Provide coverage upload token variable 2019-07-28 11:08:39 +02:00
Simon Binder 4c7874dd91
Test and coverage the sql parser 2019-07-28 09:49:14 +02:00
Simon Binder 7b6802e1c5
Split parser implementation into multiple files 2019-07-27 20:47:11 +02:00
Simon Binder 1766bb3f77
Fix tests that used "table" as a table name
(we now recognize that as a keyword)
2019-07-26 13:49:25 +02:00
Simon Binder dee9993c83
Parse CREATE TABLE statements 2019-07-26 13:35:49 +02:00
Simon Binder 888e429467
Write model classes to represent CREATE TABLE statements 2019-07-26 11:35:53 +02:00
Simon Binder 6c84013cfa
Correctly find references to aliased columns 2019-07-25 17:44:59 +02:00
Simon Binder 82f84732d0
Resolve aliased columns 2019-07-25 17:33:01 +02:00
Simon Binder f21021a6e9
Final preparations for the 1.6 release
Short summary of updates
- web support
- using zones to resolve the current transaction
- comparable date time values
- collate expressions
- many bug fixes
2019-07-12 10:52:42 +02:00
Simon Binder d01b5c750f
Fix order in limit expressions with comma
Fixes #73
2019-07-10 17:29:03 +02:00
Simon Binder aeb9b6ba41
Parse COLLATE expressions in the sql parser
For #67
2019-07-08 23:03:03 +02:00
Simon Binder 01db5e2afc
Release moor version 1.5.1, sqlparser 0.1.1 2019-07-03 20:04:09 +02:00
Simon Binder b0ca66bc06
Parse empty tuples
Closes #54
2019-07-02 22:30:54 +02:00
Simon Binder 1654193af4
Make parser assert it's at end after finishing 2019-07-02 22:21:20 +02:00
Simon Binder c5d46adcb5
Parse JOIN clauses without additional operators
Fixes #56
2019-07-02 22:07:30 +02:00
Simon Binder 3024157ec9
Parse and analyze tuples, rework type resolution for `IN` 2019-07-02 14:38:28 +02:00
Simon Binder 285113717f
Parse tuples 2019-07-02 12:48:08 +02:00
Simon Binder 316f9e1052
Only resolve columns declared in scope of a statement
Fixes #52
2019-07-02 12:28:54 +02:00
Simon Binder 3dddc6993a
Remove outdated todo entries 2019-07-01 21:37:08 +02:00
Simon Binder a45d73a6cf
Update documentation, fix multiline parsing 2019-07-01 21:20:59 +02:00
Simon Binder b2f79e97e6
Update docs of sqlparser library 2019-07-01 15:04:17 +02:00
Simon Binder da07be2da4
Parse exists expressions 2019-07-01 14:27:08 +02:00
Simon Binder 3e910123d2
Resolve and infer types related to like expressions 2019-07-01 13:59:52 +02:00
Simon Binder 791afdb6bf
Support ESCAPE clause for LIKE and similar expressions 2019-07-01 13:52:46 +02:00
Simon Binder 464754267e
Document new features for version 1.5 2019-06-30 22:16:58 +02:00
Simon Binder baf3c9ce88
Parse update statements 2019-06-30 15:25:39 +02:00
Simon Binder 53ea5835a8
For custom queries, use a matching data class if possible 2019-06-30 12:01:46 +02:00
Simon Binder 3f0776faf8
Fix tests, parse delete statements 2019-06-29 22:47:40 +02:00
Simon Binder ff530dd4ea
Improve documentation of the sqlparser library 2019-06-29 22:29:16 +02:00
Simon Binder d9f5cf0e69
Resolve types for case expressions 2019-06-29 18:02:44 +02:00
Simon Binder 9c07eaa465
Parse case expressions 2019-06-29 17:59:18 +02:00
Simon Binder 5e1ec15caa
Resolve types for between expression 2019-06-29 17:36:33 +02:00
Simon Binder 7ef904d053
Parse between expressions 2019-06-29 17:32:06 +02:00
Simon Binder 7a07a1ae78
Handle function calls in type resolution 2019-06-29 17:02:38 +02:00
Simon Binder 74257e0c83
Don't resolve functions.
It adds too much complication at the moment, so it's not
worth it for our simple purposes.
2019-06-29 16:14:59 +02:00
Simon Binder 807d1ddff0
Resolve index of sql parameters, documentation 2019-06-29 12:48:09 +02:00
Simon Binder 40a4ebdadf
Started to integrate the sqlparser into moor generator 2019-06-28 23:41:27 +02:00
Simon Binder 1479a0d850
Start resolving variables 2019-06-28 20:50:36 +02:00
Simon Binder 1271e730b8
Finish type resolution for simple expressions and columns 2019-06-28 10:50:41 +02:00
Simon Binder 7e916b9d74
Start with type resolution 2019-06-27 16:40:48 +02:00
Simon Binder db92059610
Better column name prediction for expressions 2019-06-27 15:30:29 +02:00
Simon Binder 6238e459d1
Beware of the mightily inefficient four-pass parser
(computers are fast these days ok??)
2019-06-26 23:07:30 +02:00
Simon Binder 674f4c6a9c
Slightly better reference resolving, parse subqueries 2019-06-26 21:44:29 +02:00
Simon Binder 12e8c31b71
Fix select statement including a null iterable as children 2019-06-24 20:08:59 +02:00
Simon Binder 4562979d62
Better ability to resolve forward references 2019-06-23 22:14:50 +02:00
Simon Binder 62c20d0202
Add simple tests for reference resolution 2019-06-23 16:35:28 +02:00
Simon Binder 8b5539bb03
Start with reference resolution 2019-06-23 15:57:18 +02:00
Simon Binder 5d1046ba3a
Scaffold classes for type and reference analysis 2019-06-23 14:44:28 +02:00
Simon Binder b0649ee208
Parse group by statements 2019-06-23 13:37:30 +02:00
Simon Binder 8bbf6d8054
Parse function expressions 2019-06-23 13:04:05 +02:00
Simon Binder 1c75c9d3e8
Parse sql variables 2019-06-23 11:50:44 +02:00
Simon Binder b52dcf9a60
Test select statement parsing 2019-06-23 10:35:25 +02:00
Simon Binder 5e6cabc816
Write some rudimentary api and docs for the parser 2019-06-22 22:35:34 +02:00
Simon Binder 99202f3df6
Parse the FROM part of a select statement 2019-06-22 22:04:06 +02:00
Simon Binder be5bcfd459
Parse "ORDER BY" clause 2019-06-18 14:49:30 +02:00
Simon Binder 1bc4bfc120
Simplify equality check, some more SELECT parsing 2019-06-17 22:33:28 +02:00
Simon Binder d125a844da
Start implementing SELECT statements for parser 2019-06-16 21:23:33 +02:00
Simon Binder b442d32a87
Parse simple expressions 2019-06-16 20:50:07 +02:00
Simon Binder 52f3ee045f
Extract sql parser to yet another subpackage 2019-06-15 23:01:10 +02:00