activerecord-sqlserver-adapter 7.1.9 → 7.1.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c9a920a4f60419f9224af3015631bceb30eea4b70356e947f26f9c05feaff3a
4
- data.tar.gz: '08182d688ca9aa20b42f4a42e29580335665f751d873fc1443d71e3d03a550bd'
3
+ metadata.gz: 531fab1f224da7d891c04cedd34bb8c69f476a60b087c028cf6d71fc761d2d72
4
+ data.tar.gz: 6134232daadb1a20c3e4a7b26c2b2b216c321c838cf8b298f41fed6ae94fba1c
5
5
  SHA512:
6
- metadata.gz: 2f72132748467ea80ed8f364f32522cb0b59a678b2895875d485473328f017d34c39cf8d60fc916ee0fa1d1c0344f078d0ff30ec67caff38e978961d2eaf9c2c
7
- data.tar.gz: cca704ba3fbda50765708251a1d2c3f081e0d2258505eac05d759bbe7455e4b81692e80d94a7f02e45c29d497624e3d285d41883e893a8af3451be18c4d99618
6
+ metadata.gz: c3c56b8e1943bc68399e9b177f68d5afcf1a5d3dd072003f80f5ab935b71f7853ff1fcfc4139d624162eff9e20a89487cb7f2c810440f174b18ce2eb21d8d604
7
+ data.tar.gz: 70b1644783875b57886228f373fa57e0243843bee416006e871ff7f9226b3dd1471e35d6b236ba19e86088a9bea6850cd6d502cd1dd76806c1ea66378256d6b9
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## v7.1.11
2
+
3
+ #### Fixed
4
+
5
+ - [#1271](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1271) Fix parsing of raw table name from SQL with extra parentheses
6
+
7
+ ## v7.1.10
8
+
9
+ #### Fixed
10
+
11
+ - [#1262](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1262) Fix distinct alias when multiple databases used.
12
+
1
13
  ## v7.1.9
2
14
 
3
15
  #### Fixed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.1.9
1
+ 7.1.11
@@ -347,12 +347,16 @@ module ActiveRecord
347
347
 
348
348
  def columns_for_distinct(columns, orders)
349
349
  order_columns = orders.reject(&:blank?).map { |s|
350
- s = s.to_sql unless s.is_a?(String)
350
+ s = visitor.compile(s) unless s.is_a?(String)
351
351
  s.gsub(/\s+(?:ASC|DESC)\b/i, "")
352
352
  .gsub(/\s+NULLS\s+(?:FIRST|LAST)\b/i, "")
353
- }.reject(&:blank?).map.with_index { |column, i| "#{column} AS alias_#{i}" }
353
+ }
354
+ .reject(&:blank?)
355
+ .reject { |s| columns.include?(s) }
354
356
 
355
- (order_columns << super).join(", ")
357
+ order_columns_aliased = order_columns.map.with_index { |column, i| "#{column} AS alias_#{i}" }
358
+
359
+ (order_columns_aliased << super).join(", ")
356
360
  end
357
361
 
358
362
  def update_table_definition(table_name, base)
@@ -686,7 +690,7 @@ module ActiveRecord
686
690
  elsif s.match?(/^\s*UPDATE\s+.*/i)
687
691
  s.match(/UPDATE\s+([^\(\s]+)\s*/i)[1]
688
692
  else
689
- s.match(/FROM\s+((\[[^\(\]]+\])|[^\(\s]+)\s*/i)[1]
693
+ s.match(/FROM[\s|\(]+((\[[^\(\]]+\])|[^\(\s]+)\s*/i)[1]
690
694
  end.strip
691
695
  end
692
696
 
@@ -581,4 +581,13 @@ class AdapterTestSQLServer < ActiveRecord::TestCase
581
581
  end
582
582
  end
583
583
  end
584
+
585
+ describe "distinct select query" do
586
+ it "generated SQL does not contain unnecessary alias projection" do
587
+ sqls = capture_sql do
588
+ Post.includes(:comments).joins(:comments).first
589
+ end
590
+ assert_no_match(/AS alias_0/, sqls.first)
591
+ end
592
+ end
584
593
  end
@@ -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.9
4
+ version: 7.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2024-11-10 00:00:00.000000000 Z
18
+ date: 2025-01-08 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: activerecord
@@ -240,8 +240,8 @@ licenses:
240
240
  - MIT
241
241
  metadata:
242
242
  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.9/CHANGELOG.md
244
- source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.1.9
243
+ changelog_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/blob/v7.1.11/CHANGELOG.md
244
+ source_code_uri: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/tree/v7.1.11
245
245
  post_install_message:
246
246
  rdoc_options: []
247
247
  require_paths: