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
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
Christopher Jolly
88ab948f12
Gears of War has DateOnly/TimeOnly fields. Currently ignore
3 years ago
Christopher Jolly
d9494d6a66
Update tests
3 years ago
Christopher Jolly
5c4677bd8f
update tests
3 years ago
Christopher Jolly
4219015cc0
raw string literals not supported in net6
3 years ago
Christopher Jolly
e14b48db47
Update tests
3 years ago
Christopher Jolly
710376d50f
Enable nullable on src projects (not tests)
...
Fix Math and String translator to add missing translations and make it similar to how sql server generates
Update lots of tests
3 years ago
Christopher Jolly
0f2b0c3447
Update to EF 7 GA version
3 years ago
Christopher Jolly
b80c0c8128
Update tests
3 years ago
Christopher Jolly
0e7d080ebd
Initial ef7 update
3 years ago
Christopher Jolly
ca1b158a72
Update tests
3 years ago
Christopher Jolly
75e381b52c
Update tests
3 years ago
Christopher Jolly
cf4bbf213f
Update tests
3 years ago
Christopher Jolly
8135a01750
Update Northwind SQL: Use a better format for the dates. When using it with the / separator, whether it is day then month or month then day is interpreted based on your locale. Using the #yyyy-mm-dd# format is interpreted the same way more consistently
3 years ago
Christopher Jolly
4554aad38e
Update the translator for the string methods to add a couple more: Substring, IndexOf,FirstOrDefault,LastOrDefault
3 years ago
Christopher Jolly
ab7a424ef4
Fix up Design time services to work properly. Add-Migration command in VS will work now
3 years ago
Christopher Jolly
81f6cbb254
revert to use our stringtypemapping to generate the sql literal. Some regex depends on using this format to pick the filename from the connection string
3 years ago
Christopher Jolly
d100231ce9
[Tests]: Update tests
3 years ago
Christopher Jolly
d51935d04a
[Fix][Test]: Exception can be either OleDb or Odbc
3 years ago
Christopher Jolly
2f2de12dd5
enable and fix tests
3 years ago
Christopher Jolly
d42cf1e346
Fix tests: Use helper method to create connection - will use database named for the test - gives each test a unique name so doesnt interfere with others at the same time. The rest of the tests already use it, these couple were just missed
3 years ago
Christopher Jolly
ed8f109855
update tests to build
3 years ago
Christopher Jolly
1f35ab88fd
merge fixes from upstream
3 years ago
Christopher Jolly
de09de2b5f
update dependencies
3 years ago
Laurents Meyer
6a8ccd27de
Fix transactions issues ( #129 )
...
* Fix active transaction support and disposed handling.
* Add transaction baseline tests.
* Fix transaction tests.
4 years ago
Laurents Meyer
7214d3ca9f
Improve test infrastructure.
4 years ago
Laurents Meyer
120a47746a
[PORT] Improve `counter` type handling and add missing `counter` usage cases ( #121 )
...
* Improve counter type handling. (#112 )
* Add missing counter usage cases.
* Adjust tests.
4 years ago
Laurents Meyer
1eb7ec7793
Fix EXIST handling in regards to line breaks. ( #117 ) ( #118 )
4 years ago
Laurents Meyer
e9d4aef876
[PORT] Do not create Index-Operations with the same name as ForeignKey constraints ( #115 )
...
* In contrast to SQL Standard, MS Access will create an index together with a the FK constrains (#114 )
According to https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/constraint-clause-microsoft-access-sql
this can be deactivated, however creating an index with the same name as an FK still results in an runtime error, therefor the index creation operation is skipped
Co-authored-by: Michael Steinecke <m.p.steinecke@gmail.com>
* Update to 5.0 and cleanup code and comments.
Co-authored-by: Michael Steinecke <6099045+MichaelSteinecke@users.noreply.github.com>
Co-authored-by: Michael Steinecke <m.p.steinecke@gmail.com>
4 years ago
Christopher Jolly
b1fa143d4d
Update to .Net 5 ( #99 )
...
* update to net 5
* Add DecimalTypeKey to the logger
* fix build
* fix sdk version for script
* Update dependencies.
* Fix version and dependencies.
* Readd necessary code paths, fix smaller upgrade issues, cleanup code.
* Fix project files.
* Fix tests.
* Readd removed JetQueryTranslationPostprocessorFactory injection.
Fix date/time related millisecond (double) support.
* Fix value generation.
Co-authored-by: Laurents Meyer <laucomm@gmail.com>
4 years ago
Laurents Meyer
12614cd7a1
Ensure columns of relationships (FK -> PK/AK) are applied in the original order, when scaffolding. ( #104 )
5 years ago
Laurents Meyer
3595734d47
Fix remaining EFCore.Jet.Data tests ( #92 )
...
* Refactor dual table handling.
* Fix remaining EFCore.Jet.Data tests.
5 years ago
Laurents Meyer
b749447fd0
Add support for PASSWORD clause in EFCore.Jet specific CREATE DATABASE statement ( #91 )
...
* Add support for PASSWORD clause in EFCore.Jet specific CREATE DATABASE statement.
* Add negative test.
5 years ago
Laurents Meyer
45dcfbe0dd
When creating databases, automatically use the latest database version that is supported by the current file extension. ( #90 )
5 years ago
Laurents Meyer
56bf71b17f
Fix schema and rename related issues and tests ( #89 )
...
* Fix schema and rename related issues and tests.
* Adjust rename syntax for better standard conformity.
5 years ago
Laurents Meyer
45e7d8a365
Fix CREATE/DROP DATABASE related issues. ( #88 )
5 years ago
Laurents Meyer
00178eb0cd
Fix DateTime fractions logic and make milliseconds support opt-in ( #86 )
...
* Ensure deterministic test ordering.
* Fix DateTime factions logic.
* Make milliseconds support opt-in.
* Fix logic and add tests.
* Fix DateTime related OLE DB parameter configuration.
5 years ago
Laurents Meyer
54b4af5759
Fix DateTime expressions for HasDefaultValue() and add support for fractions of a second ( #85 )
...
* Fix and improve test runs.
* Fix DateTime expressions for HasDefaultValue() and add support for fractions of a second.
Refactor test infrastructure.
5 years ago
xoniuqe
b0d53d30ce
Fix DEFAULT clause for HasDefaultValueSql() ( #81 )
...
* Removed parenthesis from column default values (addresses issue #18 )
* Fixed issue where the file handles were not being released after the database connection was closed.
* reverted accidentally changed file to upstream version
* Fixed issue where the file handles were not being released after the database connection was closed.
* reverted accidentally changed file to upstream version
* Add accompanying tests for PR #81 .
Co-authored-by: Collin Kostichuk <collin.kostichuk@genivar.com>
Co-authored-by: Collin Kostichuk <collin.kostichuk@wsp.com>
Co-authored-by: Tobias Arens <arens@jam-software.de>
Co-authored-by: Laurents Meyer <laucomm@gmail.com>
5 years ago
Laurents Meyer
f094f3658c
Fix data and test infrastructure and scaffolding ( #82 )
...
* Fix local references.
* Optimize, fix and simplify JetDataReader.
* Only scaffold objects if tables are available.
* Fix test infrastructure.
* Ignore Development.props in root folder.
5 years ago
Floris Verhoeven
23b8257fc8
Trim called without arguments throws index out of range ( #77 )
...
* Check arguments before accessing in jet string method translator
* Change expected result on to lower and to upper query tests
* Change expected result on trim query tests
* Remove original fix and fix condition chaining in trim clause generation
Co-authored-by: Floris Verhoeven <florisverhoeven@outlook.com>
5 years ago