Commit Graph

204 Commits

Author SHA1 Message Date
Simon Binder 013a28564b
Temporary fix for CI failures: Don't use latest analyzer 2019-12-07 13:13:50 +01:00
Simon Binder 28b1e19145
Test that dart components can be used from UseMoor/Dao
Fixes #267
2019-12-05 19:23:52 +01:00
Simon Binder 3c74a20f56
Enable more recent lints and enforce them 2019-12-04 21:45:09 +01:00
Simon Binder f4c05f44c7
sqlparser: Read table schemas for fts5 tables 2019-12-04 19:55:23 +01:00
Simon Binder 325820af80
Parse CREATE VIRTUAL TABLE statements 2019-12-04 15:36:23 +01:00
Simon Binder a0ce3421c9
Resolve json functions when option is set (#235) 2019-11-28 21:50:55 +01:00
Simon Binder bb1fcc1590
Fix analyzer crash at CTE (#255) 2019-11-24 14:46:20 +01:00
Simon Binder 598fef750e
RELEASE
- moor 2.1.0
- moor_generator 2.1.0
- sqlparser 0.4.0
- moor_ffi 0.2.0
2019-11-16 11:23:11 +01:00
Simon Binder e83464df28
Prepare 2.1.0 release 2019-11-13 21:14:38 +01:00
Simon Binder 623f3212a1
Use builtin coverage collection from test package 2019-11-08 22:51:53 +01:00
Simon Binder a304d13927
Use enforceHasSpan on all parse results in tests 2019-10-27 11:51:09 +01:00
Simon Binder 591e1b2bff
Support WITH clause for inner select statements 2019-10-27 10:47:21 +01:00
Simon Binder 9372178204
INSERT INTO SELECT: Support with clause 2019-10-25 23:18:21 +02:00
Simon Binder d43a23eb88
Don't crash when a table wasn't resolved 2019-10-24 22:26:27 +02:00
Simon Binder b8af08919a
Handle recursive CTEs in analyzer 2019-10-23 18:03:24 +02:00
Simon Binder d55e1de66d
Handle common table expressions in the analyzer 2019-10-23 17:07:44 +02:00
Simon Binder 29a7b4853d
Parse common table expressions (no analysis yet) 2019-10-21 22:10:19 +02:00
Simon Binder 8a54fd4729
Generate code for CREATE TRIGGER statements 2019-10-21 18:13:28 +02:00
Simon Binder e553d37de6
Fix autocomplete tests 2019-10-21 17:27:38 +02:00
Simon Binder 8de2b141a9
Parse CREATE TRIGGER statements 2019-10-20 17:48:17 +02:00
Simon Binder 8a8b811643
Fix more sqlparser crashes in the resolver 2019-10-20 11:28:05 +02:00
Simon Binder a69f469444
Support sqlite_master, sqlite_sequence tables (#197) 2019-10-19 16:56:36 +02:00
Simon Binder fd27c878d4
Fix errors in sqlparser that were swallowed before 2019-10-19 16:41:30 +02:00
Simon Binder d8226aeb23
Handle aliases references to rowid (#197) 2019-10-19 16:09:44 +02:00
Simon Binder 4c090af98c
Ability to override json keys in moor files (#176) 2019-10-14 19:59:52 +02:00
Simon Binder 5ae3d7c2af
Prepare pubspec and changelog for 2.0.1 release 2019-10-11 13:17:50 +02:00
Simon Binder ed03bff4c2
Recognize boolean and datetime column in moor 2019-10-05 21:24:41 +02:00
Simon Binder ef1dd8d2c5
Scan \r as whitespace (#170) 2019-10-04 22:21:17 +02:00
Simon Binder 1ba687696f
Plugin: Navigation support for table references 2019-09-28 23:15:23 +02:00
Simon Binder b9f934c1d4
Report information about where a column was declared 2019-09-28 22:01:28 +02:00
Simon Binder ab787b82be
Use existing parser code for auto-complete
This works very well when the user is typing at the end of a statement, but won't provide accurate results when editing in the middle.
2019-09-27 22:06:14 +02:00
Simon Binder b684a7be69
Replace imports of test_api with test 2019-09-26 22:52:20 +02:00
Simon Binder a6cfc5fdd8
Better types for nested expressions, more 2.0 docs 2019-09-26 22:46:19 +02:00
Simon Binder c4f321748a
Prepare release for sqlparser 0.3.0 2019-09-25 20:19:39 +02:00
Simon Binder 2a782a010e
Resolve types of columns in compound select statements 2019-09-25 19:46:39 +02:00
Simon Binder f6a5009380
Report errors when ORDER or LIMIT is used in compound stmt 2019-09-25 18:08:24 +02:00
Simon Binder 0cbac2ee37
Parse compound select statements 2019-09-25 14:58:44 +02:00
Simon Binder d9c2b5f342
Parse JOIN and INDEXED as identifiers when appropriate 2019-09-25 11:37:03 +02:00
Simon Binder bf6d60b170
Fix column parser not accepting columns without type 2019-09-24 22:45:18 +02:00
Simon Binder ba21a594af
Fix autocomplete and suggestions in the analyzer plugin 2019-09-24 20:50:23 +02:00
Simon Binder 1bdfa0289b
Make the parser set a span on each AST node. 2019-09-18 21:36:25 +02:00
Simon Binder 1bd856e9c5
Fix scanner crashing when the last line contains a comment 2019-09-18 20:53:49 +02:00
Simon Binder 7121bac866
More work on the analyzer plugin
- finish migration to refactored generator
- document how to use the analysis plugin
- better error reporting without redundant messages
2019-09-18 20:48:44 +02:00
Simon Binder 00b2956b35
Allow data class names to be overridden in sql
Closes #147
2019-09-17 15:23:24 +02:00
Simon Binder 746b8401ec
Scan comments in sql 2019-09-16 22:33:36 +02:00
Simon Binder 5f2d5d3258
Parse <expression> IN (<select-stmt>) again 2019-09-15 21:41:32 +02:00
Simon Binder 25ceda3505
Report lints about invalid Dart Templates in SQL 2019-09-15 11:59:47 +02:00
Simon Binder 3abfbd5963
Don't parse tuples as expressions 2019-09-15 11:19:32 +02:00
Simon Binder c95a3badb2
Infer types for dart placeholder expressions
Also, infer where clauses to have a bool type
2019-09-14 22:44:20 +02:00
Simon Binder 349b245089
Write implementation for Dart placeholders 2019-09-14 16:42:24 +02:00
Simon Binder bf7c9feddf
Write parameter declarations for Dart placeholders 2019-09-14 12:26:58 +02:00
Simon Binder f171098789
Parse Dart placeholders based on their context 2019-09-14 11:44:15 +02:00
Simon Binder 7a8191fe7e
Fix moor queries not expanding array vars properly 2019-09-14 09:27:36 +02:00
Simon Binder 4c250c8f40
Parse dart template expressions and limit clauses 2019-09-13 23:08:29 +02:00
Simon Binder 44a2319bba
Improve variable tokenization for easier parsing logic 2019-09-13 22:48:55 +02:00
Simon Binder 6a0716daaf
Handle import statements and declared queries in .moor 2019-09-12 19:51:15 +02:00
Simon Binder a5cecd3ba6
Support moor file AST in the plugin 2019-09-09 20:34:14 +02:00
Simon Binder 1b7721a98f
Plugin: Import assists for column nullability 2019-09-08 21:36:26 +02:00
Simon Binder e807822f3f
Make plugin operate on the new MoorFile AST node 2019-09-08 10:29:59 +02:00
Simon Binder 7354b56712
Merge branch 'develop' into analyzer-plugin
# Conflicts:
#	moor_generator/lib/src/analyzer/moor/parser.dart
#	sqlparser/lib/src/engine/sql_engine.dart
2019-09-07 23:05:36 +02:00
Simon Binder a62c076c4c
Suggest CREATE TABLE statements in moor files 2019-09-07 22:49:23 +02:00
Simon Binder ee9b413e5d
Start experimenting with auto-completion features 2019-09-07 22:18:45 +02:00
Simon Binder 35e5bdb317
Introduce new top-level ast node for moor files 2019-09-07 21:33:56 +02:00
Simon Binder 1ed1e3ba94
Parse declared statements in moor files 2019-09-07 20:26:51 +02:00
Simon Binder 8268867369
Fix analyzer errors, re-run build_runner 2019-09-07 20:01:33 +02:00
Simon Binder 1fcc6facee
Implement basic functionality of the analyzer plugin 2019-09-07 18:49:11 +02:00
Simon Binder b550afd68f
Merge branch 'develop' into analyzer-plugin
# Conflicts:
#	moor_generator/lib/src/parser/moor/moor_analyzer.dart
2019-09-07 11:31:34 +02:00
Simon Binder 6ccaad866b
Parse import statements in moor files 2019-09-05 10:52:33 +02:00
Simon Binder ba772ef07f
Better error handling when parsing multiple sql statements 2019-09-03 21:24:59 +02:00
Simon Binder fcdbc309b7
Fix resolver not finding window expressions 2019-08-30 19:36:23 +02:00
Simon Binder 4af370f0cb
Tests: Verify that an executor is open when used. 2019-08-30 19:32:44 +02:00
Simon Binder 876db0671e
Provide lints on insert statements that will fail 2019-08-29 21:09:20 +02:00
Simon Binder 241baed0c3
Generate query implementations for insert statements 2019-08-29 16:27:55 +02:00
Simon Binder dd8b4ab03a
Infer types for insert statements 2019-08-29 15:32:45 +02:00
Simon Binder 2f8dc6d68e
Parse insert statements 2019-08-29 15:04:39 +02:00
Simon Binder 5d2149d727
Parse MAPPED BY constraints for moor files 2019-08-27 12:33:48 +02:00
Simon Binder aa13aad276
Introduce moor-specific tokens for type converters 2019-08-27 12:15:32 +02:00
Simon Binder 3612c78241
Introduce special token class for keywords 2019-08-27 11:54:56 +02:00
Simon Binder 4b0add64de
Provide better error messages at unknown tables 2019-08-26 22:26:38 +02:00
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