rails-sqlserver / tiny_tds

TinyTDS - Simple and fast FreeTDS bindings for Ruby using DB-Library.
Other
605 stars 191 forks source link

ruby 3x support #521

Closed bryanwieg closed 1 year ago

bryanwieg commented 1 year ago

@aharpervc , if you have a moment, just let me know if this is headed in a good direction. seems ruby 3.0 is passing with little change needed

as a matter of note, a bit off topic perhaps, for the short term: i have already discovered that ruby 3.1 introduces some sort of breaking change to the gem.

all tests fail as unable to connect to sql server. and, even worse, the gem causes the 2017-ga version of mssql to crash upon attempting to connect. mssql cli will even return error "TCP Provider: Error code 0x2746" until the sql service is restarted. although later versions of mssql do not hard crash when the gem attempts to connect, the gem is still unable to successfully connect and pass any tests.

i only spent a short time on it. the resolution may reside in another dependency that needs to be updated, and i figured for now it may be good to just focus on ruby 3.0 since it seems rather straight forward.

please let me know any observations or thoughts you have

aharpervc commented 1 year ago

all tests fail as unable to connect to sql server. and, even worse, the gem causes the 2017-ga version of mssql to crash upon attempting to connect. mssql cli will even return error "TCP Provider: Error code 0x2746" until the sql service is restarted. although later versions of mssql do not hard crash when the gem attempts to connect, the gem is still unable to successfully connect and pass any tests.

Exciting lol

please let me know any observations or thoughts you have

There's a couple more changes I'd like to see in the CI config (could be this PR or separate PRs or a mix);

andyundso commented 1 year ago

hello @bryanwieg / @aharpervc, I wanted to ask what's the state with this pull request as I'm currently blocked on one project that uses Windows to upgrade to Ruby 3.

Given what's documented here, I could also cherry-pick the necessary changes for Ruby 3 and create a new PR to get a timely release (or pre-release). Then we could continue with implementing the proposed CI improvements and start on the Ruby 3.1 / 3.2 changes. what do you think?

bryanwieg commented 1 year ago

it may be best for you to open another pr. i've had to divide my attention to multiple projects here.

As a side note, i want to report that i may have found the issue with ruby 3.1 and the tests. it looks like it has to do with tls. setting the build option for freetds to not use openssl and instead use gnutls --with-gnutls seems to help with the issue.

in any case, it could potentially be a few months before i can resume work on these pr's