Commit Graph

556 Commits

Author SHA1 Message Date
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
David Martos 4a1a3a805c Add docs to the onUpgrade callback about handling schema version downgrades 2020-03-03 23:28:21 +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 10b12a5976
Remove two more tiny deprecated members 2020-02-17 21:22:43 +01:00
Simon Binder 64bbbde689
Remove deprecated members of CustomSelectStatement 2020-02-17 21:17:51 +01:00
Simon Binder ad5ef7e66b
Remove top-level isIn and isNotIn methods 2020-02-17 21:15:31 +01:00
Simon Binder d43e227757
Make eager ast resolving behavior opt-in 2020-02-17 21:05:56 +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 9e1a12432a
Don't export core moor from moor_web 2020-02-17 17:11:34 +01:00
Simon Binder 7c62d6cdd1
Provide IndexedDB backend on the web (#390) 2020-02-16 13:26:25 +01:00
Simon Binder 57fa1d50c6
Release moor and moor_generator 2.4.0, sqlparser 0.7.0 2020-02-12 21:01:41 +01:00
Simon Binder b295542a07
Prepare release for 2.4 2020-02-10 19:46:27 +01:00
Simon Binder b30c21e577
Mention non-shared builder in changelog 2020-02-08 20:43:57 +01:00
Simon Binder 4002898f26
Remove outdated web example 2020-02-06 22:24:48 +01:00
Simon Binder aa52c4ba3d
Analysis for upsert clauses 2020-02-05 12:26:14 +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 9494768a32
Start work on pooled connections 2020-02-01 15:56:30 +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 c3219de989
Tests: Start firefox in headless mode 2020-01-27 19:42:11 +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 75e48303e8
Add changelog entry for table-valued functions 2020-01-26 15:40:09 +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 4685059b14
Documentation for type converters in moor files 2020-01-25 16:17:56 +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 59134e42db
Merge branch 'master' into develop 2020-01-21 21:09:53 +01:00
Simon Binder 257cfaca2e
Finish changelog and pubspec for 2.3 release 2020-01-21 17:55:41 +01:00
Simon Binder 064a57d381
Fix clientDefaults logic, some more tests for core pkg 2020-01-21 11:07:05 +01:00
Simon Binder 83a3344719
Initializer for web databases (#328) 2020-01-18 12:26:47 +01:00
Simon Binder d0cb2eec37
Add analyze command to moor cli tool, documentation site 2020-01-16 23:10:05 +01:00
Simon Binder 4a2184110f
Run tests for types1 for types2 resolver 2020-01-16 22:07:02 +01:00
Simon Binder 8ae68707f8
Smarter many-to-one propagation in types2 2020-01-15 22:10:18 +01:00
Simon Binder ddda6797e1
types: Analyze functions 2020-01-13 20:40:46 +01:00
Simon Binder 5d8040554f
CLI tool to export a moor schema to json 2020-01-12 10:38:03 +01:00
Rody Davis 43316c1e47 Update moor_shared url (#330)
Update documentation to reflect the updated url

Co-authored-by: Simon Binder <oss@simonbinder.eu>
2020-01-09 21:11:30 +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 c95a5f0aad
New type resolver: Start propagating known types 2020-01-04 13:22:29 +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 5b04a08786
Generate code for indices 2020-01-03 19:36:38 +01:00
Simon Binder fc0949ebd1
CI: Fix analysis script 2020-01-03 16:18:25 +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
Gabriel Terwesten 0cbeb3036d docs(DataClassName): fix template name 2020-01-03 14:14:50 +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 22525b24c3
Documentation for new moor features 2019-12-30 19:06:58 +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 b79c1c1f57
More docs, try to fix pana warnings 2019-12-24 13:48:51 +01:00
Simon Binder 633570257c
Fix moor tests for new column-$write behavior 2019-12-23 13:58:00 +01:00
Simon Binder e01b7a1b88
Remove author from pubspec, bump version for next release 2019-12-23 12:52:46 +01:00
Simon Binder 3f0c35abff
Improve changelog, error description for columns 2019-12-23 12:24:22 +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 c9071f2f7d
Explain that most work happens on develop 2019-12-20 18:15:52 +01:00
Simon Binder 8f15356357
Merge branch 'master' into develop
# Conflicts:
#	moor/CHANGELOG.md
#	moor/test/data/tables/custom_tables.g.dart
#	moor/test/data/tables/tables.moor
#	moor_generator/lib/src/analyzer/runner/task.dart
#	moor_generator/lib/src/backends/build/moor_builder.dart
#	moor_generator/test/analyzer/moor/cfe_test.dart
2019-12-18 22:04:50 +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 6b776d47d7
Documentation for the json1 and fts5 extensions 2019-12-14 12:39:39 +01:00
Simon Binder 94634bd48b
Support custom fts5 queries 2019-12-12 18:56:37 +01:00
Simon Binder e983e4da63
Publish moor version 2.1.1 2019-12-12 09:54:34 +01:00
Simon Binder 41b32b1684
Fix crash when database is closed with asserts disabled 2019-12-12 09:23:54 +01:00
Simon Binder cf607f0108
Escape column names during insert 2019-12-12 09:23:41 +01:00
Simon Binder f876929ba3
Save database after opening (fixes #273) 2019-12-12 09:21:43 +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 e982593643
dsl: Throw an exception instead of returning null 2019-12-09 19:35:25 +01:00
Simon Binder fb3eb4ee6b
Merge pull request #270 from Elvis5566/store_db_after_custom_statement
Fix table not found exception.
2019-12-07 21:18:07 +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
Elvis Lee 770da50078 [Fix] table not found exception. 2019-12-06 15:06:34 +08: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 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 d2c863c5fc
Fix crash when database is closed with asserts disabled 2019-11-28 17:59:50 +01:00
Simon Binder 139908ba99
Expand documentation on how batches are executed 2019-11-27 20:18:51 +01:00
Simon Binder 925d28c080
Always run batches inside a transaction 2019-11-27 12:06:19 +01:00
Simon Binder 68b516fff4
Fix analyzer crash at CTE (#255) 2019-11-24 21:21:32 +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 a17448683e
Add documentation for custom select expressions 2019-11-16 21:30:48 +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 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 c0aa88f4d0
Warn when a database class isn't used as a singleton 2019-11-15 09:52:38 +01:00
Simon Binder 22c692c69e
Move base dao/db classes, query engine into separate files 2019-11-15 08:53:11 +01:00
Simon Binder e83464df28
Prepare 2.1.0 release 2019-11-13 21:14:38 +01:00
Simon Binder b6d5f7eaa8
Merge branch 'master' into develop 2019-11-13 19:29:02 +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 067212e66c
Make streams emit errors when they can't fetch data (#233) 2019-11-09 19:59:42 +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 82a6fd9f2d
Make sure libsqlite3.so is available for CI tests 2019-11-09 10:45:35 +01:00
Simon Binder 623f3212a1
Use builtin coverage collection from test package 2019-11-08 22:51:53 +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 ef5dde135b
More marketing in readme 2019-11-08 17:32:05 +01:00
Simon Binder 7c9429110f
Reference SDK issue that requires us to hide an extension 2019-11-06 15:33:17 +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 44cb7c0503
Documentation for the isolate executor 2019-11-05 21:19:52 +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 b189a2bcb2
Better errors on QueryExecutor misuse, fix beforeOpen 2019-11-02 11:48:11 +01:00
Simon Binder ed4d69a792
Remove limitations of a beforeOpen callback (#216) 2019-10-31 18:41:15 +01:00
Simon Binder f3221e09bc
Support stream queries across isolates 2019-10-30 21:10:53 +01:00