Commit Graph

765 Commits

Author SHA1 Message Date
Simon Binder 8d6d1727fb
Setup CI in GitHub actions 2020-11-20 18:01:18 +01:00
Simon Binder d0a1ba04e2
Use right Dart binary for tests, ugh 2020-11-19 22:43:07 +01:00
Simon Binder c714ca54d4
Run moor tests individually 2020-11-19 22:22:18 +01:00
Simon Binder 0c9f3a3286
Fix tests for null safety 2020-11-19 18:10:43 +01:00
Simon Binder 01258d25ab
Fix nnbd code emitted by the generator 2020-11-19 14:06:51 +01:00
Simon Binder aec69a357a
Migrate to generated mockito 2020-11-18 22:53:27 +01:00
Simon Binder 13056b0cf6
Migrate core libraries 2020-11-18 17:07:05 +01:00
Simon Binder 0ef7353df5
Setup CI with Dart 2.12 beta 2020-11-18 10:53:20 +01:00
Simon Binder 66a2cd0b09
Explain that autoIncrement and primaryKey are incompatible 2020-11-18 10:39:23 +01:00
Simon Binder b2ef4ddbcf
Optionally generate named parameters (#918) 2020-11-16 17:03:22 +01:00
Simon Binder 08470abd47
Fix VmDatabase.opened reporting wrong open status 2020-11-11 18:29:45 +01:00
Simon Binder 5ebc7a9040
Escape keywords with double instead of backticks 2020-11-11 18:22:59 +01:00
Simon Binder c7669a18a0
Fix more bugs in schema verification tests 2020-11-11 11:36:19 +01:00
Simon Binder b9c007f782
Add VmDatabase.opened factory 2020-11-11 10:59:03 +01:00
Simon Binder c6a6c9ac5a
Another tests for streams and migrations 2020-11-09 18:24:30 +01:00
Simon Binder 1f2dca0240
Add test to reproduce #910 2020-11-08 17:02:50 +01:00
Simon Binder 56d89b8676
Add extensions for isNull and isNotNull 2020-11-03 18:45:38 +01:00
Simon Binder ca4b2b7d8c
Use TEXT instead of VARCHAR (#886) 2020-10-23 19:29:08 +02:00
Simon Binder e29fcf93f7
Publish moor 3.4, sqlparser 0.11 2020-10-22 14:17:54 +02:00
Simon Binder e9ac099b31
Add strong warning to closeExistingInstances 2020-10-17 14:39:45 +02:00
Simon Binder ce37d15d2a
Generate nnbd code for inputs that have opted in 2020-10-17 14:31:04 +02:00
Simon Binder cf537721cb
Add tools to generate old versions of a database 2020-10-14 21:15:17 +02:00
Simon Binder 8b3e6a55d1
Merge pull request #870 from kuhnroyal/feature/support-migration-with-autoindexes
Support table migration with autoindexes
2020-10-13 18:16:40 +02:00
Simon Binder 5044ca2863
Improve error message on isolate transaction misuse 2020-10-13 18:07:31 +02:00
Peter Leibiger a68ff3dc9f
Skip sqlite_autoindexes during table migration 2020-10-13 12:42:39 +02:00
Peter Leibiger d0fae0b814
Recreate migration test failure with unique constraint 2020-10-13 12:38:16 +02:00
Simon Binder 14aa07fffa
Add another test for alterTable 2020-10-12 19:16:28 +02:00
Simon Binder 2a991bf203
Export SqliteException from moor/ffi (#860) 2020-10-11 21:07:14 +02:00
Simon Binder 3470d0485a
Add current_time_millis SQL function (#857) 2020-10-11 11:25:21 +02:00
Simon Binder 9d9658248b
Add renameColumn method to migrator 2020-10-11 11:14:02 +02:00
Simon Binder fac99e1d6b
Run CI with Dart 2.10 2020-10-02 18:43:27 +02:00
Simon Binder f295af1398
Add closeExistingInstances api for #835 2020-09-30 15:39:02 +02:00
Simon Binder 430ba5b175
More tests for new alterTable migration, reword docs 2020-09-25 12:34:46 +02:00
Simon Binder 0b8aa9b3dd
Also fix sqlite_schema usages in test 2020-09-24 18:43:04 +02:00
Simon Binder 0a3340da72
Migrations: Query legacy schema table for compatibility 2020-09-19 20:08:44 +02:00
Simon Binder 39ab61e551
Ignore deprecated members from same package in moor 2020-09-19 17:41:19 +02:00
Simon Binder 3fdac823dd
More docs, tests for advanced migrations 2020-09-18 19:15:26 +02:00
Simon Binder 9d9a4f4065
Add customStatement to batch api (#817) 2020-09-11 11:19:18 +02:00
Simon Binder c303781bb1
Assert transactions aren't used after they complete 2020-09-06 14:20:02 +02:00
Simon Binder 70096357e0
Add date() function to query builder 2020-09-06 13:26:56 +02:00
Simon Binder d2996af72e
Add cast function to query builder 2020-09-04 13:25:05 +02:00
Simon Binder a317bf253a
Begin with new api for complex table migrations 2020-09-04 13:13:26 +02:00
Simon Binder d6a321ca3c
Add generate_values_in_copy_with build option (#795) 2020-09-01 13:34:02 +02:00
Simon Binder b59d5b8f58
Simplify moor files integration test 2020-08-30 13:51:52 +02:00
Simon Binder 2ae2388878
Support default values for Dart placeholders (#753) 2020-08-30 13:48:47 +02:00
Simon Binder 0bc6f1368b
Add coalesce function (#780) 2020-08-21 20:59:55 +02:00
Simon Binder 6fba2555c1
Api to turn AST nodes into a textual represenation 2020-08-21 16:44:17 +02:00
Simon Binder 3552e0c5dc
Work around build bug in moor 2020-08-20 21:00:21 +02:00
Simon Binder 9ed52f8d1d
Fix streams still emitting data after cancel (#766) 2020-08-15 21:19:29 +02:00
Simon Binder d0b13c43eb
Add groupConcat to Dart api (#763) 2020-08-15 09:53:50 +02:00
Simon Binder ffc01e4516
ffi: Create parent dir to avoid misuse errors (#731) 2020-08-14 21:57:49 +02:00
Simon Binder a2b28945d1
Add DatabaseConnection.delayed constructor 2020-08-13 21:09:26 +02:00
Simon Binder a037de6621
Support rowid resolution outside of selects
This fixes #754
2020-08-10 10:46:33 +02:00
Simon Binder 153cfadd81
Remove debug print 2020-08-07 21:36:20 +02:00
Simon Binder 82e0ff4827
Allow changing the onData callback in query streams 2020-08-07 21:33:17 +02:00
Simon Binder 5510cb97b1
Release version 3.3.0 and moor_ffi 0.8.0 2020-07-29 13:00:50 +02:00
Simon Binder 7623362fc6
Don't test moor_ffi in CI
We don't have Flutter in the CI, and the package is
deprecated.
2020-07-29 11:28:55 +02:00
Simon Binder 3215b7e571
Prepare 3.3.0 release 2020-07-28 22:30:04 +02:00
Simon Binder c2ce934361
Apply type converters on variables (#730) 2020-07-23 17:30:26 +02:00
Simon Binder 28cfa957a6
Deprecate issueCustomStatement in favor of customStatement (#729) 2020-07-23 12:54:39 +02:00
Simon Binder 165fc37721
Add setup callback for moor ffi 2020-07-18 18:19:42 +02:00
Simon Binder ba708ee9c5
Merge branch 'use-sqlite3-package' into develop 2020-07-18 17:47:27 +02:00
tactical_retreat 4443be79d5 Make DefaultValueSerializer null-safe for blobs
This fixes an issue where a nullable blob column, e.g. `BlobColumn get logic => blob().nullable()();` will throw an error that looks like `NoSuchMethodError: The method 'cast' was called on null.`

(cherry picked from commit 87937ba89b28e956963555d7a456b61b67500043)
2020-07-13 16:39:23 -04:00
Simon Binder 22391a9c54
Migrate benchmarks to sqlite3/ package 2020-07-10 17:30:10 +02:00
Simon Binder e21163d90a
Deprecate the eagerly_load_dart_ast option 2020-07-09 17:49:05 +02:00
Simon Binder fa1e76f8f3
Option to get raw data in result sets (#615) 2020-07-09 17:38:46 +02:00
Simon Binder e4fa5fb936
Begin migration to sqlite3 package 2020-07-08 19:04:57 +02:00
Simon Binder 634d1318e0
Add empty Android plugin class to moor_ffi 2020-07-03 12:10:37 +02:00
Simon Binder 2332c58742
Override toString in result classes (#676) 2020-07-02 19:59:41 +02:00
Simon Binder ac20d9b324
Fix some pub warnings that appeared during publishing 2020-06-28 21:17:33 +02:00
Simon Binder 3923b815fd
Merge branch 'master' into develop
# Conflicts:
#	moor_generator/pubspec.yaml
2020-06-28 17:34:00 +02:00
Simon Binder 3a558c3d1d
Prepare moor 3.2, moor_ffi 0.7 release 2020-06-28 17:27:32 +02:00
Simon Binder 34e827b0b5
Escape column names in primary key (#661) 2020-06-25 20:03:05 +02:00
Simon Binder b4aeacdba3
Add tests for errors across isolates 2020-06-23 19:35:31 +02:00
Simon Binder d881659db6
Support flags in regexp (#644) 2020-06-22 22:20:43 +02:00
Simon Binder bccbb3e7a8
Don't require tables on UseMoor or UseDao 2020-06-21 18:19:59 +02:00
Ilya Beregovskiy 20137035be move docs links /kripken/sql.js ->/sql-js/sql.js 2020-06-19 16:28:14 +03:00
Simon Binder 374266b70b
Mark beforeOpen as nonVirtual 2020-06-16 14:25:59 +02:00
Till Friebe a846b6c425 Add another test 2020-06-08 18:36:06 +02:00
Till Friebe 7a652e5ac6 Apply feedback 2020-06-08 18:17:04 +02:00
Till Friebe 503f2e023e Add hashcode and equals to value
This simplifies testing, as now one can compare like this:
```dart
expect(Value(1), Value(1));
```
Or a realistic example:
```dart
final capturedArgument = verify(fooDao.insert(captureAny)).captured.first.createdAt;
expect(capturedArgument, Value(DateTime(0)));
```

A test is still missing which would look something like this:
```
test('values support hash and equals', () {
  const first = Value(0);
  final equalToFirst = Value(0);
  const different = Values.absent());

  expect(first.hashCode, equalToFirst.hashCode);
  expect(first, equals(equalToFirst));

  expect(first, isNot(equals(different)));
  expect(first, equals(first));
});
```
I'm not sure where the test is supposed to be.
2020-06-08 10:11:20 +02:00
Simon Binder 32cae11aa2
Better docs for useColumns in join 2020-06-07 11:22:48 +02:00
Simon Binder 835e31c8ed
Add `this.` prefix to avoid name clashes (#613) 2020-06-03 19:07:53 +02:00
Simon Binder 9f651b3ce9
Better support for changing analysis sessions 2020-06-02 11:48:16 +02:00
Till Friebe 1bab7f11d2 Add toString to companions
This is very useful for unit tests, because we can see directly what
values a companion has.
2020-05-28 18:52:32 +02:00
Simon Binder 9be0a9f79c
Fix result sets generating twice 2020-05-22 20:32:47 +02:00
Simon Binder b8335b1222
Mention custom result class names in changelog 2020-05-22 17:25:30 +02:00
Simon Binder 3955ae8eff
Generated code for custom table names 2020-05-21 20:42:50 +02:00
Simon Binder 8a98b42e62
Optimize row mapping when there is a matching table 2020-05-21 20:21:03 +02:00
Simon Binder 513881b13f
Always use a lambda for select mapping 2020-05-21 19:37:54 +02:00
Simon Binder f5f6cbeffe
Remove protected and visibleForTesting annotations from QueryEngine 2020-05-20 18:28:45 +02:00
Simon Binder 65f02cb22c
Prepare 3.1 release of moor, 0.6 or moor_ffi, 0.9 of sqlparser 2020-05-18 20:45:48 +02:00
Simon Binder df32408a7c
Add destructive migration feature (#576) 2020-05-16 13:22:09 +02:00
Simon Binder 5c3671b465
Fix booleans not working as expected in mapFromCompanion (#559) 2020-05-13 21:51:08 +02:00
Simon Binder cf830165e1
Support enum converters for moor files, add documentation 2020-05-13 21:43:58 +02:00
Simon Binder 7b9fa3d9ed
Simplify generation of enum type converters 2020-05-13 20:16:20 +02:00
Simon Binder 25ee06ab36
Don't attempt to close databases that have never been open (#560) 2020-05-13 11:12:17 +02:00
Simon Binder 0f2ff8c97a
Implicitly create type converters for enums, Dart api (#478) 2020-05-12 21:47:11 +02:00
Simon Binder 3dd682d522
Also log statements during migrations if desired 2020-05-12 13:38:02 +02:00
Simon Binder 0af49dd6df
Bring back the toCompanion method for data classes (#257) 2020-05-08 20:53:58 +02:00
Simon Binder e30bdd2acf
Support case sensitive contains (#527) 2020-05-07 18:59:12 +02:00
Simon Binder 9841c960d1
Parse row values, warn on misuse 2020-05-06 21:08:47 +02:00
Simon Binder ab66a3befd
Support equals and hashCode in companions (#545) 2020-05-06 18:34:49 +02:00
Simon Binder c5499eb6b5
Document that delete returns number of deleted rows (#544) 2020-05-05 18:46:13 +02:00
Simon Binder 79294e248a
Escape column names in updates 2020-05-04 20:15:23 +02:00
Simon Binder bb0461ccd2
Format, add to changelog 2020-05-03 21:20:52 +02:00
Simon Binder 1fdade7ac8
Merge branch 'map-from-row-or-null-without-prefix' of https://github.com/Mike278/moor into Mike278-map-from-row-or-null-without-prefix 2020-05-03 21:16:26 +02:00
Simon Binder bd250ee9e7
Support collate expression with new type inference (#533) 2020-05-03 21:13:29 +02:00
Mike278 7e3df823db Fix null table prefix 2020-05-03 13:00:28 -04:00
Simon Binder 0a30b8a12e
Upgrade integration tests, release sqlparser 0.8 2020-05-03 13:28:34 +02:00
Simon Binder d3c4eac166
First release preparation for moor 3.0 2020-05-02 14:50:04 +02:00
Simon Binder 10e8af433c
Explain that filter isn't available everywhere 2020-05-01 13:55:49 +02:00
Sebastian Roth e1c568ba16
Fixes a few typos 2020-05-01 10:03:13 +01:00
Simon Binder 5ad5cded30
Fix deprecated member usage in moor test 2020-04-30 21:30:21 +02:00
Simon Binder 195eb0b39b
Small docs improvements 2020-04-30 21:28:42 +02:00
Simon Binder 81a476662c
Support contains (#527) 2020-04-30 11:51:09 +02:00
Simon Binder e90d72f25f
Don't use _openedDbCount outside of debug builds 2020-04-28 18:53:17 +02:00
Simon Binder 91115311cf
Extension to support old db field in daos 2020-04-27 14:18:47 +02:00
Simon Binder 2a3ed3ea12
Fix transactions in migrations for isolates 2020-04-25 16:29:46 +02:00
Simon Binder 1546f323b2
Merge branch 'master' into develop
# Conflicts:
#	docs/content/en/docs/Getting started/advanced_dart_tables.md
#	docs/content/en/docs/Using SQL/moor_files.md
#	extras/integration_tests/flutter_db/lib/moor_flutter.dart
#	moor/CHANGELOG.md
#	moor/lib/src/runtime/isolate/client.dart
#	moor/lib/src/runtime/isolate/server.dart
#	moor/pubspec.yaml
#	moor_ffi/test/database/database_test.dart
2020-04-25 12:44:01 +02:00
Simon Binder 4140090270
Document upserts 2020-04-25 12:23:37 +02:00
Simon Binder 721d25ff3c
Make insertOnConflictUpdate return a Future<int> 2020-04-24 22:34:09 +02:00
Simon Binder 821d1620cd
Run batch statements in the right order 2020-04-24 20:09:46 +02:00
Simon Binder 9300010890
Only send primitive objects over isolates (#399) 2020-04-23 21:03:50 +02:00
Simon Binder 1fc38f8434
Expose underlying SendPort for moor isolate 2020-04-23 19:15:44 +02:00
Simon Binder 1da09e7357
Add small integration test for generated upserts 2020-04-20 22:03:45 +02:00
Simon Binder d2e455d66b
Write conflict target when using upserts 2020-04-20 21:58:37 +02:00
Simon Binder 398577ceab
Test for integrity with upserts 2020-04-19 21:16:01 +02:00
Simon Binder c3b0c95389
Support upserts for batches (#507) 2020-04-19 20:47:03 +02:00
Simon Binder 0220d01a54
Fix mapping of nulls in IntType 2020-04-18 17:35:26 +02:00
Simon Binder 4190c807c9
Fix analysis warnings 2020-04-17 22:35:27 +02:00
Simon Binder 86295536c7
Add insertOnConflictUpdate shorthand 2020-04-17 22:32:53 +02:00
Simon Binder ca0fe1ef55
Support upsert clauses from Dart DSL (#367) 2020-04-17 22:14:27 +02:00
Simon Binder a7ac6db55d
Support + and - operators on DateTime 2020-04-17 21:29:12 +02:00
Simon Binder 84bac1bf1d
Initial support for sql expressions in companions 2020-04-17 20:48:22 +02:00
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 9a78604d98
Fix issues with new inference, enable it by default 2020-04-16 19:07:30 +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 606d11d589
Merge pull request #469 from marcgraub/develop
Basic support for Web Workers
2020-04-06 11:21:19 +02:00
Marc Grau Benaiges c59b96c9bf Added some documentation and fixes code format 2020-04-05 23:12:40 +02:00
Simon Binder ba28211e21
Document nested results in moor files 2020-04-04 12:22:19 +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
Marc Grau Benaiges e0c3f4b647 Basic support for Web Workers (#468) 2020-04-03 12:24:26 +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 5b675a811b
Don't consider rowid aliases required (#445) 2020-03-16 20:36:03 +01:00
Simon Binder dd74948e1a
Properly support transactions in migrations 2020-03-15 21:42:22 +01:00
Simon Binder d1332ff1be
moor_ffi: Only update schema version after migrations 2020-03-15 15:20:44 +01:00
Simon Binder bc1f347498
Test transactions in migrations (#430) 2020-03-15 15:16: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
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