Commit Graph

146 Commits

Author SHA1 Message Date
Simon Binder b3d381afe6
Rollback transactions when callback throws
Closes #83
2019-07-23 09:06:02 +02:00
Simon Binder 56f8e447bd
Migrate VM database to use the new delegate api 2019-07-22 12:11:38 +02:00
Simon Binder 7229002383
Integration test for the Dart VM 2019-07-20 20:50:09 +02:00
Simon Binder 35e6ed67df
Use new GeneratorSession for the writer 2019-07-20 10:18:41 +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 33f1732ad1
Update schema test to reflect custom column 2019-07-18 12:56:48 +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 364570b0dc
More tests to verify behavior of cached streams 2019-07-12 21:23:28 +02:00
Simon Binder 3407c8e90e
Fix old stream references not emitting data 2019-07-12 20:50:09 +02:00
Simon Binder f0e5ed9a87
Make tables implement equals and hashCode
Fixes #74
2019-07-11 22:02:46 +02:00
Simon Binder 0e7ee6114b
Avoid writing duplicate mapping methods 2019-07-10 19:37:15 +02:00
Simon Binder 91c455d077
Fix (and then, use) the binary encoding to persist data 2019-07-10 19:14:55 +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 d01b5c750f
Fix order in limit expressions with comma
Fixes #73
2019-07-10 17:29:03 +02:00
Simon Binder 3f8fb97b6c
Provide Dart api for COLLATE expressions
For #67
2019-07-08 22:37:13 +02:00
Simon Binder 809f239ca3
Generate code for array variables in compiled statements 2019-07-07 16:04:55 +02:00
Simon Binder 08c5cfd1a8
Make the parameter for the transaction unnecessary 2019-07-07 13:03:15 +02:00
Simon Binder da65f6e8a7
Merge branch 'web' into develop 2019-07-06 15:30:07 +02:00
Simon Binder 3b09d819f9
Make date time values comparable
Fixes #58
2019-07-05 18:47:29 +02:00
Simon Binder 306be497de
Also run tests on popular browsers 2019-07-05 10:22:33 +02:00
Simon Binder d98449407e
Don't always include identical streams 2019-07-05 07:58:23 +02:00
Simon Binder b9e9135ac3
Write "DEFAULT VALUES" in insert when appropriate 2019-07-02 22:42:49 +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 44663d3648
Make `getSingle` and `watchSingle` return null when empty
Closes #47
2019-06-30 22:24:04 +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
Simon Binder 22f78589db
Support custom queries in daos 2019-06-29 15:51:23 +02:00
Simon Binder 53d57d6a96
Refactor generator: Extract common operations 2019-06-29 15:23:14 +02:00
Simon Binder 33682a0ad1
Write readsFrom field for custom queries 2019-06-29 14:04:01 +02:00
Simon Binder 646987ad69
Correctly write variables in analyzed queries 2019-06-29 13:47:33 +02:00
Simon Binder 2a8edbde0d
Write implementation methods for queries 2019-06-29 11:23:06 +02:00
Simon Binder 40a4ebdadf
Started to integrate the sqlparser into moor generator 2019-06-28 23:41:27 +02:00
Simon Binder 6d54a21091
Merge branch 'master' into develop 2019-06-27 10:01:05 +02:00
Simon Binder 3c7e25a169
Fix analysis warning that popped out of nowhere 2019-06-27 09:55:03 +02:00
Simon Binder a6505d691b
Fix deserialization of null datetime values 2019-06-27 09:37:51 +02:00
Simon Binder 6e4f33c931
Apply defaults for absent values during replace 2019-06-25 22:36:31 +02:00
Simon Binder 62c5106e7d
Migrate tests to companion 2019-06-21 20:29:42 +02:00
Simon Binder 0616fb7082
Migrate to update companions everywhere :) 2019-06-21 20:08:42 +02:00
Simon Binder 0abc3993f4
Fully migrate to new update companions 2019-06-21 19:48:18 +02:00
Simon Binder eee11d53d3
Start to migrate verification logic with update companions 2019-06-21 10:48:42 +02:00
Simon Binder ecf6740cb7
Constraints on type parameters for data classes 2019-06-21 10:27:14 +02:00
Simon Binder 6ac9109c0a
Fix dead code in generated update companions 2019-06-21 09:44:38 +02:00
Simon Binder b79611e6e0
Backwards compatibility: Use DataClasses as companion 2019-06-21 09:42:42 +02:00
Simon Binder ec2592203c
Generate update companions for data classes 2019-06-21 09:16:22 +02:00
Simon Binder 214b5fd978
Improve documentation on migrations, add custom statement 2019-06-20 13:08:34 +02:00
Simon Binder 47ef4891e6
Test that callbacks are actually called 2019-06-20 12:18:14 +02:00
Simon Binder 5fc921aefc
Provide detailed error messages for inconsistent data 2019-06-16 14:44:43 +02:00
Simon Binder cb8cb6b1a0
Keep where and limit clauses after join() 2019-06-15 14:15:19 +02:00
Simon Binder 067a33adec
Implement single() version for get() and watch() 2019-06-15 10:56:29 +02:00
Simon Binder acbcc6bb58
Fix NPE when parsing a real type
Fixes #32
2019-06-11 14:49:45 +02:00
Simon Binder a1241bab1d
Version 1.4
More configurable serialization logic, type for floating point values
2019-06-09 12:27:24 +02:00
Simon Binder 71e3f4549a
Write unit tests for the custom serializer 2019-06-09 12:12:56 +02:00
Simon Binder 9241bbccc1
Better integration of floating-point values 2019-06-08 15:04:49 +02:00
Simon Binder 8cc2c21c9a
Annotation to change the generated json key 2019-06-04 22:04:21 +02:00
Simon Binder 023c055e44
Implement new serialization api in generated classes 2019-05-23 19:17:47 +02:00
Simon Binder 5db9a5f87d
Actually use the real type, add parent for data classes 2019-05-17 21:25:02 +02:00
Simon Binder b2345a9f28
Add real datatype for numeric values 2019-05-12 10:53:00 +02:00
Simon Binder f5a1bc7edd
Add constant default value test case 2019-05-09 15:30:17 +02:00
Simon Binder 50690290ec
Provide proper generation context during migrations 2019-05-09 10:55:37 +02:00
Simon Binder cd520e5d1e
Fix syntax error in generated code with empty primary key 2019-04-29 18:25:03 +02:00
Simon Binder 211bf56ae7
Fix use of primary key in migrations 2019-04-29 18:04:40 +02:00
Simon Binder 51ae079c33
Deprecate old insertOrReplace method in favor of parameter 2019-04-23 14:04:45 +02:00
Simon Binder 7a44224370
Streams properly deal with aliased tables
Fixes #16
2019-04-19 23:54:57 +02:00
Simon Binder 8bed506e0d
Batched insert statements
Closes #15
2019-04-19 22:45:38 +02:00
Simon Binder 333e71f0a5
Tests for custom table constraints 2019-04-19 21:36:00 +02:00
Simon Binder f28eb13b4c
Fix hashcodes, document joins 2019-04-06 13:11:49 +02:00
Simon Binder ab5ac57778
Use jenkins hash 2019-04-05 17:47:51 +02:00
Simon Binder 040f54d004
Write default expressions in column creations 2019-04-01 15:20:01 +02:00
Simon Binder c3f6042c8f
Parse default expressions 2019-04-01 14:44:44 +02:00
Simon Binder d284aca4f6
Improve examples app, fix many issues with joins 2019-04-01 12:27:13 +02:00
Simon Binder e36470211c
Implement transactions 2019-03-31 17:06:22 +02:00
Simon Binder 9ca52d7f87
Use aliases in the operations 2019-03-30 19:21:44 +01:00
Simon Binder df2a681410
Preparation for aliased tables 2019-03-30 18:48:09 +01:00
Simon Binder bbf12ff5ec
Ensure the database is open before executing transactions 2019-03-30 14:56:55 +01:00
Simon Binder 9490cd22fe
Finish custom constraints implementation 2019-03-27 18:37:29 +01:00
Simon Binder f3a0f5f230
Allow transactions in DAOs 2019-03-27 18:20:16 +01:00
Simon Binder aa6582ae79
Always return the same stream for equal queries 2019-03-20 12:28:18 +01:00
Simon Binder 3e1cbee3c6
Implement fromJson factory in data classes. 2019-03-15 17:56:39 +01:00
Simon Binder e7ece27528
Implement insertOrReplace method for insert statements 2019-03-15 12:56:22 +01:00
Simon Binder 2e96ef1d56
Fix tests 2019-03-11 20:30:05 +01:00
Simon Binder 5de1656e07
Memoized getters for generated classes 2019-03-10 20:04:32 +01:00
Simon Binder e3fbbb8c13
Implement a BlobColumn to hold arbitrary data 2019-03-10 19:45:32 +01:00
Simon Binder d506d54315
Bugfixes, formatting, and finalizing transactions 2019-03-10 15:08:29 +01:00
Simon Binder cbd217317a
Let data classes override toString() 2019-03-10 12:54:50 +01:00
Simon Binder 09d047a868
Tests for transactions 2019-03-10 12:38:53 +01:00
Simon Binder b5237bf36b
Update existing tests to respect transactions 2019-03-10 12:06:02 +01:00
Simon Binder d70b447c65
Fix some typos 2019-03-09 20:35:29 +01:00
Simon Binder 4d80ff77c9
Finalize renaming 2019-03-09 17:02:56 +01:00
Simon Binder 62900a93a9
Rename project to "moor" 2019-03-09 16:37:37 +01:00