-
Notifications
You must be signed in to change notification settings - Fork 558
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
Older SQLServer support #397
Comments
That is correct and I am sorry if the decision puts you off. However, since I have maintained the SQL Server Adapter (around rails v2.1), the largest pain point has always been implementing limit/offset. Sure there are very common windowing functions like This decision is not done lightly and I believe it is for the best of the adapter project. What many people do not know is that ActiveRecord v4.2 is a DRAMATIC change from v4.1. Not from the public API, but from the internal implementation details. There was a ton of work done in 4.2 to prepare for the massive API changes in 5.0. For example, a new type system. These changes and many more like them are slowly decoupling the ActiveRecord internals to form a strong internal API. Sadly, this sometimes hurts database adapters like this one. In many places we are loosing hooks to do nasty hacks and monkey patches. This is not Rails core or anyone's fault and I agree with their changes. We also work with them closely to move it and us forward when we need special attention too.
True. But that is not a fair comparison. Almost every version of the 3 blessed Rails DBs support all the core features needed by ActiveRecord (specfically limit/offset) for as long as I can remember.
If you or anyone chooses option 3, I will link and promote that code/gem to the best of my ability. But make no mistake, this repo is moving forward without all those hacks and embracing the internal API changes for ActiveRecord adapters by removing our reliance on coupled interfaces within ActiveRecord. So again, sorry you disagree and can't use the v4.2. I am open to to solutions and willing to help where I can.
[1] When I say "capability" it is important to understand that this project only has a limited number of maintainers, mostly myself. I was about to give up on it too since I do not use SQL Server at work anymore. If that happened the v4.2 adapter may have never seen the light of day for quite some time. Thankfully with the support of a un-named corporate sponsor, I was brought back in and what you now see is a month and a half of very hard work. None of it would have happened if I had to support the crazy pain I have endured for this project over the past 5 years for limit/offset. |
Adding wayback machine link to blog post https://web.archive.org/web/20151022041435/https://metaskills.net/2015/01/25/activerecord-sqlserver-v4.2.0---code-name-kantishna/ diff of lib/arel/visitors/sqlserver.rb in 4-1 vs 4-2 |
I disagree with the decision to only support SQLServer >= 2012. We have corporate legacy data in older SQLServer databases. This effectively says we can't use Rails >= 4.2 Just because of the DB driver. I am pretty sure I can use a verity of versions in Porstgrsql and MySql... Would I have to install an older version of ActiveRecord? Would Rails complain about that? Alternatives would be appreciated...
The text was updated successfully, but these errors were encountered: