Commit Graph

294 Commits (76250d2aa83dee274a29bd33cc32d6c6ddc2de08)

Author SHA1 Message Date
Christopher Jolly 0cdd3066e1 Fix the DateTime Member translator. It wasn't translating the static Today member (as it was a static and not instance member) 2 years ago
Christopher Jolly e797aa7b94
Optimization to throw on a split query with offset but no order by (#209) 2 years ago
Christopher Jolly 9a41af323d
EF Core Dependency Update (#208)
* Update EF Core to 8.0.1
2 years ago
Christopher Jolly ff8c50a1dc
Improve handling executing scripts in the tests (#207)
Executing the SQL script to set up the Northwind database was quite slow during debug. This speeds it up
2 years ago
Christopher Jolly 7fb522e90f
Move the SkipTake to its own processor (#206)
* Move the SkipTake to its own processor

This handles the queries with Offset and Limit better as there are other linq methods that manage to set the Limit (e.g. First)
2 years ago
Christopher Jolly 32911aff2d
Turn off the OnAdd value generated strategy when the TPC mapping strategy is set (#204)
* Turn off the OnAdd value generated strategy when the TPC mapping strategy is set
2 years ago
github-actions 977d524a60 [GitHub Actions] Update green tests. 2 years ago
Christopher Jolly 165c195180 Use a different string for the ReallyLargeString. When using the new line the string concatenation of chr(10) & chr(13) etc became too complex for Jet 2 years ago
Christopher Jolly 580b3c5cde
Fix Any,All,Contains with Many to Many relationships within a Where clause (#202)
* Fix Any,All,Contains with Many to Many relationships within a Where clause
2 years ago
Christopher Jolly c30796cffe
Remove UDF function tests. No Jet support (#201)
Remove the UDF (user defined functions) tests. There is no support for these functions in Jet
2 years ago
Christopher Jolly 12bbf0470f
Reintroduce the SkipTakeCollapsingExpressionVisitor (#200) 2 years ago
Christopher Jolly 99c266297e
Fix up some datetimeoffset tests (#199) 2 years ago
Christopher Jolly a074e5cac4
Assert Translation Failed for certain primitive collection tests (#198) 2 years ago
Christopher Jolly 2afe8f05ba
Ensure strings with length greater than 255 are converted to long text/memo (#197)
When the option to use the short text (aka varchar) as the default for System.String, if we have a attribute or fluent api that sets its max length to greater than 255 it would stay as varchar, which is invalid with a length greater than 255.

Fix this to upgrade this instance to an unbounded string. This will use the long text/memo data type in Jet (longchar)
2 years ago
Christopher Jolly df7b86ac96
Misc test fixes (#196) 2 years ago
Christopher Jolly 7b6ee168e2
Properly read and write UTC values for DateTimeOffset (#188)
MS Access does not have a DateTimeOffset data type so the value should be converted to UTC and saved as a normal date/time

This fixes 2 things

Regression in 7.0 series where the DateTimeOffset was being written as Local time and not UTC.
When reading the value and converting from a DateTime, the Offset value ended up being implicitly set to the systems local time zone offset. A DateTimeOffset from a UTC value should actually have an offset of 0. This has been wrong since the 2.2 series
2 years ago
Christopher Jolly 73875b9832
Revert the behaviour of DateTimeOffset to how it was in the 7.0 series (#184)
* Revert the behaviour of DateTimeOffset back to how it was in the 7.0 series
2 years ago
Christopher Jolly 472f6b4665 Remove Complex Navigations Shared classes from the tests. The table structure is too complex for Jet and goes over its limits. Not able to make work 2 years ago
Christopher Jolly 1c29984574
Improve handling of scalar subqueries in order by clause (#177)
* Add expression visitor to locate a scalar subquery. Handles finding deeper subqueries better than original code.
Also handle the case where the expression can be regarded as scalar (i.e. has a TOP 1 and projects only one field). In that case we rewrite the projections so that we take out any previously added projections as it is clear we are not needing it higher up in the SQL
2 years ago
Christopher Jolly 9e9ef1bd2b
Update dependencies to .Net/EF Core 8 RTM (#176)
* Update dependencies to the RTM version of .Net 8 and update the expected SQL queries with regards to any changes in the base tests
2 years ago
Christopher Jolly 0bfa24998f
Fix string methods related to LastOrDefault and Contains (#175)
* Fix string methods related to LastOrDefault and Contains
2 years ago
github-actions d7d4f90366 [GitHub Actions] Update green tests. 2 years ago
Christopher Jolly be944b3192 Fix some result sql differences between oledb and odbc 2 years ago
Christopher Jolly dbe3bf7e89 The DELETE statement in Jet doesn't take the TOP clause like SQL server. Limit the valid select expressions to those that do not use TOP. EF Core will then rewrite it into a WHERE EXISTS clause to use in the DELETE. Valid select expressions are able to be used directly in the DELETE/UPDATE 2 years ago
Christopher Jolly 72868961c4 Remove green marked tests as we don't have that test class anymore 2 years ago
Christopher Jolly 4b295003a9 Minor updates 2 years ago
Christopher Jolly 8045af8570 Ensure all tests overriden in this class 2 years ago
Christopher Jolly 2e4f22e30d Remove JsonQuery and JsonUpdate tests as none work and will never work.
Add the base classes to the ignore list in the compliance test
2 years ago
Christopher Jolly 59e9723548 Add sql checks on more tests for NullSemantics 2 years ago
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