Commit Graph

376 Commits

Author SHA1 Message Date
Simon Binder 62a363105a
Refactor Insertables to avoid covariant parameters 2020-04-17 18:02:05 +02:00
Simon Binder a553dcf10e
Fix query streams with rxdart 0.24 (#500) 2020-04-17 12:16:28 +02:00
Simon Binder 49f7dc059f
Test to ensure failing migration throws 2020-04-16 17:32:20 +02:00
Simon Binder 424c2febda
Support async batch callbacks (#483) 2020-04-10 12:42:09 +02:00
Simon Binder 72e65611a7
Respect transitive imports when resolving moor converters
Might fix an error discovered in #482
2020-04-09 22:28:40 +02:00
Simon Binder eac461486e
Tests for nested results 2020-04-03 21:41:16 +02:00
Simon Binder 1340e9291c
Generate code for nested results (#288) 2020-04-03 21:31:27 +02:00
Simon Binder aed9b40c30
Improve table updates issued by batches
Fixes #460
2020-03-29 21:57:55 +02:00
Simon Binder 5ec5a4933c
Fix parsing Uint8Lists from json (#459) 2020-03-27 11:52:00 +01:00
Simon Binder cdd57f340d
Automatically migrate from local storage to IndexedDb 2020-03-23 13:36:08 +01:00
Simon Binder dd74948e1a
Properly support transactions in migrations 2020-03-15 21:42:22 +01:00
Simon Binder 60d3bf05e1
Remove coupling between QueryExecutor and generated db
Closes #372
2020-03-15 14:55:02 +01:00
Simon Binder b2285e04ef
Fix limit clause not being copied to join (#433) 2020-03-08 12:03:34 +01:00
Simon Binder e773adab59
Fix beforeOpen on background isolate (#431) 2020-03-07 17:54:36 +01:00
Simon Binder 3002d87bcb
New tableUpdates stream method on QueryEngine (#394) 2020-03-04 22:43:41 +01:00
Simon Binder 2811d91fa1
Migrate stream store to table updates 2020-03-04 22:08:58 +01:00
Simon Binder b823f534c8
Write update kind for compiled update and delete queries 2020-03-04 21:28:08 +01:00
Simon Binder b0b9a0ed47
Generate more accurate update rules for triggers 2020-03-04 20:59:03 +01:00
Simon Binder 0b0d5792fd
Allow more specific updates in stream queries 2020-03-04 20:28:31 +01:00
Simon Binder 2650b7a24b
Add simple test for runtime rule propagation 2020-03-04 16:57:51 +01:00
Simon Binder 545fbcc86a
Find and generate update rules during builds 2020-03-04 16:34:16 +01:00
Simon Binder 3fe6fbfc99
Support table-update propagation at runtime 2020-03-04 16:09:01 +01:00
Simon Binder c8f4f739e9
Support for REGEXP (#410) 2020-03-04 13:48:25 +01:00
Simon Binder d7bb4f51e6
Merge branch 'dont-use-double-quoted-strings' into develop 2020-02-25 14:17:38 +01:00
Simon Binder aa98774eae
Don't generate double-quoted string literals 2020-02-25 14:15:31 +01:00
Simon Binder 23585ad920
Don't await StreamController.close() when closing streams 2020-02-19 20:01:24 +01:00
Simon Binder 36bf6524df
Some more unit tests for the core moor package 2020-02-19 15:01:33 +01:00
Simon Binder 11d5a78606
Document how to use the new moor_ffi functions 2020-02-19 12:45:15 +01:00
Simon Binder e536761295
Add Dart apis for mathematical functions in moor_ffi 2020-02-18 22:36:08 +01:00
Simon Binder 33faf4e962
Fix tests in moor 2020-02-18 22:21:09 +01:00
Simon Binder ad5ef7e66b
Remove top-level isIn and isNotIn methods 2020-02-17 21:15:31 +01:00
Simon Binder e2b65e968a
Rename customSelectQuery to just customSelect
Also fix a crash in the builder
2020-02-17 20:43:42 +01:00
Simon Binder 8c4c6cd8cd
Remove insertAll and orReplace 2020-02-17 18:11:01 +01:00
Simon Binder 11af414551
Remove the second type parameter on expressions 2020-02-17 18:05:24 +01:00
Simon Binder f15f004ba8
Remove top-level boolean and datetime functions 2020-02-17 17:17:46 +01:00
Simon Binder 2b96100480
Isolates: Throw error when using in closed state 2020-02-04 19:38:45 +01:00
Simon Binder a5451104a0
Map companions back to models 2020-02-03 19:35:39 +01:00
Simon Binder a43f6bdb91
Tests for pooled connections, move to main lib 2020-02-03 19:13:51 +01:00
Simon Binder f9424470a5
Support int -> double conversion in the default serializer 2020-01-31 10:28:01 +01:00
Simon Binder 48aebc0b54
Fix closing behavior of stream queries in isolates 2020-01-30 23:07:45 +01:00
Simon Binder 68e2b716fe
Support stream queries in transactions (#365) 2020-01-30 22:08:18 +01:00
Simon Binder 01326deb7b
Fix crash when using a no-op transaction (#361) 2020-01-29 22:03:29 +01:00
Simon Binder a37a653e43
Support calling join on a JoinedSelectStatement 2020-01-28 21:32:30 +01:00
Simon Binder d4cf9c26eb
Also run tests for moor on chrome and firefox 2020-01-27 16:58:48 +01:00
Simon Binder 80a10c73d8
Test case to ensure legacy updates with data classes work 2020-01-27 14:22:03 +01:00
Simon Binder 27430cbb07
Add table-valued query to test moor file 2020-01-26 15:37:46 +01:00
Simon Binder 80ced55d32
Improve api for "group by" statements, documentation 2020-01-25 21:56:09 +01:00
Simon Binder 5f91667a24
Update moor file integration test for type converters 2020-01-25 16:03:46 +01:00
Simon Binder de38761db9
Support type converters in moor files (#103) 2020-01-25 15:43:55 +01:00
Simon Binder 9acef7a678
Support aggregate expressions in the Dart api 2020-01-24 22:09:09 +01:00
Simon Binder 064a57d381
Fix clientDefaults logic, some more tests for core pkg 2020-01-21 11:07:05 +01:00
Simon Binder 1b60879a09
Fix unnecessary re-query when subscriptions switch (#329) 2020-01-09 16:14:20 +01:00
Simon Binder cefa290d7e
Batch: Delete method for insertables 2020-01-08 12:14:04 +01:00
Simon Binder c2ec06c1de
Fix transaction behavior on isolates (#324) 2020-01-07 14:57:42 +01:00
Simon Binder c5c8dc7d6d
Support delete statements in batches
Closes #325
2020-01-07 11:40:43 +01:00
Simon Binder 373ad320c4
Support @create-queries in moor files 2020-01-03 22:15:40 +01:00
Simon Binder 00c1d2a2e7
Migrator support for indexes, tests 2020-01-03 20:08:10 +01:00
Simon Binder 3ad03d9dc6
Test that triggers can be created manually 2020-01-03 15:55:28 +01:00
Simon Binder 8df6ab3a14
Generate fields for triggers 2020-01-03 15:47:18 +01:00
Simon Binder 3ee05bf647
Respect tables in the body of a CREATE TRIGGER statement 2020-01-03 15:38:13 +01:00
Simon Binder 75cbe74b53
Make "new" and "old" table available for triggers 2020-01-01 20:37:34 +01:00
Simon Binder 49550c2f74
Test to verify CREATE TRIGGER statements are issued 2020-01-01 19:42:44 +01:00
Simon Binder 8b86143ebb
Generate code for triggers 2019-12-31 16:03:03 +01:00
Simon Binder 04f75d11d3
Migrate some trigger code to refactorings on develop 2019-12-30 21:38:24 +01:00
Simon Binder ba603f22cc
Merge branch 'develop' into views-triggers-indexes
# Conflicts:
#	moor/lib/moor.dart
#	moor/lib/src/runtime/api/query_engine.dart
#	moor/lib/src/runtime/query_builder/schema/entities.dart
#	moor/test/data/tables/custom_tables.g.dart
#	moor/test/data/tables/tables.moor
#	moor/test/parsed_sql/moor_files_integration_test.dart
#	moor_generator/lib/src/analyzer/moor/parser.dart
#	moor_generator/lib/src/analyzer/runner/steps.dart
#	moor_generator/lib/src/analyzer/runner/steps/analyze_dart.dart
#	moor_generator/lib/src/model/specified_db_classes.dart
#	moor_generator/lib/src/writer/database_writer.dart
#	sqlparser/lib/src/ast/ast.dart
#	sqlparser/lib/src/ast/statements/create_table.dart
#	sqlparser/lib/src/ast/statements/statement.dart
#	sqlparser/lib/src/reader/parser/schema.dart
#	sqlparser/lib/src/reader/tokenizer/token.dart
#	sqlparser/test/engine/autocomplete/static_test.dart
2019-12-30 21:08:32 +01:00
Simon Binder e9cada5e54
Api to globally override the default ValueSerializer
Closes #303
2019-12-27 18:17:45 +01:00
Simon Binder 72934d1b87
Check isRequired at compile time, save verification code 2019-12-25 22:26:32 +01:00
Simon Binder 5314520746
clientDefault values for columns #294 2019-12-25 22:22:46 +01:00
Simon Binder 9dbd737087
Integration test for fts5 queries 2019-12-25 14:00:47 +01:00
Simon Binder 633570257c
Fix moor tests for new column-$write behavior 2019-12-23 13:58:00 +01:00
Simon Binder 28e8421aba
Test to ensure hasMultipleTables has the correct effect 2019-12-21 22:59:44 +01:00
Simon Binder 1f0ede967b
Add missing call to shutdownAll in test case 2019-12-21 18:10:55 +01:00
Simon Binder 8987da453b
Test that streams synchronize over multiple isolates 2019-12-21 18:04:01 +01:00
Simon Binder c07ca12273
Set hasMultipleTables: true when appropriate 2019-12-21 14:57:36 +01:00
Simon Binder 2c57a80771
Revert using mapFromRow() for matched tables in queries 2019-12-21 14:51:22 +01:00
Simon Binder 0d4cf13001
Factories for easier ordering terms (#284) 2019-12-18 15:59:28 +01:00
Simon Binder 76ac7c7ab3
Support batches in transactions (#271) 2019-12-16 15:50:12 +01:00
Simon Binder 94634bd48b
Support custom fts5 queries 2019-12-12 18:56:37 +01:00
Simon Binder 8ee3029ed0
Save database after opening (fixes #273) 2019-12-11 11:18:59 +01:00
Simon Binder 2c97373bdd
Support implicit-dynamic: false
Closes #268
2019-12-10 20:38:08 +01:00
Simon Binder 74ebb8a9ab
Ability to create fts5 tables in moor files (#196) 2019-12-10 20:24:08 +01:00
Simon Binder 67c3715768
Fix another test regarding Dart components in sql 2019-12-07 18:06:42 +01:00
Simon Binder 4ee228d5a6
Write table name for columns in components (#269) 2019-12-07 13:38:33 +01:00
Simon Binder 3c74a20f56
Enable more recent lints and enforce them 2019-12-04 21:45:09 +01:00
Simon Binder 092f64d7cf
Escape column names during insert 2019-12-02 21:40:41 +01:00
Simon Binder a0ce3421c9
Resolve json functions when option is set (#235) 2019-11-28 21:50:55 +01:00
Simon Binder 59f408229b
Dart apis for the json1 extension (#235) 2019-11-28 19:13:51 +01:00
Simon Binder 925d28c080
Always run batches inside a transaction 2019-11-27 12:06:19 +01:00
Simon Binder bb1fcc1590
Fix analyzer crash at CTE (#255) 2019-11-24 14:46:20 +01:00
Simon Binder 8819245685
Resolve Dart expressions in moor files 2019-11-18 13:59:10 +01:00
Simon Binder 0a96769dcb
Override hashCode and operator == in common expressions 2019-11-16 20:54:34 +01:00
Simon Binder 7609df34f0
Support selecting custom expressions 2019-11-16 16:38:02 +01:00
Simon Binder c0aa88f4d0
Warn when a database class isn't used as a singleton 2019-11-15 09:52:38 +01:00
Simon Binder bc3910cd86
Collect coverage for the MoorIsolate tests 2019-11-13 18:35:48 +01:00
Simon Binder bea001bb16
Improve test coverage for query generation 2019-11-12 21:16:48 +01:00
Simon Binder 85fa0d4764
Update docs to reflect the new extension-based API 2019-11-09 21:16:24 +01:00
Simon Binder ba6411e6f0
Expose UPPER, LOWER and LENGTH functions from the Dart API 2019-11-09 18:53:15 +01:00
Simon Binder 4a2b02782e
Make streams emit errors when they can't fetch data (#233) 2019-11-09 16:34:01 +01:00
Simon Binder 5b3bcb1916
Introduce extension for DateTime expressions 2019-11-09 13:07:49 +01:00
Simon Binder 17210f7bee
Don't write all parentheses (compare precedence, #231) 2019-11-08 21:49:23 +01:00
Simon Binder b211d68661
Arithmetic operators for sql expressions in Dart 2019-11-08 20:43:52 +01:00
Simon Binder 77cc6b2d88
Use extensions methods for Dart query api (#195) 2019-11-06 12:16:55 +01:00
Simon Binder e3d3bcd99e
Proper api to terminate a MoorIsolate 2019-11-05 21:36:51 +01:00
Simon Binder c7fdf44a6e
Support transactions and batches for the isolate api 2019-11-05 20:22:55 +01:00
Simon Binder 98470109cf
Remove built_value(_generator) dependency from generator 2019-11-04 17:09:21 +01:00
Simon Binder 9f1aafbcef
Expand batch api to update statements (#221) 2019-11-02 21:48:37 +01:00
Simon Binder f3221e09bc
Support stream queries across isolates 2019-10-30 21:10:53 +01:00
Simon Binder a2c7c11abf
Support executing queries over isolates 2019-10-30 20:32:08 +01:00
Simon Binder 5cc1f85441
Inject mock streams via .connect constructor 2019-10-30 19:25:26 +01:00
Simon Binder e8b4f8347c
Refactor: Put all query gen code into one compilation unit 2019-10-24 21:54:36 +02:00
Simon Binder cf671ac56b
Expand documentation, support DISTINCT selects (#205) 2019-10-24 21:12:31 +02:00
Simon Binder ddabf21d01
Verify that triggers can be created 2019-10-21 18:39:52 +02:00
Simon Binder 8a54fd4729
Generate code for CREATE TRIGGER statements 2019-10-21 18:13:28 +02:00
Simon Binder ccf208b329
Support additional insert modes 2019-10-21 17:14:58 +02:00
Simon Binder 1f8dfbe887
Call doWhenOpened for customStatement (#199) 2019-10-20 11:39:24 +02:00
Simon Binder fd27c878d4
Fix errors in sqlparser that were swallowed before 2019-10-19 16:41:30 +02:00
Simon Binder 263004fe7b
Option to use the column name as json key in moor files
Closes #176
2019-10-17 21:44:20 +02:00
Simon Binder 438f979ed1
Use a mixin for auto increment columns in test file 2019-10-11 22:12:28 +02:00
Simon Binder e66eaa6127
Merge pull request #181 from minia68/master
Make transaction return a value
2019-10-10 17:06:05 +02:00
Ryzhkov Sergey c0d75f1654 make transaction return value 2019-10-10 16:52:09 +03:00
Simon Binder 47f8dbb90d
Make streams emit cached data for multiple listeners
Fixes #178
2019-10-09 22:39:19 +02:00
Simon Binder 5510a90583
Fix warnings (2.6-dev SDK), escape \r, constant workaround 2019-10-09 19:48:52 +02:00
Simon Binder 6e32e37dd7
Remove unnecessary type parameter on createCompanion 2019-10-05 22:41:23 +02:00
Simon Binder ed03bff4c2
Recognize boolean and datetime column in moor 2019-10-05 21:24:41 +02:00
Simon Binder fb7c3c2a9a
Dart API for between expressions (closes #159) 2019-10-05 13:38:34 +02:00
Simon Binder b0d69f346f
Make StartWithValueTransformer subscribe in same microtask 2019-10-03 11:39:12 +02:00
Simon Binder c2845cb248
Invalidate cached stream data on update (#166) 2019-10-03 11:28:44 +02:00
Simon Binder 869aaada90
Unit tests for row.read* 2019-09-29 16:33:09 +02:00
Simon Binder 4137f6cffa
Write unit tests for DelegateDatabase 2019-09-29 16:21:09 +02:00
Simon Binder 308167dc12
Support mapping BLOBs to literals 2019-09-29 15:18:11 +02:00
Simon Binder b684a7be69
Replace imports of test_api with test 2019-09-26 22:52:20 +02:00
Simon Binder b62ed05a87
Make the lazy executor pass on the GeneratedDatabase 2019-09-20 20:46:54 +02:00
Simon Binder 87c50de1e1
Add LazyDatabase wrapper to create a database async 2019-09-20 20:23:35 +02:00
Simon Binder 161f7c0203
Optionally override hashCode and equals in result sets 2019-09-20 19:31:36 +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 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 928c9832b5
Move ffi bindings into new moor_ffi package 2019-09-14 20:54:13 +02:00
Simon Binder 9e498fb575
Merge branch 'ffi' into develop
# Conflicts:
#	moor/lib/src/runtime/executor/helpers/engines.dart
2019-09-14 19:23:37 +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 29c0cdaf3f
Write integration test for Dart templates 2019-09-14 16:48:51 +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 138652fdc4
Remove DiffUtil and MoorAnimatedList 2019-09-13 21:06:11 +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 1130101f1f
Support writing string literals from Constant<String>
Fixes #137
2019-09-06 22:37:15 +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