Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration to scaffold framework for code-generation #82

Merged
merged 38 commits into from
Apr 22, 2023

Conversation

MaceWindu
Copy link
Contributor

@MaceWindu MaceWindu commented Oct 9, 2022

Fix #58
Fix #78
Fix #79

Major driver rework. Check release-notes.md file for all changes

Main changes:

  • migration to new scaffold framework
  • rework of settings dialog
  • bump .net framework requirements for LINQPad 5 driver to .NET Framework 4.8.0 to get rid of old dependencies and improve compatibility with providers without old netfx versions support
  • re-introduce DB2 iSeries support not today, postponed
  • add ClickHouse support

Note that there are several issues on linq2db side regarding schema and scaffold functionality for some providers, which will be fixed later

- migration to scaffold framework
@MaceWindu MaceWindu added this to the 5.0.0 milestone Oct 9, 2022
LinqToDB.Templates\T4Model.ttinclude = LinqToDB.Templates\T4Model.ttinclude
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LinqToDB.Tools", "..\linq2db\Source\LinqToDB.Tools\LinqToDB.Tools.csproj", "{91DE5A8B-4DF8-4E27-A33B-886563CF7612}"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

temporary refenrece to code from linq2db/linq2db#3803

- [LINQPAD7] dependency update: dotMorten.Microsoft.SqlServer.Types 1.5.0 -> 2.5.0
- [LINQPAD7] dependency update: FirebirdSql.Data.FirebirdClient 9.0.1 -> 9.0.2

# Release 4.2.0
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing 4.2.0 release notes

@MaceWindu MaceWindu changed the title [WIP] Migration to scaffold framework for code-generation Migration to scaffold framework for code-generation Apr 11, 2023
@MaceWindu MaceWindu marked this pull request as ready for review April 11, 2023 14:50
Copy link
Contributor

@viceroypenguin viceroypenguin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Preliminary infra review - I haven't read any of the code yet.

Build/README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
Source/Compat/IsExternalInit.cs Outdated Show resolved Hide resolved
Source/Compat/NullableAttributes.cs Outdated Show resolved Hide resolved
Source/Compat/SkipLocalsInitAttribute.cs Outdated Show resolved Hide resolved
release-notes.md Outdated Show resolved Hide resolved
@igor-tkachev
Copy link
Member

ClickHouse FinedString(20) SQL type is converted to byte[]. Needs to be string.

Copy link
Member

@igor-tkachev igor-tkachev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Provider names for ClickHouse are confusing. Add Octonica/ClickHouse.Client suffix.

Copy link
Member

@igor-tkachev igor-tkachev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ClickHouse Octonica provider is not working for plain SQL.

Switch Language to SQL and execute

select version()

Specified method is not supported.

@MaceWindu
Copy link
Contributor Author

ClickHouse FinedString(20) SQL type is converted to byte[]. Needs to be string.

ClickHouse actually doesn't have string data type. FixedString (and String) are binary types not representable as strings in general. But we can add option to use string for them

Provider names for ClickHouse are confusing. Add Octonica/ClickHouse.Client suffix.

done

ClickHouse Octonica provider is not working for plain SQL.

Provider bug. LINQPad tries to save data to DataSet which calls schema API, not implemented by Octonica provider: Octonica/ClickHouseClient#55

There is also another bug with Octonica and raw SQL for queries that doesn't return data (DML/DDL): Octonica/ClickHouseClient#75

BTW, I would recommend to use HTTPS protocol provider as it has much less issues than other ClickHouse providers. And it could be used in .NET Framework too

@MaceWindu
Copy link
Contributor Author

we can add option to use string for them

option added

@MaceWindu MaceWindu merged commit d18f9a7 into master Apr 22, 2023
@MaceWindu MaceWindu deleted the feature/scaffold_framework_migration branch April 22, 2023 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants