Commit Graph

144 Commits (0bc5d04759bf8bfd9b284bc7227d7d6b2a098bc3)

Author SHA1 Message Date
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