diff --git a/extras/benchmarks/lib/src/sqlparser/parse_moor_file.dart b/extras/benchmarks/lib/src/sqlparser/parse_moor_file.dart index 1e743ef6..b533eb34 100644 --- a/extras/benchmarks/lib/src/sqlparser/parse_moor_file.dart +++ b/extras/benchmarks/lib/src/sqlparser/parse_moor_file.dart @@ -33,7 +33,7 @@ manyColumns: class ParseMoorFile extends BenchmarkBase { ParseMoorFile(ScoreEmitter emitter) : super('Moor file: Parse only', emitter); - final _engine = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final _engine = SqlEngine(EngineOptions(useMoorExtensions: true)); @override void exercise() { diff --git a/moor_generator/lib/src/analyzer/session.dart b/moor_generator/lib/src/analyzer/session.dart index edebc787..aa6ec1e1 100644 --- a/moor_generator/lib/src/analyzer/session.dart +++ b/moor_generator/lib/src/analyzer/session.dart @@ -45,7 +45,7 @@ class MoorSession { enableExperimentalTypeInference: options.useExperimentalInference, ); - return SqlEngine.withOptions(sqlOptions); + return SqlEngine(sqlOptions); } FileType _findFileType(String path) { diff --git a/moor_generator/lib/src/backends/build/preprocess_builder.dart b/moor_generator/lib/src/backends/build/preprocess_builder.dart index e7c9332c..0f1f6a7a 100644 --- a/moor_generator/lib/src/backends/build/preprocess_builder.dart +++ b/moor_generator/lib/src/backends/build/preprocess_builder.dart @@ -36,8 +36,7 @@ class PreprocessBuilder extends Builder { FutureOr build(BuildStep buildStep) async { final input = buildStep.inputId; final moorFileContent = await buildStep.readAsString(input); - final engine = - SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); final parsed = engine.parseMoorFile(moorFileContent); diff --git a/moor_generator/test/analyzer/sql_queries/linter_test.dart b/moor_generator/test/analyzer/sql_queries/linter_test.dart index 449a2be1..dc3d256b 100644 --- a/moor_generator/test/analyzer/sql_queries/linter_test.dart +++ b/moor_generator/test/analyzer/sql_queries/linter_test.dart @@ -7,7 +7,7 @@ import 'package:test/test.dart'; import '../utils.dart'; void main() { - final engine = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); final mapper = TypeMapper(); test('warns when a result column is unresolved', () { diff --git a/moor_generator/test/analyzer/sql_queries/query_handler_test.dart b/moor_generator/test/analyzer/sql_queries/query_handler_test.dart index c62c006c..2a1e31fe 100644 --- a/moor_generator/test/analyzer/sql_queries/query_handler_test.dart +++ b/moor_generator/test/analyzer/sql_queries/query_handler_test.dart @@ -24,7 +24,7 @@ CREATE TABLE bar ( Future main() async { final mapper = TypeMapper(); - final engine = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); final step = ParseMoorStep( Task(null, null, null), FoundFile(Uri.parse('foo'), FileType.moor), ''); diff --git a/moor_generator/test/analyzer/sql_queries/type_mapping_test.dart b/moor_generator/test/analyzer/sql_queries/type_mapping_test.dart index bd19c091..40655f08 100644 --- a/moor_generator/test/analyzer/sql_queries/type_mapping_test.dart +++ b/moor_generator/test/analyzer/sql_queries/type_mapping_test.dart @@ -10,7 +10,7 @@ final Table table = Table(name: 'todos', resolvedColumns: [_idColumn, _titleColumn]); void main() { - final engine = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); final mapper = TypeMapper(); test('extracts variables and sorts them by index', () { diff --git a/sqlparser/lib/src/engine/sql_engine.dart b/sqlparser/lib/src/engine/sql_engine.dart index b476856f..b8c7621b 100644 --- a/sqlparser/lib/src/engine/sql_engine.dart +++ b/sqlparser/lib/src/engine/sql_engine.dart @@ -2,8 +2,6 @@ import 'dart:collection'; import 'package:sqlparser/sqlparser.dart'; import 'package:sqlparser/src/analysis/types2/types.dart' as t2; -import 'package:sqlparser/src/engine/module/fts5.dart'; -import 'package:sqlparser/src/engine/module/json1.dart'; import 'package:sqlparser/src/engine/options.dart'; import 'package:sqlparser/src/reader/parser/parser.dart'; import 'package:sqlparser/src/reader/tokenizer/scanner.dart'; @@ -22,23 +20,7 @@ class SqlEngine { SchemaFromCreateTable _schemaReader; - SqlEngine( - {@Deprecated('Use SqlEngine.withOptions instead') - bool useMoorExtensions = false, - @Deprecated('Use SqlEngine.withOptions instead') - bool enableJson1Module = false, - @Deprecated('Use SqlEngine.withOptions instead') - bool enableFts5 = false}) - : this.withOptions(_constructOptions( - // ignore: deprecated_member_use_from_same_package - moor: useMoorExtensions, - // ignore: deprecated_member_use_from_same_package - json1: enableJson1Module, - // ignore: deprecated_member_use_from_same_package - fts5: enableFts5, - )); - - SqlEngine.withOptions(this.options) { + SqlEngine([EngineOptions options]) : options = options ?? EngineOptions() { for (final extension in options.enabledExtensions) { extension.register(this); } @@ -47,6 +29,9 @@ class SqlEngine { registerTable(sqliteSequence); } + @Deprecated('Use SqlEngine(options) instead') + factory SqlEngine.withOptions(EngineOptions options) = SqlEngine; + /// Obtain a [SchemaFromCreateTable] instance compatible with the /// configuration of this engine. /// @@ -231,18 +216,6 @@ class SqlEngine { root.scope = _constructRootScope(parent: safeScope); } - - static EngineOptions _constructOptions({bool moor, bool fts5, bool json1}) { - final extensions = [ - if (fts5) const Fts5Extension(), - if (json1) const Json1Extension(), - ]; - - return EngineOptions( - useMoorExtensions: moor, - enabledExtensions: extensions, - ); - } } /// The result of parsing an sql query. Contains the root of the AST and all diff --git a/sqlparser/test/analysis/schema/from_create_table_test.dart b/sqlparser/test/analysis/schema/from_create_table_test.dart index 33fa57e2..25d9a6f0 100644 --- a/sqlparser/test/analysis/schema/from_create_table_test.dart +++ b/sqlparser/test/analysis/schema/from_create_table_test.dart @@ -63,8 +63,7 @@ void main() { }); test('supports booleans when moor extensions are enabled', () { - final engine = - SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); final stmt = engine.parse(''' CREATE TABLE foo ( a BOOL, b DATETIME, c DATE, d BOOLEAN NOT NULL diff --git a/sqlparser/test/analysis/types/resolver_test.dart b/sqlparser/test/analysis/types/resolver_test.dart index 94d6af7a..71dac3bd 100644 --- a/sqlparser/test/analysis/types/resolver_test.dart +++ b/sqlparser/test/analysis/types/resolver_test.dart @@ -82,7 +82,7 @@ void main() { }); test('can infer types for dart placeholder', () { - final ctx = (SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)) + final ctx = (SqlEngine(EngineOptions(useMoorExtensions: true)) ..registerTable(demoTable)) .analyze(r'SELECT * FROM demo WHERE $expr'); @@ -94,8 +94,7 @@ void main() { }); test('respects explicit types for variables', () { - final ctx = - SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)).analyze( + final ctx = SqlEngine(EngineOptions(useMoorExtensions: true)).analyze( 'SELECT ?', stmtOptions: const AnalyzeStatementOptions(indexedVariableTypes: { 1: ResolvedType.bool(), diff --git a/sqlparser/test/analysis/types2/misc_cases_test.dart b/sqlparser/test/analysis/types2/misc_cases_test.dart index f8afc5e5..8898d776 100644 --- a/sqlparser/test/analysis/types2/misc_cases_test.dart +++ b/sqlparser/test/analysis/types2/misc_cases_test.dart @@ -37,8 +37,7 @@ const Map _types = { }; SqlEngine _spawnEngine() { - return SqlEngine.withOptions( - EngineOptions(enableExperimentalTypeInference: true)) + return SqlEngine(EngineOptions(enableExperimentalTypeInference: true)) ..registerTable(demoTable) ..registerTable(anotherTable); } diff --git a/sqlparser/test/analysis/types2/resolver_test.dart b/sqlparser/test/analysis/types2/resolver_test.dart index d32bae64..bcdc59e5 100644 --- a/sqlparser/test/analysis/types2/resolver_test.dart +++ b/sqlparser/test/analysis/types2/resolver_test.dart @@ -5,7 +5,7 @@ import 'package:test/test.dart'; import '../data.dart'; void main() { - final engine = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)) + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)) ..registerTable(demoTable) ..registerTable(anotherTable); diff --git a/sqlparser/test/engine/autocomplete/utils.dart b/sqlparser/test/engine/autocomplete/utils.dart index 621f5a16..2724a24d 100644 --- a/sqlparser/test/engine/autocomplete/utils.dart +++ b/sqlparser/test/engine/autocomplete/utils.dart @@ -7,7 +7,7 @@ import 'package:test/test.dart'; ComputedSuggestions completionsFor(String moorFile, {void Function(SqlEngine) setup}) { final position = moorFile.indexOf('^'); - final engine = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); setup?.call(engine); final result = engine.parseMoorFile(moorFile.replaceFirst('^', '')); diff --git a/sqlparser/test/engine/module/fts5_test.dart b/sqlparser/test/engine/module/fts5_test.dart index 04958231..725ed4ad 100644 --- a/sqlparser/test/engine/module/fts5_test.dart +++ b/sqlparser/test/engine/module/fts5_test.dart @@ -5,7 +5,7 @@ final _fts5Options = EngineOptions(enabledExtensions: const [Fts5Extension()]); void main() { group('creating fts5 tables', () { - final engine = SqlEngine.withOptions(_fts5Options); + final engine = SqlEngine(_fts5Options); test('can create fts5 tables', () { final result = engine.analyze('CREATE VIRTUAL TABLE foo USING ' @@ -35,7 +35,7 @@ void main() { group('type inference for function calls', () { SqlEngine engine; setUp(() { - engine = SqlEngine.withOptions(_fts5Options); + engine = SqlEngine(_fts5Options); // add an fts5 table for the following queries final fts5Result = engine.analyze('CREATE VIRTUAL TABLE foo USING ' 'fts5(bar, baz);'); @@ -79,7 +79,7 @@ void main() { group('type inference for function arguments', () { SqlEngine engine; setUp(() { - engine = SqlEngine.withOptions(_fts5Options); + engine = SqlEngine(_fts5Options); // add an fts5 table for the following queries final fts5Result = engine.analyze('CREATE VIRTUAL TABLE foo USING ' 'fts5(bar, baz);'); @@ -125,7 +125,7 @@ void main() { group('error reporting', () { SqlEngine engine; setUp(() { - engine = SqlEngine.withOptions(_fts5Options); + engine = SqlEngine(_fts5Options); // add an fts5 table for the following queries final fts5Result = engine.analyze('CREATE VIRTUAL TABLE foo USING ' 'fts5(bar, baz);'); diff --git a/sqlparser/test/engine/module/json1_test.dart b/sqlparser/test/engine/module/json1_test.dart index ae52d04e..ba3c6fac 100644 --- a/sqlparser/test/engine/module/json1_test.dart +++ b/sqlparser/test/engine/module/json1_test.dart @@ -12,7 +12,7 @@ void main() { } void _runTests(bool types2) { - final engine = SqlEngine.withOptions(EngineOptions( + final engine = SqlEngine(EngineOptions( enableExperimentalTypeInference: types2, enabledExtensions: const [Json1Extension()], )); diff --git a/sqlparser/test/parser/moor_file_test.dart b/sqlparser/test/parser/moor_file_test.dart index 52b10da6..dd6f15ae 100644 --- a/sqlparser/test/parser/moor_file_test.dart +++ b/sqlparser/test/parser/moor_file_test.dart @@ -93,7 +93,7 @@ void main() { test("reports error when the statement can't be parsed", () { // regression test for https://github.com/simolus3/moor/issues/280#issuecomment-570789454 - final parsed = SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)) + final parsed = SqlEngine(EngineOptions(useMoorExtensions: true)) .parseMoorFile('name: NSERT INTO foo DEFAULT VALUES;'); expect( diff --git a/sqlparser/test/parser/recovery_test.dart b/sqlparser/test/parser/recovery_test.dart index 29bd0cd3..45335768 100644 --- a/sqlparser/test/parser/recovery_test.dart +++ b/sqlparser/test/parser/recovery_test.dart @@ -41,8 +41,7 @@ CREATE TABLE foo ( }); test('parses trailing comma with error', () { - final engine = - SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)); + final engine = SqlEngine(EngineOptions(useMoorExtensions: true)); final result = engine.parseMoorFile(''' CREATE TABLE foo ( diff --git a/sqlparser/test/parser/utils.dart b/sqlparser/test/parser/utils.dart index c30f1edf..ab65f7dd 100644 --- a/sqlparser/test/parser/utils.dart +++ b/sqlparser/test/parser/utils.dart @@ -23,7 +23,7 @@ IdentifierToken identifier(String content) { } MoorFile parseMoor(String content) { - return SqlEngine.withOptions(EngineOptions(useMoorExtensions: true)) + return SqlEngine(EngineOptions(useMoorExtensions: true)) .parseMoorFile(content) .rootNode as MoorFile; } @@ -36,9 +36,7 @@ void testMoorFile(String moorFile, MoorFile expected) { void testStatement(String sql, AstNode expected, {bool moorMode = false}) { final parsed = - SqlEngine.withOptions(EngineOptions(useMoorExtensions: moorMode)) - .parse(sql) - .rootNode; + SqlEngine(EngineOptions(useMoorExtensions: moorMode)).parse(sql).rootNode; enforceHasSpan(parsed); enforceEqual(parsed, expected); }