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

Merge ODBC restoration from 5.1 to 5.2 #13

Open
wants to merge 15 commits into
base: 5-2-stable-with-odbc
Choose a base branch
from

Conversation

smlsml
Copy link

@smlsml smlsml commented Sep 5, 2019

I create the 5.2 branch in this repository from the base repository.

First I cloned the base repository, then checked out 5-2-stable branch:

git clone https://github.com/rails-sqlserver/activerecord-sqlserver-adapter.git
git checkout 5-2-stable

Then I added this forked repository as an additional upstream:

git remote add avfork https://github.com/cloudvolumes/activerecord-sqlserver-adapter.git

Then I pushed the HEAD of the that branch (5-2-stable) to that the avfork repository:

git push -u avfork HEAD

We probably want to rebase these changes on top of the branch instead of merge them because we really just want to repeat the changes on top of whatever changes went into 5.2 as some of the files that we changed may have changed underneath us.

Sukeerthi Adiga G and others added 12 commits May 15, 2019 18:57
ActiveRecord SQLServer Adapter defaults to TinyTDS. And the support for
ODBC has been removed. This is the effort to support Adapter with ODBC
Driver again.

- ruby-odbc is now pointed to https://github.com/cloudvolumes/ruby-odbc
- restricted sqlite3 version to < 1.4
…he Ruby::ODBC module

- The UTF8 version does not appear to support multiple statements in a single query. So things like "query; SELECT @@rowcount" do not work
- Error found: SerializedAttributeTest#test_json_read_legacy_null: ActiveRecord::RecordNotFound: Couldn't find Topic without an ID
- updated sql_for_insert method to use OUTPUT clause to get the ID of the last inserted record and with a single sql statement
- Error found: MigrationTestSQLServer::For changing column#test_0002_not drop the default contraint if just renaming: TypeError: no implicit conversion of String into Integer
- array needs to be flattened before calling select method
- Error found: ActiveRecord::ValueTooLong: ODBC::Error: 22001 (8152)[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]String or binary data would be truncated.
- Require odbc_utf8 so that  UTF-8 variant of the module is in use, and string data is automatically converted to/from Unicode
…ed as binary / ASCII-8Bit

- Added a check to make sure the object is String. ActiveRecord tests passes objects which are other than String.
- Added a check to make sure we are not modifying the frozen object. There are tests which passes frozen objects.
- TinyTDS gem for windows is compiled with OpenSSL with a version that has vulnerabilities
- Updating to use ruby-odbc as dependency, as this forked repository is for connecting to SQLServer in ODBC mode
Merge commits made to 5-0-stable-with-odbc branch with 5-1-stable-odbc
- use SET NOCOUNT ON so that the number of rows affected by INSERT
  statement is returned instead of the number of rows affected by the trigger
- Refer https://techcommunity.microsoft.com/t5/SQL-Server/UPDATE-with-OUTPUT-clause-8211-Triggers-8211-and-SQLMoreResults/ba-p/383457
Fix trigger_test_sqlserver test case failure
@smlsml smlsml changed the base branch from 5-2-stable to 5-2-stable-with-odbc September 5, 2019 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants