Commit Graph

265 Commits (7f85d5f87ceccb0a5d5f4abac925641c0742315c)

Author SHA1 Message Date
Christopher Jolly 8bce980435 Fix more tests to no expect a tag line in the sql 2 years ago
Christopher Jolly 2f69290f44 Generate proper SQL for UPDATE and DELETE when we have multiple tables, select expression, joins 2 years ago
Christopher Jolly 559cdc6d3c Some updates to the migration/update sql. Main change is if we are doing an INSERT, if there is no values to be read back we don't have to follow it up with a 'SELECT @@ROWCOUNT' 2 years ago
Christopher Jolly 4d026e975c Skip tests where Jet has no support 2 years ago
Christopher Jolly 1b7e72790c DateOnly/TimeOnly fields are added to hte expected sql 2 years ago
Christopher Jolly 6fe74929cf Remove tag lines/comments from the sql to be executed 2 years ago
Christopher Jolly 8f5be7fb89 Update types to expect the correct type. All these have converters that convert to a Long/Int64 which is mapped to decimal(20,0) 2 years ago
Christopher Jolly 4bdd001eda Add the default warning config in. Some of the defaults set warnings to throw instead of Log 2 years ago
Christopher Jolly 3d656dcdb9 Configure these without a connection string. These set up the connection later on 2 years ago
Christopher Jolly caeb6db77b
Lift subqueries from the ORDER BY clause into their own projection (#173)
* Lift scalar subqueries out of order by and into a projection

* Add back in missed verifier for skip without order by in split query

* [GitHub Actions] Update green tests.

* Scalar expressions within a function or case expression, within the ORDER BY also need to be lifted

* [GitHub Actions] Update green tests.

---------

Co-authored-by: github-actions <github-actions@github.com>
2 years ago
Christopher Jolly 7caea4dcdb
Provide a valid count argument to LEFT,RIGHT,MID (#172)
* Coalesce the result of LEN on a string to 0 when within a LEFT/RIGHT/MID function as it cannot take NULL for the count of characters
2 years ago
Christopher Jolly d9f2c8eb2c
Interception tests (#171)
* Allow unconfigured dataaccessproviderfactory and null connection string

* [GitHub Actions] Update green tests.

---------
2 years ago
Christopher Jolly b389b88705
Further built in types fixes (#170) 2 years ago
Christopher Jolly 6ccebae028
Db model factory updates (#166) 2 years ago
Laurents Meyer a95017e38b
Auto skip statements that are not supported by Jet. Track unsupported statements in log files. (#169) 2 years ago
Laurents Meyer 746f727ec7
Fix auto commit for pull requests. (#165)
* Fix auto commit for pull requests by using multiple workflows.

* Cleanup green tests after #162.

* [GitHub Actions] Update green tests.

---------

Co-authored-by: github-actions <github-actions@github.com>
2 years ago
Christopher Jolly e70f682c0c
Fix BuiltInDataTypes tests (#163)
* Update the BuiltInDataTypes set of tests

* Update JetTypeMappingSource.cs

Add back `alphanumeric` as its line somehow got deleted

* Add Element Type Mapping check back in
2 years ago
Christopher Jolly 88f0ba8df5
Fixes to the QueryBugsTest (#162)
* Ensure connection is closed before dropping the database/deleting the file

* Upgrade the QueryBugsTest
2 years ago
Laurents Meyer 1ba41b74d7
Ensure that tests that passed before still pass. (#161) 2 years ago
Laurents Meyer 49312c88c8 Remove statements that lead to massive test outputs after they have run. 2 years ago
Laurents Meyer de360e580a Fix test database creation. 2 years ago
Christopher Jolly fcb97a4e63
Improve support for primitive collections and Json Types (#159) 2 years ago
Laurents Meyer c712906ae1
Move from AZDO to GitHub Actions. (#148)
* Move from AZDO to GitHub Actions.

* Fix Xunit test runner configuration.

* Ensure deterministic test order until test runs are stable.

* Update to use new organization settings.

* Remove obsolete AZDO pipelines file.
2 years ago
Christopher Jolly 53bdc99453 Upgrade DbContextPooling tests 2 years ago
Christopher Jolly 0d5676a4e5
Merge pull request #158 from ChrisJollyAU/fixdecint64param
Fix using decimal and Int64 in parameters
2 years ago
Christopher Jolly 8c64a29730 Fix using decimal and Int64 in parameters 2 years ago
Laurents Meyer 43d0002123 Fix automatic test skipping. 2 years ago
Laurents Meyer 73f91b2286
Add XUnit infrastructure to handle unsupported statements and test runner crashes (#152)
* Add custom Xunit runner to allow skipping tests after they have already failed, if the failure is expected (because of missing support in Jet).

* Finalize implementation and add crash detection support.
2 years ago
Laurents Meyer 73b5c0690f Fix tests resulting in opposite provider type exceptions. 2 years ago
Laurents Meyer effd58934f Add `FixedTestOrder` msbuild property to build/run tests in a deterministic order. 2 years ago
Laurents Meyer 84c47a04c4 Revert "Fix build errors."
This reverts commit ad5dbd8117.
2 years ago
Laurents Meyer ad5dbd8117 Fix build errors. 2 years ago
Christopher Jolly b4c07a382c Merge branch 'master' of https://github.com/bubibubi/EntityFrameworkCore.Jet 2 years ago
Christopher Jolly 67f98ee8ac More test updates 2 years ago
Laurents Meyer 7bc7ee3708
Revert pull-in of GearsOfWar related classes and remove constraint (#145)
* Revert pull-in of GearsOfWar related classes.

* Clean-up GearsOfWar fixtures.

* Drop constraint to workaround Jet limitation regarding compound foreign keys and NULL.

* Fix SQL assertions.

* Revert "Add code to add a "MatchSimple" annotation to a foreign key", because it doesn't do anything at the moment.

This reverts commit 76408338e0.
2 years ago
Laurents Meyer 955d73d0ec Fix data tests. 2 years ago
Christopher Jolly 2316fbbf2e Test updates 2 years ago
Christopher Jolly 0ddfe1ce3b Update to .Net 8 RC2 2 years ago
Christopher Jolly 6f31403f13 Merge branch 'master' of https://github.com/bubibubi/EntityFrameworkCore.Jet 2 years ago
Christopher Jolly a16569f65b Add some further testbases 2 years ago
Laurents Meyer 914bd5a2ee Fix namespace. 2 years ago
Laurents Meyer f086526d02
Fix and update dependencies and project files. (#144) 2 years ago
Christopher Jolly 01775d1b2f Implement Degrees to Radians and Radians to Degrees by first principal as there is no inbulilt function. Thankfully it is not a difficult calculation 2 years ago
Christopher Jolly 009b9de606 Add some further test classes that JetComplianceTest is not finding implemented 2 years ago
Christopher Jolly 1df474d720 Some minor test fixups 2 years ago
Christopher Jolly cd320052ce Update tests 2 years ago
Christopher Jolly c1d263aedc Initial support for DateOnly/TimeOnly 2 years ago
Christopher Jolly 2b937ef4ae Do not compare the Timeline property when checking if Mission is equal. This is a DateTimeOffset and we currently don't have good round-trip support for this type without losing info 2 years ago
Christopher Jolly b1bffdff8c Update tests 2 years ago
Christopher Jolly 352734a537 Update the base Gears of War to be synced with .Net RC1 2 years ago
Christopher Jolly 0211d16ea1 Update some tests due to .Net 8 changing the order of certain phrases 2 years ago
Christopher Jolly 02886b2570 Add our own GearsOfWar set of base classes and models. This allows us to modify it so that we can work around the complex/multi-field foreign key set up it uses so that we can use our own Match Simple mode rather than the Match Full mode Jet normally does.
See the readme in the CustomBaseTests for full details
2 years ago
Christopher Jolly cae7f8372b Add Check_all_tests_overridden to more test classes and ensure that it passes 2 years ago
Christopher Jolly a594e2f81f DISTINCT AND TOP can't be in the same stateement with Jet. Push DISTINCT into a subquery 2 years ago
Christopher Jolly 2281916b88 Fix generating sets (union, intersect). The code was originally executing and returning before it could handle adding the SQL for the Alias in (including wrapping the section in brackets). This realigns with how the parent VisitSelect works 2 years ago
Christopher Jolly d78256f53d update tests 2 years ago
Christopher Jolly 34f124c0f8 Update to .Net 8 2 years ago
Christopher Jolly 6f38fe6e90 Update tests 2 years ago
Christopher Jolly 3ff59259ed Use the correct function in SQL for Date (Jet doesn't do GetUTCDate) 2 years ago
Christopher Jolly 83b0bea0b8 another test update 2 years ago
Christopher Jolly 78f9226030 Update tests 2 years ago
Christopher Jolly 673e56ed60 Add a whole heap of new tests. Work to implement all the test bases so that All_test_bases_must_be_implemented can pass 2 years ago
Christopher Jolly 70af0c286c Set query splitting behaviour. Prevents errors due to it not being set 2 years ago
Christopher Jolly 629398c76b Set CanExecuteQueryString to false. When running tests, if it is set to true, the Query Asserter will also try to create a query string from the IQueryable. While most cases are fine, the problem comes in when there are parameters. Creating the query string declares the parameters and values at the beginning of the query and the DbCommand is set up with no parameters. While this can work in Sql Server (see the DECLARE keyword), this is not supported with Jet.
The Query Asserter already runs the CreateDbCommand on the IQueryable which creates the DbCommand with the parameters all set up. Creating the query string and running that as a separate command is not really necessary.

By the looks of it this only affects the test system which specifically creates a query string from an IQueryable and creates a new DbCommand with that as the command text. It doesn't seem to affect anywhere else
2 years ago
Christopher Jolly 3ef1503bb9 Translate the Atan2 function 2 years ago
Christopher Jolly 3f5c1b6005 Make sure a DateTime in a constant has a DateTime Type Mapping 2 years ago
Christopher Jolly 429c67ca3a Some skip...take optimization and fix using multiple take after a skip 3 years ago
Christopher Jolly cbf7daca08 Update tests for Skip...Take 3 years ago
Christopher Jolly d7268307bc Fix generating a custom OleDbException for the tests 3 years ago
Christopher Jolly fd57f4a3bd Rename some extension methods so that it doesn't interfere with other providers (namely sql server) 3 years ago
Christopher Jolly 84e40f5085 Fix some string resources 3 years ago
Christopher Jolly d668fe7f16 Update tests 3 years ago
Christopher Jolly 6230db2803 Merge branch 'master' of https://github.com/bubibubi/EntityFrameworkCore.Jet 3 years ago
Christopher Jolly 61b277d11c Update dependencies and some test fixes 3 years ago
Cédric Luthi 83c29e4c43 Introduce a new typed JetConnectionStringBuilder
This makes it easier to use than the extensions (EntityFrameworkCore.Jet.Data.DbConnectionStringBuilderExtensions) with Get/Set methods.

With the new `JetConnectionStringBuilder` class:

```csharp
var csb = new JetConnectionStringBuilder(DataAccessProviderType.OleDb)
{
    Provider = "Microsoft.ACE.OLEDB.12.0",
    DataSource = @"C:\myFolder\myAccessFile.accdb",
    DatabasePassword = "hunter2",
};
var connectionString = csb.ConnectionString;
```

Without the new `JetConnectionStringBuilder` class:

```csharp
var csb = new OleDbConnectionStringBuilder();
csb.SetProvider("Microsoft.ACE.OLEDB.12.0");
csb.SetDataSource(@"C:\myFolder\myAccessFile.accdb");
csb.SetDatabasePassword("hunter2");
var connectionString = csb.ConnectionString;
```
3 years ago
Christopher Jolly 12aca42198 Add option to use the normal short text type when mapping against an unbounded System.String instead of long text/memo. Jet has limitations when using memo (e.g. joins are not supported) 3 years ago
Christopher Jolly acc3fd5223 Revert "Set the precision to be maximum of 28 (Jet limit)."
This reverts commit a1904bf113.
3 years ago
Christopher Jolly a1904bf113 Set the precision to be maximum of 28 (Jet limit).
When using property.HasConversion<decimal>() the default for EF Core is with precision 38 and scale 17 which is passed Jet's limit
3 years ago
Christopher Jolly 7de8811773 Some tests adjustments 3 years ago
Christopher Jolly 9489bc4564 Jet seems to output bytes only as an array. so a single byte becomes a byte[1] array. Return the first byte of that array in this instance 3 years ago
Christopher Jolly 89515bb01a Fix some tests to catch DbException and its derived types. Thus catching OdbcException or OleDbException depending on which provider the tests were using 3 years ago
Christopher Jolly b23483ce45 Test fixes for escaping wild chars 3 years ago
Christopher Jolly ca05f94f6d Adjust some SQL results for the modification to the order by boolean 3 years ago
Christopher Jolly aa6b5afb9f Fix some more tests 3 years ago
Christopher Jolly 87aa0dbe93 Fix incorrect check for whether ordering expression is boolean typeexpression if it is a boolean type. 3 years ago
Christopher Jolly 03579d380c Add a JetGuidTypeMapping class. We need to override the template for the SQL literal. Jet uses the format with th curly braces at the beginning and end. Default (and same as sql server) is the format without curly braces 3 years ago
Christopher Jolly 8540a7cc17 Add extra Gear to the Reports collection of an Officer. We had adjusted a null foreing key to make it work and this makes the expected data match the actual 3 years ago
Christopher Jolly 17ca1f6992 Fix tests related to TimeSpan 3 years ago
Christopher Jolly e01686d4b5 MID doesn't allow a null value for the length parameter. Add a IIF wrapper around it if that argument is marked as nullable.
Added here instead of stringmethodtranslator as we need the nullability optimizations on the sqlfunctionexpression. When wrapped in a caseexpression we get some different optimizations. Produces the correct result on the test case but is different to SQL Server. This way we keep it closer to SQL Server
3 years ago
Christopher Jolly d594e7cf25 More test fixes 3 years ago
Christopher Jolly b002c884c7 Gears of War tests now run.
Also updated the baseline SQL
3 years ago
Christopher Jolly 3e376ff106 Fix byte array stuff 3 years ago
Christopher Jolly ccef0d4f49 Add Math functions to translate Floor and Ceiling 3 years ago
Christopher Jolly ba1a514a62 Fix more tests 3 years ago
Christopher Jolly a48c20c45c In a raw sql string the base delimiters and normalized to " and not `. 3 years ago
Christopher Jolly 3764d5ab27 Declaration is the same for both Odbc and OleDb 3 years ago
Christopher Jolly cef810999d Fix failed merge 3 years ago
Christopher Jolly 5ea5fdc446
Merge branch 'master' into ef7 3 years ago
Christopher Jolly 51037ec385 Use GenGUID function for DefaultValueSql instead of the undefined newid 3 years ago
Christopher Jolly ae722d9033 Ignore DateOnly and TimeOnly field in Gears Of War. No support yet 3 years ago