activerecord-sqlserver-adapter 7.1.10 → 7.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51943ff8896e187bfaaacc10538c141f72cf0afe8a4b485999259ec91af62af9
4
- data.tar.gz: 257d760d9bb1c655447a9b21cab497cbca0c3cf6aa37b840149e239fa19d8051
3
+ metadata.gz: d75e1813f4cc37e96a53086dc3802c0f7335e28858bb7b15c8f2a87e4b58cadb
4
+ data.tar.gz: a7d8159901b7945221ac08c8f531f6bf818573807507c7a1e8252c0570390c21
5
5
  SHA512:
6
- metadata.gz: ad5478179fc31c9cd50ad4bedc8ba9affbff6f0d0eeb21066de9ab5d8b6a60d61f5c3221d3969d6484455be1845e8c1e9643d807f76733e0b45b4d5e75cadf7b
7
- data.tar.gz: 4c1ececbe3b65b77a45b9234cb91f9d3b322840d6f10617def9188147b34b8b620cfb4c5a688ac6221f0e6c6b1a30345eade2e9c7e7965f4650ec4f8dfb7ce04
6
+ metadata.gz: 52ac116fef2f6b40c321eec6c0eab14dc76e0b885820fcc8c0518e7ec2ef561c27db205434dc57b8a73dd431fe8230541fbc07067e4514675b5dd9e4c44ff9b4
7
+ data.tar.gz: 4a78c58615b2e94f71c9a5904230d0f8418549cb9013fd39182e40d15439d148615c46dfcf11905c8a5d2e51f7730e5852fa4ed152bcddd08d5069c2ec1da135
@@ -5,7 +5,8 @@ on: [push, pull_request]
5
5
  jobs:
6
6
  test:
7
7
  name: Run test suite
8
- runs-on: ubuntu-20.04 # TODO: Change back to 'ubuntu-latest' when https://github.com/microsoft/mssql-docker/issues/899 resolved.
8
+ runs-on: ubuntu-latest
9
+ timeout-minutes: 10
9
10
 
10
11
  env:
