Commit Graph

227 Commits

Author SHA1 Message Date
Simon Binder 4e166f189c
Colorize errors in moor files again 2019-09-18 21:40:19 +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 2bf42a6157
Resolve table references declared by foreign key clause 2019-09-16 19:36:56 +02:00
Simon Binder 25ceda3505
Report lints about invalid Dart Templates in SQL 2019-09-15 11:59:47 +02:00
Simon Binder 5b6bd1db37
Fix some queries with Dart templates not compiling 2019-09-15 10:51:35 +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 e89f9227ab
Don't write ResultSet classes for single-column queries
Fixes #148
2019-09-14 19:03:52 +02:00
Simon Binder 54c3dbc4b8
Write variables created in a dart template 2019-09-14 17:48:17 +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 7a8191fe7e
Fix moor queries not expanding array vars properly 2019-09-14 09:27:36 +02:00
Simon Binder e9225cf759
Always generate private watch methods 2019-09-13 21:11:17 +02:00
Simon Binder c8ae99b52e
Breaking changes for the upcoming version
1. Removes transaction parameter in callbacks, custom queries
2. Removes MigrationStrategy.onFinished
2019-09-13 21:04:15 +02:00
Simon Binder 3097bb0591
Don't write get/watch methods for queries declared in moor 2019-09-13 20:23:48 +02:00
Simon Binder 8ff5a7625e
Write another integration test with cyclic queries 2019-09-13 20:15:55 +02:00
Simon Binder e50e7b3f21
Write integration test for tables feature 2019-09-13 20:01:09 +02:00
Simon Binder 156ef1ceb5
Support queries declared in .moor files 2019-09-12 21:08:30 +02:00
Simon Binder 6a0716daaf
Handle import statements and declared queries in .moor 2019-09-12 19:51:15 +02:00
Simon Binder f3db52717f
Extract steps into multiple files 2019-09-12 19:09:56 +02:00
Simon Binder b8cca3dcc2
Migrate AS plugin and build backend to new task api 2019-09-12 16:01:28 +02:00
Simon Binder e394292978
Refactor the backend (again)
We now have a two-pass parsing and analyzing model that
supports (zyklic) imports between Dart and moor files.
2019-09-11 23:00:46 +02:00
Simon Binder 28f13abfc3
Fix type converters loosing generic information
Fixes #144
2019-09-11 21:30:42 +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 d79b04193c
Report syntax errors in moor files from the plugin 2019-09-08 11:22:36 +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 35e5bdb317
Introduce new top-level ast node for moor files 2019-09-07 21:33:56 +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 10dca6a8a9
Migrate analysis plugin to refactored generator 2019-09-07 15:19:40 +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 71d1bfdc9c
Scaffold api to support type converters in moor files
I still don't know how to parse expressions though :(
2019-09-06 22:23:44 +02:00
Simon Binder ba772ef07f
Better error handling when parsing multiple sql statements 2019-09-03 21:24:59 +02:00
Simon Binder 867f953107
Merge branch 'develop' into refactor-generator
# Conflicts:
#	moor_generator/lib/src/analyzer/sql_queries/lints/linter.dart
2019-09-03 19:35:23 +02:00
Simon Binder 35fcdb2c0f
Implement error handling in the refactored builder 2019-09-03 19:30:05 +02:00
Simon Binder 74dc2e5404
Finish refactoring of moor_generator 2019-09-02 20:28:57 +02:00
Simon Binder ad8bdba4b8
Start migration of writer code 2019-09-02 17:26:30 +02:00
Simon Binder 6e89a319ad
Refactored parser can now parse Dart tables 2019-08-31 12:22:25 +02:00
Simon Binder 23fca61961
Start with some refactoring in the generator
The idea is that we have a setup that let's us use multiple backends (build, analyzer plugin, standalone) with maximum code sharing.
2019-08-30 23:09:22 +02:00
Simon Binder 876db0671e
Provide lints on insert statements that will fail 2019-08-29 21:09:20 +02:00
Simon Binder 3cb00a4b31
Remove unnecessary "this." in insert companion constructor 2019-08-29 16:33:15 +02:00
Simon Binder 241baed0c3
Generate query implementations for insert statements 2019-08-29 16:27:55 +02:00
Simon Binder 4e83c0275b
Generate constructor for companions with @required fields 2019-08-29 13:54:08 +02:00
Simon Binder 0860b6645a
Generate selectable for custom queries
This makes is easier to use getSingle() and watchSingle()
on them.
Fixes #120
2019-08-27 18:44:34 +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 37672dad2d
Bump moor dependency in moor_generator 2019-08-26 15:30:51 +02:00
Simon Binder b1e6d931d5
Prepare release 1.7.1 2019-08-25 22:44:28 +02:00
Simon Binder 397d3f2383
Support absent values on INTEGER PRIMARY KEY 2019-08-23 22:50:15 +02:00
Simon Binder 8bbfea305c
Drop support for analyzer versions <0.37.0
We use MethodInvocation#typeArgumentTypes, which was introduced in version 0.37.0
2019-08-23 22:37:29 +02:00
Simon Binder e38719a194
Write changelogs, prepare release 1.7 2019-08-22 12:27:39 +02:00
Simon Binder 367cc5cbb9
Merge branch 'develop' into beta 2019-08-20 15:36:38 +02:00
Simon Binder a2c7b14862
Introduce flag to generate private watch methods 2019-08-19 19:04:15 +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 e97efdf928
Support analyzer version 0.38 in the generator 2019-08-17 21:15:40 +02:00
Simon Binder 7ebd49a067
Merge branch 'develop' into beta 2019-08-16 16:30:41 +02:00
Simon Binder 4ce9e12c0e
Write copyWith methods in companion classes
Fixes #102
2019-08-16 15:01:03 +02:00
Simon Binder c7a0397fb6
Verify that generated queries don't skip indexes 2019-08-16 14:44:40 +02:00
Simon Binder 7d89f12aa7
Use explicit indices for array parameters 2019-08-15 21:26:27 +02:00
Simon Binder aa6fea6caa
Fix wrong double primary key on generated tables 2019-08-01 20:14:42 +02:00
Simon Binder f4bd6828a9
Some more fixes on the analyzer
Sadly, the analyzer doesn't support custom file types yet,
so that's it for the moor analyzer plugin for now.
2019-07-31 18:05:54 +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 4e75cee785
Merge branch 'develop' into analyzer-plugin 2019-07-30 14:17:37 +02:00
Simon Binder b1820ef5aa
Generate code to match default values for CREATE TABLE 2019-07-30 10:30:06 +02:00
Simon Binder aa3706ae9d
Support table constraints in CREATE TABLE 2019-07-30 10:13:47 +02:00
Simon Binder 3819eae1e8
Merge branch 'develop' into analyzer-plugin 2019-07-29 18:08:21 +02:00
Simon Binder 634b1adb72
Support includes on the @UseDao annotation as well 2019-07-29 15:19:58 +02:00
Simon Binder e0a82b0e32
Finally generate table classes from sql 2019-07-29 14:22:39 +02:00
Simon Binder 4798d0a7e5
Parse specified tables from .moor files 2019-07-29 12:54:49 +02:00
Simon Binder 5ddcd17c21
Scaffold the package layout of a future analyzer plugin 2019-07-29 10:27:50 +02:00
Simon Binder b4cdcf0431
Support type converters in compiled custom statements 2019-07-28 00:02:17 +02:00
Simon Binder dbda5dccc1
Cache type converters in static fields 2019-07-27 22:44:44 +02:00
Simon Binder 6acc81c88b
Merge branch 'master' into develop
# Conflicts:
#	moor_generator/lib/src/parser/table_parser.dart
2019-07-20 23:25:18 +02:00
Simon Binder c88a5d87e3
Actually support analyzer 0.37 in moor_generator 2019-07-20 23:17:11 +02:00
Simon Binder 1b4df63694
Actually support analyzer 0.37 in moor_generator 2019-07-20 23:10:58 +02:00
Simon Binder 37cba6971c
Attempt to fix coverage collection 2019-07-20 22:15:52 +02:00
Simon Binder 35e6ed67df
Use new GeneratorSession for the writer 2019-07-20 10:18:41 +02:00
Simon Binder e6cf035ad2
Put dao parser in own file 2019-07-18 20:27:07 +02:00
Simon Binder 001de4dc79
Extract logic out of moor generator in some smaller files 2019-07-18 18:17:58 +02:00
Simon Binder c5e9e8cfc8
Start generator refactoring
Remove global shared state in favor of sessions that are only valid for a single build step.
2019-07-18 18:01:27 +02:00
Simon Binder ff93af231c
Write correct mapping code for custom objects 2019-07-18 12:53:26 +02:00
Simon Binder bf4d16add6
Write verification and to-sql mapping for custom columns 2019-07-18 12:21:10 +02:00
Simon Binder c2bff3ae42
API and parser for custom types 2019-07-18 12:02:16 +02:00
Simon Binder f108090f7b
Release version 1.6 2019-07-13 10:50:53 +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 0e7ee6114b
Avoid writing duplicate mapping methods 2019-07-10 19:37:15 +02:00
Simon Binder 02a8dabd63
Fix crash when variables appear more than once 2019-07-10 18:25:18 +02:00
Simon Binder df05e643e0
Migrate example to 1.6, update readme 2019-07-10 17:55:57 +02:00
Simon Binder 809f239ca3
Generate code for array variables in compiled statements 2019-07-07 16:04:55 +02:00
Simon Binder 2a51a04cc8
Remove usage of ParsedLibraryResultImpl.tmp 2019-07-05 18:36:05 +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 2487c64c08
RELEASE 1.5
- Analyzed custom queries
- Better callbacks
- Update companions
2019-07-01 22:24:38 +02:00
Simon Binder 3dddc6993a
Remove outdated todo entries 2019-07-01 21:37:08 +02:00
Simon Binder 464754267e
Document new features for version 1.5 2019-06-30 22:16:58 +02:00
Simon Binder f5492b8bcb
Generate code for update and delete statements 2019-06-30 19:34:54 +02:00
Simon Binder f8834f0e15
More fluent api to define queries 2019-06-30 13:35:13 +02:00
Simon Binder b4de942915
Write query engine override param for generated queries
This allows them to be used in transactions and post-
migration callbacks.
2019-06-30 13:09:07 +02:00
Simon Binder 53ea5835a8
For custom queries, use a matching data class if possible 2019-06-30 12:01:46 +02:00