linq2db / linq2db.LINQPad

linq2db.LINQPad is a driver for LINQPad.
MIT License
74 stars 23 forks source link

Migration to scaffold framework for code-generation #82

Closed MaceWindu closed 1 year ago

MaceWindu commented 1 year ago

Fix #58 Fix #78 Fix #79

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

Main changes:

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

igor-tkachev commented 1 year ago

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

MaceWindu commented 1 year ago

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: https://github.com/Octonica/ClickHouseClient/issues/55

There is also another bug with Octonica and raw SQL for queries that doesn't return data (DML/DDL): https://github.com/Octonica/ClickHouseClient/issues/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 commented 1 year ago

we can add option to use string for them

option added