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
Christopher Jolly
0bfa24998f
Fix string methods related to LastOrDefault and Contains ( #175 )
...
* Fix string methods related to LastOrDefault and Contains
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
2f69290f44
Generate proper SQL for UPDATE and DELETE when we have multiple tables, select expression, joins
2 years ago
Christopher Jolly
21b07705ce
Return empty list for state indices when having parsed an empty string
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
c73f4a3013
Add the onDelete convention so that we match the behaviour of sql server when configuring self-referencing skip navigations. Ends up configured as ClientCascade instead of Cascade
2 years ago
Christopher Jolly
6fe74929cf
Remove tag lines/comments from the sql to be executed
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
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
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
Laurents Meyer
2e23e60dad
Remove duplicate string entry.
2 years ago
Christopher Jolly
fcb97a4e63
Improve support for primitive collections and Json Types ( #159 )
2 years ago
Laurents Meyer
d32eae0867
Update project in regards to new organization and CI. ( #160 )
2 years ago
Laurents Meyer
9babf78263
Revert "Type MApping: a long gets mapped to integer in Jet" ( #151 )
...
This reverts commit 05b10ea856 .
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
d359492662
Use reflection so we don't have to reference Odbc or OleDb in main package
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