Christopher Jolly
dc049d804d
Do the same clr type check when mapping "text" as what we do for other store type mappings. This allows conversions do work better (e.g. originally a mappingInfo with a System.Char type was passed in with store type of "text" and a variable length or unbounded string type was returned but with clr type of System.String. Going with the extra checked returns null and gets EF Core to find a converter and then do the mapping again on the converted type
3 years ago
Christopher Jolly
ee54f1fac0
Use MidB/InstrB for the byte versions. (still doesnt produce correct results yet)
3 years ago
Christopher Jolly
7de8811773
Some tests adjustments
3 years ago
Christopher Jolly
ee30910fa9
Update the ValueGeneratorSelector to current ef core style. Don't rely on sequential guid's as Jet doesn't order them properly (treats them as string as sorts them numerically/alphabetically)
3 years ago
Christopher Jolly
0eb8baefa9
Add a clause/filter to the index to ignore nulls
3 years ago
Christopher Jolly
306585af13
When dealing with convert, if we don't have a specific conversion function, try just send the original operand and let Jet work with the types. Seems to be fairly lenient
3 years ago
Christopher Jolly
6cb1748237
Remove sbyte from clr mappings. Not needed as EF Core will use automatic conversions for those types. EF Core SQL Server behaves the same
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
3b0bc7d5ad
Fix the GetValueGenerated function. Was not being called and as such for an identity the ValueGenerated.OnAdd was not being set
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
78f3dbae15
Use our own Byte type mapping for generating the correct string literal
3 years ago
Christopher Jolly
bc5b51fa4a
Fix check against typeof JetBoolTypeMapping. For the tests Everything is Bytes/Strings all type mappings are the same which makes the check not behave correctly
3 years ago
Christopher Jolly
f15d60aaab
Fix escaping wild chars. Use the correct form to escape. Also the LIKE clause does nt have an ESCAPE clause to set the escape char so set that to null
3 years ago
Christopher Jolly
ca05f94f6d
Adjust some SQL results for the modification to the order by boolean
3 years ago
Christopher Jolly
73ef68188f
Ordering of boolean: Rather order by the NOT expression rather than change the ascending or descending order. NULL values are handled in the correct order now
...
Division: If the result of the binary is meant to be integer, use the Jet binary divide operatior '\'
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
1b9eaab03f
Beta 1
3 years ago
Christopher Jolly
17ca1f6992
Fix tests related to TimeSpan
3 years ago
Christopher Jolly
d7033125be
Properly read a TimeSpan value from the database.
...
Add member translator for timespan so SQL works
3 years ago
Christopher Jolly
096a0955e2
Add JetQueryableMethodTranslatingExpressionVisitorFactory if needed to override anything from it
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
9355ddb293
LEN propagates nullability
3 years ago
Christopher Jolly
a11ca0198d
Add SqlTranslatingExpressionVisitor:
...
- Handles array index of byte[] (currently not working)
- Returns a not translated if we have arithmetic between dates/times. See Projection_containing_DateTime_subtraction in NorthwindSelectQueryJetTest
3 years ago
Christopher Jolly
2b0f468421
Fix conversion translator: only need to translate Convert.To... functions. Was trying to convert other tostring methods and was picking the methods that required an argument which was typically the tostring functions with arguments of the format string or the format provider
3 years ago
Christopher Jolly
a2db5066e1
The object tostring translator was doing it on the server. It needs to be handled on the client to get the actual name of the enum rather than its int value
...
Also handles the boolean special cases
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
b107b2235d
SqlExpressionSimplifyingExpressionVisitor simplifies nested coalesce calls into the form of COALESCE(arg1,arg2,...argn)
...
Jet doesn't have any equivalent so unroll into nest iif calls
3 years ago
Christopher Jolly
fca911d6c0
Set 7.0 alpha 2
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
458197e582
Pass the current dataaccessproviderfactory type to CreateDatabase. Preference will take place using this type before going to the default in case it can't find the type via the connection string.
...
Fixes #135 and #122
3 years ago
Christopher Jolly
a7d503689b
Update README.md
...
Show badge for latest prerelease on nuget
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
f753bc68ea
Don't call SearchConditionConvertingExpressionVisitor. Some nullability optimizations through ParameterBasedSqlProcessor and SqlNullabilityProcessor need to be called first and they call SearchConditionConvertingExpressionVisitor
3 years ago
Christopher Jolly
9464868c1d
Reverse the order of the indices. We need to work backwards on the string to keep the indices correct
3 years ago
Christopher Jolly
b9e000dde2
Update Version.props
...
Start v7 from alpha 1
3 years ago
Christopher Jolly
042f843a0f
Merge pull request #134 from ChrisJollyAU/ef7
...
Update to EF Core 7
3 years ago
Christopher Jolly
cef810999d
Fix failed merge
3 years ago
Christopher Jolly
0018d44d88
Fix JetStringMethodTranslator
...
JetStringMethodTranslator: Merge left 2 copies of some functions around
3 years ago
Christopher Jolly
5ea5fdc446
Merge branch 'master' into ef7
3 years ago
Christopher Jolly
4b7e8e6d2d
Update version to 7
3 years ago
Christopher Jolly
9597fbc23e
Merge pull request #133 from ChrisJollyAU/net6
...
Merge updates from working branch
3 years ago
Christopher Jolly
dd223df6fe
update to alpha 2
3 years ago