Commit Graph

260 Commits (0d36ea7cb20566ae4f124e0f0f604ccf416ed06c)

Author SHA1 Message Date
Christopher Jolly ab7a424ef4 Fix up Design time services to work properly. Add-Migration command in VS will work now 3 years ago
Christopher Jolly 9843c0c8de Update DesignTimeService for Net 6 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 ef5c33cb74 [Fix]: No need for fancy conversion if there is a conversion expression on a Clr type which is an enum 3 years ago
Christopher Jolly ae21d832f1 Fix getting the schema for relations. Need both adox and DAO to get all fields 3 years ago
Christopher Jolly adbad89184 Fix check for unique 3 years ago
Christopher Jolly b78bbecf43 Do not generate SavePoint SQL. No-op 3 years ago
Christopher Jolly 58f0918d27 [Fix]: Use TryGetDefaultValue.. For an int property, GetDefaultValue will always return as a default 0 (a non null value), if TryGetDefaultValue fails. Thus the wrong ValueGenerationStrategy is returned 3 years ago
Christopher Jolly 093890fa66 [Fix]: Don't update the command to the trim'd version. If using an interceptor, it has already gotten the original commandText. Any comparisons between the actual result and the interceptor would fail 3 years ago
Christopher Jolly ee87572b2e Fix schema query: the ondelete and onupdate were added in the wrong order 3 years ago
Christopher Jolly 5341e45e80 Add translator for Jet Random 3 years ago
Christopher Jolly 2f2de12dd5 enable and fix tests 3 years ago
Christopher Jolly ed726d7478 [Fix]: Explicitly find DateTime in an IN expression and use the Jet formatting 3 years ago
Christopher Jolly b0624051b3 Fix check for correct type that this handles. Previous way of checking was overriding the Nullable Translator 3 years ago
Christopher Jolly 410ccb01c7 Add in support for .Parse methods on the simple types that support it (bool, int,double,datetime,byte,decimal,single) 3 years ago
Christopher Jolly 0bc5d04759 According to convention, if the property is the primary key and it is an integer, make it the identity column. This wasn't being set by default 3 years ago
Christopher Jolly 4eb1b0cdd8 Rewrite the COALESCE function into a form access can understand 3 years ago
Christopher Jolly b533695713 SqlExpressionFactory can't be used inside SqlGenerator so create the expressions manually. Fixes queries with conversions 3 years ago
Christopher Jolly ca0feb49d3 Add extension methods for the Fluent API IsClustered. Mainly for cross compaitiblity so that code written for multiple databases doesn't error. For Jet, the function won't do anything 3 years ago
Christopher Jolly 7dd239bea8 add compile fixes from upstream changes 3 years ago
Christopher Jolly 1f35ab88fd merge fixes from upstream 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 3b6fee5a89
Disable savepoint API, because it is not supported by Jet. (#126) 4 years ago
Laurents Meyer a9455f81ea
Use double workaround only for DateTime default values if millisecond support has been enabled. (#127) 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 09cfe3ac05
Add an IRelationalAnnotationProvider implementation. (#119) 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 426240084d net 6 update 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 c09660785d
Fix ArgumentNullException when creating a database. (#107) 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 db2c056b9f
Return default value for JetDateTimeTypeMapping derived classes as well. (#102) 5 years ago
Laurents Meyer ad5799ffa6
Return correct type mapping for DateTimeOffset with an explicit DATETIME store type set. (#101) 5 years ago
Laurents Meyer fedc4cc226
Fix create database operations and multi statement splitting with parameters (#97)
* Fix automatically assigned file extensions when creating databases.

* Fix parser to correctly return state indices of sub commands. This is a fix for commands containing more than one actual SQL command in its command text, when those multiple actual SQL commands are using parameters.
5 years ago
Laurents Meyer 3235e3ce41
Resolve IJetOptions for design time services. (#94) 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 1df41e8b43
Fix JetCommand regarding CREATE PROCEDURE statements and command splitting. (#87) 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
Laurents Meyer c473442c8d
Fix runtime checks for appropriate data access library version. (#84) 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
Laurents Meyer 2b44bac7ba Cleanup solution. 5 years ago
Laurents Meyer c5905a77ed Fix assembly name. 5 years ago
Laurents Meyer 56c347348f Fix packaging. 5 years ago
Laurents Meyer 64ebb61c0a
Rename System.Data.Jet to EntityFrameworkCore.Jet.Data (#75)
* Rename System.Data.Jet and System.Data.Jet.Test projects.

* Rename System.Data.Jet and System.Data.Jet.Test namespaces.
5 years ago
Laurents Meyer 568feee419 Adjust description of System.Data.Jet. 5 years ago
Laurents Meyer 72f445248e
Add ODBC and OLE DB specific packages (#74)
* Rename solution.

* Add ODBC and OLE DB specific projects/packages.

* Adjust package tags.
5 years ago
Laurents Meyer 0bdbc93032
Fix connection string conversion from ODBC to OLE DB. (#72)
Introduce new database password (in contrast to workgroup user password) extension methods (open issue).
Fix missing connection disposal in AdoxSchema.
5 years ago
Christopher Jolly 80ee311ef4
Add setting to use default value if column has an unexpected null value (#67)
* Add setting to use default value if column hasunexpected null value

* Add setting to use default value if column hasunexpected null value

* fix typo: UseDefaultValueOnDBNullConversionError
5 years ago
Laurents Meyer 6a7b28658d
Use new information schema syntax for HistoryRepository checks (#70)
* Use new information schema syntax.

* Block conditions are unsupported.
5 years ago
Laurents Meyer e1216f4915 Fix versioning and projects.
Reactivate tests, but ignored failed tests for now.
5 years ago
Laurents Meyer c661926684
Improve project and CI (#68)
* Update .NET SDK.
Improve CI.

* Simplify dependency management.

* Add new versioning mechanism.

* Implement CI package publishing.

* Add matrix for multiple ACE architectures.

* Fix xUnit warnings.

* Cleanup and enable SourceLink.

* Manually install .NET SDK to specify architecture.
Extend matrix to test for x64/x86 and ODBC/OLE DB.
5 years ago
Laurents Meyer a14d665d5a
Fix translation of parameterless Trim(), TrimStart() and TrimEnd() methods. (#64)
These methods are only available in .NET Core 2.0+ (or .NET Standard 2.1+).
5 years ago
Laurents Meyer 49d798f6c3
Change default data access library to ODBC. (#63)
Improve file extension handling.
5 years ago
Laurents Meyer 864be46354
Reimplement schema retrieval and scaffolding (#59)
* Reimplement schema retrieval.

* Reimplement scaffolder. Some Jet specific options have not been implemented yet.
5 years ago
Lau 226220dac6 Fix join statement generation. 6 years ago
Lau 1f35fca138 Reintroduce legacy support to emulate row skipping in the most outer SELECT statement, by letting JetDataReader ignore returned rows. 6 years ago
Lau 933caa3130 Add missing fixup. 6 years ago
Lau 244649330a Remove NEWGUID() and @@GUID support. They should not be necessary in EF Core and are currently used nowhere in the code base. 6 years ago
Lau 7aa5892184 Fix global variable placeholder handling.
Reactivate @@ROWCOUNT in INSERT/UPDATE generation.
6 years ago
Lau e0db14ee1f Make @@ROWCOUNT connection global. 6 years ago
Lau 1066d34e5b Support multi-statement commands again and correctly handle parameters. 6 years ago
Lau 1781ce29df Generalize and fix command parsing. 6 years ago
Lau 293286a767 Fix minor bugs. 6 years ago
Lau 43d5d39c69 Remove workarounds for Skip(), which is unsupported by Jet/ACE.
Implement better parameter support (including named parameters for ODBC).
Remove support for multiple statements in a single command, to support named parameters.
6 years ago
Lau d80b53e9b2 Fix join statement generation. 6 years ago
Lau 48bc49d3a4 Fix bool value mapping. 6 years ago
Lau db47437539 Provide `TOP` and `SKIP` support for ODBC commands and improve algorithm and use cases. 6 years ago
Lau 6141f1e581 Update still present square bracket identifiers to backticks. 6 years ago
Lau 0df985e00d Fix smaller issues and add TODOs. 6 years ago
Lau bdfbafa5f7 Implicitly add `ExtendedAnsiSQL=1` to ODBC connection strings. 6 years ago
Lau 1f42ec1f0a Implement automatic driver (ODBC) and provider (OLE DB) inference and detection. 6 years ago
Lau 4e2fa27535 Fix JetConnection and DbConnectionStringBuilderExtensions issue. 6 years ago
Lau f86cf6e0b4 Update existing and add new UseJet signatures. 6 years ago
Lau 3f19b269b4 Rename DataAccessType to DataAccessProviderType. 6 years ago
Lau 41579e74c9 Cleanup all remaining ODBC and OLE DB references. 6 years ago
Lau 11d56f868c Implement workaround for "To many tables" error:
ODBC Error Code: -1311 [HY001]
[Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
If too many commands get executed in short succession, ACE/Jet can run out of table handles.
This can happen despite proper disposal of OdbcCommand and OdbcDataReader objects.
Waiting for a couple of milliseconds will give ACE/Jet enough time to catch up.
6 years ago
Lau d502f6e3c6 Replace SQL related square brackets with backticks in all code and script files. 6 years ago
Lau 4d1f86bb0e Implement parallel support for ODBC and OLE DB. 6 years ago
Lau e6c100eaf6 Switch to multi-targeting. 6 years ago
Lau 71b5410cf0 Fix dispose pattern for releasing the RCW object.
Use `ReleaseComObject()` instead of `FinalReleaseComObject` to avoid creating stale references to the RCW of a potential singleton COM object.
6 years ago
Lau b117d4ea4a Cleanup code, remove dummy transaction and add missing Dispose() method to JetCommand. 6 years ago
Lau a71fcc1b69 Update solution and build/infrastructure files. 6 years ago
Lau e0409411c9 Fix issues in EFCore.Jet and simplify query generation based on tests. 6 years ago
Lau 24f9708927 Fix issues in System.Data.Jet and implement dynamic COM object handling. 6 years ago
Lau 583f990b8c Upgrade and fix System.Data.Jet and System.Data.Jet.Test to 3.1.x. 6 years ago
Lau 108a3beb40 Update and fix smaller System.Data.Jet issues. 6 years ago
Lau 24bf6032fa Remove obsolete files. 6 years ago
Lau 5829ca8189 Upgrade query pipeline to 3.1.x. 6 years ago
Lau a4328dabc6 Upgrade migration related files to 3.1.x.
The `JetMigrationsSqlGenerator` class needs to be thoroughly checked and tested.
6 years ago
Lau 6fffce90a8 Upgrade scaffolding related files to 3.1.x.
The Jet DatabaseModelFactory class needs to be checked and tested and its code similarity to the SQL Server provider should be increased.
6 years ago
Lau 70f2b880ca Upgrade sql update generation files to 3.1.x. 6 years ago
Lau 6e8cc34c72 Upgrade storage files to 3.1.x. 6 years ago
Lau 05ba7dea12 Upgrade value generation files to 3.1.x. 6 years ago
Lau d7df27a87b Upgrade infrastructure and internal files to 3.1.x. 6 years ago
Lau 885cbb4722 Upgrade diagnostics files to 3.1.x. 6 years ago
Lau 8ccf28871a Upgrade properties related files to 3.1.x. 6 years ago
Lau f4692333a1 Upgrade design related files to 3.1.x. 6 years ago
Lau ba29bf2516 Upgrade diagnostics related files to 3.1.x. 6 years ago
Lau 9fe1e408c0 Update shared files to 3.1.x. 6 years ago
Lau 0ee60b54b2 Upgrade infrastructure and internal files to 3.1.x. 6 years ago
Lau 985f618290 Adjust solution and project files. Replace occurrences of "SQL Server" with "Jet". 6 years ago
Lau e3d4027a15 Merge remote-tracking branch 'freddy/EFCore3.1_Test' into upgrade 6 years ago
Lau 47d677ddc9 Revert "Use `DbConnectionStringBuilder` instead of its OleDb equivalent."
This reverts commit 25f8685320.
6 years ago
FreddyD 99749b3cfb project cleanup 6 years ago
FreddyD a1f997c126 Remove unused code 6 years ago
FreddyD 28a4470ffd Remove unnecessary Alias 6 years ago
FreddyD a1a6736f40 Update references to EF Core 3.1 6 years ago
FreddyD e945f4cef8 Update considerations for .NET Standard 6 years ago
FreddyD a60d66f81e Misc updates 6 years ago
FreddyD 78c1952b3d Actually, I think we need to target .NET Core 3.0+ 6 years ago
FreddyD 2f6d457aca Update project files to be multi-targeted 6 years ago
FreddyD d6902868a0 Update project files to .net standard 6 years ago
Lau 25f8685320 Use `DbConnectionStringBuilder` instead of its OleDb equivalent.
Introduce some helper extension methods to access well defined OleDb properties, that `DbConnectionStringBuilder` knows nothing about.
6 years ago
Lau 3c692bb172 Fix an issue where we were always using the (changeable) static variable `JetConfiguration.OleDbDefaultProvider` for database create operations. 6 years ago
bubibubi d8773e19c1 closes #29 7 years ago
bubibubi 51b123f110 closes #26 7 years ago
bubibubi c9fe6f9562 Fixed tests 7 years ago
bubibubi 448cb4629b closes #15 7 years ago
bubibubi 80fda80a76 EF 2.2 Preview (Test 3129/6704) 7 years ago
bubibubi 62b0c4a20e closes #24 7 years ago
bubibubi ec18b5a643 Fix to JetTypeMappingSource 8 years ago
bubibubi f5c4ffdce1 closes #21 8 years ago
bubibubi 2bffcb83eb Release 2.1.0-preview2 8 years ago
bubibubi cbb31e95da Update for v2.1
Several tests not running
8 years ago
bubibubi def7a5cc6f Fix to Open StateChange event call 8 years ago
bubibubi 3a994afdec Fix tests, comments and minor fix to JetConnection.TableExists 8 years ago
bubibubi fc3e377766 Closes #10 8 years ago
bubibubi fe7c9caea0 Closes #5 8 years ago
bubibubi a024b51c50 Closes #7 8 years ago
bubibubi c8f75a935c Closes #3 8 years ago
bubibubi 258978dc37 Removed debug output 8 years ago
bubibubi 8dbf5c9ebc Fixed design tests 8 years ago
bubibubi 731949ac74 EntityFrameworkCore.Jet.Tests DONE 8 years ago
bubibubi 66971d4f50 Changing EFCore.Jet.Test and included in stream 8 years ago
bubibubi c2bf2582bb Test fixes 3917/1/868 8 years ago
bubibubi a6a40cf5e6 Fixed schema retrieve. Test status 3879/58/849 8 years ago
bubibubi 3f6288734d Other fixes 3636/757/584 8 years ago
bubibubi 630c22458d Test fixes 2127/2024/678 8 years ago
bubibubi ef0e31818f NuGet setup 8 years ago
bubibubi 763f735e6a Fix tests 2027 / 1235 / 634 8 years ago
bubibubi 85ad4ce57d Relaxed type check during materialization, Added partial support for DateTimeOffset type, Fix to DROP DATABASE parser, Added MSys* creation, Fixes to Gear test 8 years ago