kysely-org / kysely

A type-safe typescript SQL query builder
https://kysely.dev
MIT License
10.44k stars 266 forks source link

Legacy Tedious Prior to v18 Support / Documentation #1095

Closed mjbergman92 closed 1 month ago

mjbergman92 commented 1 month ago

If using Tedious v17 like me for MS SQL*, you must provide the cancel method for the TediousConnection because the type changed from () => void to () => boolean.

*Tedious v18 introduced a driver that does not work for MS SQL Server 2012, or at least the 2012 I need to connect to

mjbergman92 commented 1 month ago

I understand that according to the Contributing manifest (is it referred to as manifest?, idk), making pull requests is pretty relaxed, which has a lot of upsides as someone who would like to contribute with things that I need for my own purposes.

Could I get some brief direction on contributing to the docs or a link to that? (If it does not exist, I could also do that. I really really like this project, and no one should have to experience this issue without some documentation again).

igalklebanov commented 1 month ago

Hey 👋

Thanks for raising this! This alone will help anyone with the same issue.

Let me see if I understand this correctly.. On tedious < 18, you have to pass a cancel callback to the connection constructor? This seems like tedious knowledge, and since kysely doesn't wrap the connection constructor, it belongs to tedious' documentation.

If there's something on kysely's end that's stopping you, lemme know.

mjbergman92 commented 1 month ago

I just wanted to point it out. There are several functions, I think like 10 in total that are expected after updrading to a newer verision of tedious, it was 16.4.1 for me. CORRECTION: Version of tedious > 16 has the additional fields, or at least thats when I got the errors. I tested 17 and have the same issue as 18. I can not do the digging to figure out exactly when the changes came about, but I know that tedious 16.4.1 works for me and after trying to upgrade, it does not, and these 10 or so additional/modified props are required or need modification from the prior instanciation.

igalklebanov commented 1 month ago

afaik, kysely should still work with tedious 16. If you're getting TypeScript errors when creating the dialect instance, just as any.