11
12
  COMPOSE_FILE: docker-compose.ci.yml
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## v7.1.12
2
+
3
+ #### Fixed
4
+
5
+ - [#1363](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1363) Verify connection before retrieving the database version.
6
+
7
+ ## v7.1.11
8
+
9
+ #### Fixed
10
+
11
+ - [#1271](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1271) Fix parsing of raw table name from SQL with extra parentheses
12
+
1
13
  ## v7.1.10
2
14
 
3
15
  #### Fixed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.1.10
1
+ 7.1.12
@@ -690,7 +690,7 @@ module ActiveRecord
690
690
  elsif s.match?(/^\s*UPDATE\s+.*/i)
691
691
  s.match(/UPDATE\s+([^\(\s]+)\s*/i)[1]
692
692
  else
693
- s.match(/FROM\s+((\[[^\(\]]+\])|[^\(\s]+)\s*/i)[1]
693
+ s.match(/FROM[\s|\(]+((\[[^\(\]]+\])|[^\(\s]+)\s*/i)[1]
694
694
  end.strip
695
695
  end
696
696
 
@@ -493,19 +493,19 @@ module ActiveRecord
493
493
  end
494
494
 
495
495
  def version_year
496
- @version_year ||= begin
497
- if sqlserver_version =~ /vNext/
496
+ @version_year ||=
497
+ if /vNext/.match?(sqlserver_version)
498
498
  2016
499
499
  else
500
500
  /SQL Server (\d+)/.match(sqlserver_version).to_a.last.to_s.to_i
501
501
  end
502
- rescue StandardError
503
- 2016
504
- end
505
502
  end
506
503
 
507
504
  def sqlserver_version
508
- @sqlserver_version ||= _raw_select("SELECT @@version", @raw_connection).first.first.to_s
505
+ @sqlserver_version ||= begin
506
+ verify!
507
+ _raw_select("SELECT @@version", @raw_connection).first.first.to_s
508
+ end
509
509
  end
510
510
 
511
511
  private
@@ -14,6 +14,14 @@ require "support/sql_counter_sqlserver"
14
14
  require "support/connection_reflection"
15
15
  require "mocha/minitest"
16
16
 
17
+ Minitest.after_run do
18
+ puts "\n\n"
19
+ puts "=" * 80
20
+ puts ActiveRecord::Base.connection.send(:sqlserver_version)
21
+ puts "\nSQL Server Version Year: #{ActiveRecord::Base.connection.get_database_version}"
22
+ puts "=" * 80
23
+ end
24
+
17
25
  module ActiveRecord
18
26
  class TestCase < ActiveSupport::TestCase
19
27
  SQLServer = ActiveRecord::ConnectionAdapters::SQLServer
@@ -138,18 +138,22 @@ class SQLServerRakeStructureDumpLoadTest < SQLServerRakeTest
138
138
 
139
139
  it "dumps structure and accounts for defncopy oddities" do
140
140
  skip "debug defncopy on windows later" if host_windows?
141
+
141
142
  quietly { db_tasks.structure_dump configuration, filename }
143
+
142
144
  _(filedata).wont_match %r{\AUSE.*\z}
143
145
  _(filedata).wont_match %r{\AGO.*\z}
144
- _(filedata).must_match %r{email\s+nvarchar\(4000\)}
145
- _(filedata).must_match %r{background1\s+nvarchar\(max\)}
146
- _(filedata).must_match %r{background2\s+text\s+}
146
+ _(filedata).must_match %r{\[?email\]?\s+nvarchar\(4000\)}
147
+ _(filedata).must_match %r{\[?background1\]?\s+nvarchar\(max\)}
148
+ _(filedata).must_match %r{\[?background2\]?\s+text\s+}
147
149
  end
148
150
 
149
151
  it "can load dumped structure" do
150
152
  skip "debug defncopy on windows later" if host_windows?
153
+
151
154
  quietly { db_tasks.structure_dump configuration, filename }
152
- _(filedata).must_match %r{CREATE TABLE dbo\.users}
155
+
156
+ _(filedata).must_match %r{CREATE TABLE \[?dbo\]?\.\[?users\]?}
153
157
  db_tasks.purge(configuration)
154
158
  _(connection.tables).wont_include "users"
155
159
  db_tasks.load_schema db_config, :sql, filename
@@ -101,5 +101,11 @@ class SchemaTestSQLServer < ActiveRecord::TestCase
101
101
  assert_equal "[with].[select notation]", connection.send(:get_raw_table_name, "INSERT INTO [with].[select notation] SELECT * FROM [table_name]")
102
102
  end
103
103
  end
104
+
105
+ describe 'CREATE VIEW statements' do
106
+ it do
107
+ assert_equal "test_table_as", connection.send(:get_raw_table_name, "CREATE VIEW test_views ( test_table_a_id, test_table_b_id ) AS SELECT test_table_as.id as test_table_a_id, test_table_bs.id as test_table_b_id FROM (test_table_as with(nolock) LEFT JOIN test_table_bs with(nolock) ON (test_table_as.id = test_table_bs.test_table_a_id))")
108
+ end
109
+ end
104
110
  end
105
111
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-sqlserver-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.10
4
+ version: 7.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -12,10 +12,9 @@ authors:
12
12
  - Joe Rafaniello
13
13
  - Tom Ward
14
14
  - Aidan Haran
15
- autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
- date: 2024-12-08 00:00:00.000000000 Z
17
+ date: 1980-01-02 00:00:00.000000000 Z
19
18
  dependencies:
20
19
  - !ruby/object:Gem::Dependency
21
20
  name: activerecord
@@ -240,9 +239,8 @@ licenses:
240
239
  - MIT
241
240
  metadata:
242
241
  bug_tracker_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/issues
243
- changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.1.10/CHANGELOG.md
244
- source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.1.10
245
- post_install_message:
242
+ changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.1.12/CHANGELOG.md
243
+ source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.1.12
246
244
  rdoc_options: []
247
245
  require_paths:
248
246
  - lib
@@ -257,8 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
257
255
  - !ruby/object:Gem::Version
258
256
  version: '0'
259
257
  requirements: []
260
- rubygems_version: 3.5.21
261
- signing_key:
258
+ rubygems_version: 3.6.7
262
259
  specification_version: 4
263
260
  summary: ActiveRecord SQL Server Adapter.
264
261
  test_files: