Commit Graph

333 Commits (00c79ae5415ea4871b890159beebe1469a0dd18a)

Author SHA1 Message Date
Christopher Jolly 80ae790a64 Fix tests for Nullable ToString efcore #34014 and #33940 1 year ago
Christopher Jolly 05dd4b6180 More test fixes 1 year ago
Christopher Jolly 8c7a189260 Upgrade EFCore to a daily build. Currently just after preview 7 1 year ago
Christopher Jolly fcb79337ae Some of these cases do work 1 year ago
Christopher Jolly 14d21012c0 Don't try to bulk skip any unsupported cross join. Current test skips too many that should go through and works 1 year ago
Christopher Jolly 3d85f906f5 Trhow Jet specific errors on more unsupported SQL. Allows us to bulk mark as skipped 1 year ago
Christopher Jolly e570dfbf0f Set operations within an IN mustnt be simplified and must be encased within a SELECT 1 year ago
Christopher Jolly c09c874a5d Use lowest datetime value possible when doing a firstordefault. Default with Jet (0 value) is not the lowest 1 year ago
Christopher Jolly 8ab1767b37 More fixes 1 year ago
Christopher Jolly bd279b6bc6 Fix IndexOf 1 year ago
Christopher Jolly 043a9905a7 make sure all tests that should be overridden are 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 c51b182962
AdoX GetRelations returns all key types not just foreign keys (#245)
* GetRelations only needs to return rows for foreign keys and not unique or primary keys. This makes it match DAO
2 years 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 d8d47443f0
Add option to ignore msys tables when scaffolding (#236)
* Add option to ignore msys tables when scaffolding
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
Christopher Jolly 2e4782677b
change the min required version of oledb and odbc to 8.0.0 (#232) 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 25e381faa2 string keys are allowed to be case insensitive. Add in the correct comparer if needed 2 years ago
Christopher Jolly 0db31fcb2e Fix same parameter name on contains/startswith/endswith. See efcore#32432 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 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 c963aa4800
Improve the de duplication in the ORDER BY clause (#211) 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 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 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
Christopher Jolly dcca36386c Make NULL a variant in the case the type is an enum. This is in addition to when it is a numeric type 2 years ago
Christopher Jolly 3f6cc90f8f Handle another Jet UNION quirk with NULL values. A string value could be returned when the store and expected type is a byte 2 years ago
Christopher Jolly 88b3cba005 RetryingExecutionStrategy: Look at the HResult from the actual exception. When trying to create our own pseudo exception for test purposes. We are unable to get an IErrorRecords object, so that we can set the error data and add it to the list of errors. May need to look at a CoCreateInstance method to do it properly or just leave it as is 2 years ago
Christopher Jolly 9cd87c05e0 We need to mark the query getting the affected number of rows as returning a result set that contains a row with the number of affected rows from the previous operation. Without it, the result would be read from the row count of the current SELECT 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 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 ee8cfdb21f
Add option to configure the manner of mapping DateTimeOffset (#180)
* Add option to configure how to save/map a datetimeoffset i.e. as string or as a datetime
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