Commit Graph

325 Commits (f200f33452e25422388bced2326ee2fce1ca2c7c)

Author SHA1 Message Date
Christopher Jolly b10b3bc348 update green test files as some test classes were removed 1 year ago
Christopher Jolly ba02f1cfbd more test updates 1 year ago
Christopher Jolly 28b6768a4c update tests 1 year ago
Christopher Jolly 45bae420e2 Initial ef9 update. Mostly just getting the files to compile with all the ef9 changes 1 year ago
Christopher Jolly d20cafa6bf
Cleanup unneeded code (#246)
* remove some unnecessary stuff
2 years ago
Christopher Jolly 2d5930abc9
Up date to latest ef core dependency (#244) 2 years ago
Christopher Jolly 6ad608581b
Fix DateTimeOffset Now and UtcNow (#235)
* Fix DateTimeOffset Now and UtcNow
2 years ago
Christopher Jolly 183a5b9a25
Update EF Core (#233)
* update ef core

* catch exceptions on some newly failing tests. Bug in upstream

* [GitHub Actions] Update green tests.

---------

Co-authored-by: github-actions <github-actions@github.com>
2 years ago
Christopher Jolly 41dab6c5c5
Better support for byte arrays (#228)
* fix array index and array length for byte arrays

* [GitHub Actions] Update green tests.

* Fix Contains with byte array. and fix getting length if an odd number of bytes

* fix array index and array length for byte arrays

* Fix Contains with byte array. and fix getting length if an odd number of bytes

* Enforce an optin methodology using EF.Functions for the byte array length due to certain situations with unicode strings

* Split error message and details into 2 parts
2 years ago
github-actions 17e8819a92 [GitHub Actions] Update green tests. 2 years ago
Christopher Jolly 7f85d5f87c Jet has 7 decimal digits precision for single/float and 15 for double. Parameter values are automatically sorted out if they have more digits but a inline constant value could use more digits. This lead to the case where a stored double used 15 but the query with the constant used more. When comparing they were thus not equal when they should be equal 2 years ago
Christopher Jolly f1e0a0e956 SupportsAnsi should be false
Update some tests
2 years ago
Christopher Jolly 4f98215bd0 more tests 2 years ago
Christopher Jolly 0db31fcb2e Fix same parameter name on contains/startswith/endswith. See efcore#32432 2 years ago
Christopher Jolly a95891737c add some test fixes 2 years ago
Christopher Jolly 59c6b91d13
Generating idempotent scripts is not supported (#223)
* Generating Idempotent scripts is expected to throw a not supported exception
2 years ago
Christopher Jolly d94c8a758e
Workaround for ValuesExpression (#222)
* Implement a workaround for the VALUES expression in a SELECT
2 years ago
Christopher Jolly 8d6b893c62
Update dependency to EF Core 8.0.2 (#221)
* update to ef core 8.0.2
2 years ago
Christopher Jolly 185e3ef4d8
ODBC Fixes (#220)
* Fix parameter config for decimal and long when using odbc

* DateTime.Date needs its output type mapping to be a datetime

* use decimal as base for currency

* update tests

* Fix DateTime.Date null checking
2 years ago
Christopher Jolly b0b8dffcca
Some tests need the GUID to be formatted with braces so that it matches what is returned from Jet (#219) 2 years ago
Christopher Jolly 4e0e0d743c
Map the Zero DateTime in C# to the zero equivalent in Office Ole Automation (#214)
* Map the Zero DateTime in C# to the zero equivalent in Office Ole Automation
2 years ago
Christopher Jolly db0567510f
Update some tests (#213) 2 years ago
Christopher Jolly c963aa4800
Improve the de duplication in the ORDER BY clause (#211) 2 years ago
github-actions 5913805107 [GitHub Actions] Update green tests. 2 years ago
Christopher Jolly 722d1264e7 Fix tests based on BuiltInDataTypes. There is not millisecond support for time based data types and no offset on the DateTimeOffset. We need to override the full test and all of its helper functions as the test values are hard coded inside 2 years ago
Christopher Jolly f14e552abf Fix NULL value returned on parameter in a projection when the parameter is used in a subquery projection and parent references it in a group by 2 years ago
Christopher Jolly e4770f4f04 There is no function to create a new guid in MS Access. Translate Guid.NewGuid client side while generating the SQL 2 years ago
Christopher Jolly 783725e4d4 Turn off the Calculated Column for Data1 on table WithSomeDatabaseGenerated as it is not supported. Adjust the tests to manually calculate it client side. Adjust the cleanup sql to make it work 2 years ago
Christopher Jolly 7fec659065 Remove unsupported tests 2 years ago
Christopher Jolly b3ac6b70c1 Some sql output only fixes 2 years ago
Christopher Jolly 70942d7562 Don't throw error on translating ElementAtOrDefault. This is just operating on the standard rows and not any json. Effectivbely translates at Skip(x) Take(1) 2 years ago
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