tiny_tds 3.1.0-x64-mingw-ucrt → 3.2.0-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +187 -74
  3. data/CHANGELOG.md +8 -0
  4. data/Gemfile +1 -1
  5. data/README.md +59 -50
  6. data/Rakefile +46 -37
  7. data/VERSION +1 -1
  8. data/ext/tiny_tds/extconf.rb +169 -70
  9. data/ext/tiny_tds/extconsts.rb +3 -4
  10. data/lib/tiny_tds/3.1/tiny_tds.so +0 -0
  11. data/lib/tiny_tds/3.2/tiny_tds.so +0 -0
  12. data/lib/tiny_tds/3.3/tiny_tds.so +0 -0
  13. data/lib/tiny_tds/3.4/tiny_tds.so +0 -0
  14. data/lib/tiny_tds/bin.rb +12 -26
  15. data/lib/tiny_tds/client.rb +38 -42
  16. data/lib/tiny_tds/error.rb +0 -2
  17. data/lib/tiny_tds/gem.rb +5 -9
  18. data/lib/tiny_tds/result.rb +0 -2
  19. data/lib/tiny_tds/version.rb +1 -1
  20. data/lib/tiny_tds.rb +28 -47
  21. data/ports/x64-mingw-ucrt/{freetds/1.4.23/bin → bin}/defncopy.exe +0 -0
  22. data/ports/x64-mingw-ucrt/bin/libsybdb-5.dll +0 -0
  23. data/ports/x64-mingw-ucrt/bin/tsql.exe +0 -0
  24. data/tasks/native_gem.rake +11 -18
  25. data/tasks/package.rake +1 -3
  26. data/tasks/ports.rake +7 -91
  27. data/tasks/test.rake +3 -5
  28. data/test/bin/install-freetds.sh +2 -4
  29. data/test/bin/restore-from-native-gem.ps1 +10 -0
  30. data/test/client_test.rb +106 -112
  31. data/test/gem_test.rb +31 -107
  32. data/test/result_test.rb +208 -221
  33. data/test/schema_test.rb +177 -181
  34. data/test/test_helper.rb +58 -63
  35. data/test/thread_test.rb +22 -31
  36. data/tiny_tds.gemspec +28 -29
  37. metadata +25 -41
  38. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/bsqldb.exe +0 -0
  39. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/datacopy.exe +0 -0
  40. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/freebcp.exe +0 -0
  41. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/libct-4.dll +0 -0
  42. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/libsybdb-5.dll +0 -0
  43. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/osql +0 -393
  44. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/tdspool.exe +0 -0
  45. data/ports/x64-mingw-ucrt/freetds/1.4.23/bin/tsql.exe +0 -0
  46. data/ports/x64-mingw-ucrt/freetds/1.4.23/lib/libct.dll.a +0 -0
  47. data/ports/x64-mingw-ucrt/freetds/1.4.23/lib/libct.la +0 -41
  48. data/ports/x64-mingw-ucrt/freetds/1.4.23/lib/libsybdb.dll.a +0 -0
  49. data/ports/x64-mingw-ucrt/freetds/1.4.23/lib/libsybdb.la +0 -41
  50. data/ports/x64-mingw-ucrt/libiconv/1.17/bin/iconv.exe +0 -0
  51. data/ports/x64-mingw-ucrt/libiconv/1.17/bin/libcharset-1.dll +0 -0
  52. data/ports/x64-mingw-ucrt/libiconv/1.17/bin/libiconv-2.dll +0 -0
  53. data/ports/x64-mingw-ucrt/libiconv/1.17/lib/libcharset.dll.a +0 -0
  54. data/ports/x64-mingw-ucrt/libiconv/1.17/lib/libcharset.la +0 -41
  55. data/ports/x64-mingw-ucrt/libiconv/1.17/lib/libiconv.dll.a +0 -0
  56. data/ports/x64-mingw-ucrt/libiconv/1.17/lib/libiconv.la +0 -41
  57. data/ports/x64-mingw-ucrt/openssl/3.4.0/bin/c_rehash +0 -252
  58. data/ports/x64-mingw-ucrt/openssl/3.4.0/bin/libcrypto-3-x64.dll +0 -0
  59. data/ports/x64-mingw-ucrt/openssl/3.4.0/bin/libssl-3-x64.dll +0 -0
  60. data/ports/x64-mingw-ucrt/openssl/3.4.0/bin/openssl.exe +0 -0
  61. data/tasks/ports/freetds.rb +0 -32
  62. data/tasks/ports/libiconv.rb +0 -26
  63. data/tasks/ports/openssl.rb +0 -62
  64. data/tasks/ports/recipe.rb +0 -64
  65. data/test/benchmark/query.rb +0 -77
  66. data/test/benchmark/query_odbc.rb +0 -106
  67. data/test/benchmark/query_tinytds.rb +0 -126
data/test/test_helper.rb CHANGED
@@ -1,26 +1,24 @@
1
- # encoding: UTF-8
2
- require 'bundler' ; Bundler.require :development, :test
3
- require 'tiny_tds'
4
- require 'minitest/autorun'
5
- require 'toxiproxy'
1
+ require "bundler"
2
+ Bundler.require :development, :test
3
+ require "tiny_tds"
4
+ require "minitest/autorun"
5
+ require "toxiproxy"
6
6
 
7
7
  require "minitest/reporters"
8
8
  Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new, Minitest::Reporters::JUnitReporter.new]
9
9
 
10
- TINYTDS_SCHEMAS = ['sqlserver_2017', 'sqlserver_azure'].freeze
10
+ TINYTDS_SCHEMAS = ["sqlserver_2017", "sqlserver_azure"].freeze
11
11
 
12
12
  module TinyTds
13
13
  class TestCase < Minitest::Spec
14
-
15
14
  class << self
16
-
17
15
  def current_schema
18
- ENV['TINYTDS_SCHEMA'] || 'sqlserver_2017'
16
+ ENV["TINYTDS_SCHEMA"] || "sqlserver_2017"
19
17
  end
20
18
 
21
19
  TINYTDS_SCHEMAS.each do |schema|
22
- define_method "#{schema}?" do
23
- schema == self.current_schema
20
+ define_method :"#{schema}?" do
21
+ schema == current_schema
24
22
  end
25
23
  end
26
24
  end
@@ -30,7 +28,7 @@ module TinyTds
30
28
  protected
31
29
 
32
30
  TINYTDS_SCHEMAS.each do |schema|
33
- define_method "#{schema}?" do
31
+ define_method :"#{schema}?" do
34
32
  schema == self.class.current_schema
35
33
  end
36
34
  end
@@ -39,45 +37,44 @@ module TinyTds
39
37
  self.class.current_schema
40
38
  end
41
39
 
42
- def close_client(client=@client)
40
+ def close_client(client = @client)
43
41
  client.close if defined?(client) && client.is_a?(TinyTds::Client)
44
42
  end
45
43
 
46
- def new_connection(options={})
44
+ def new_connection(options = {})
47
45
  client = TinyTds::Client.new(connection_options(options))
48
46
  if sqlserver_azure?
49
- client.execute('SET ANSI_NULLS ON').do
50
- client.execute('SET CURSOR_CLOSE_ON_COMMIT OFF').do
51
- client.execute('SET ANSI_NULL_DFLT_ON ON').do
52
- client.execute('SET IMPLICIT_TRANSACTIONS OFF').do
53
- client.execute('SET ANSI_PADDING ON').do
54
- client.execute('SET QUOTED_IDENTIFIER ON').do
55
- client.execute('SET ANSI_WARNINGS ON').do
47
+ client.execute("SET ANSI_NULLS ON").do
48
+ client.execute("SET CURSOR_CLOSE_ON_COMMIT OFF").do
49
+ client.execute("SET ANSI_NULL_DFLT_ON ON").do
50
+ client.execute("SET IMPLICIT_TRANSACTIONS OFF").do
51
+ client.execute("SET ANSI_PADDING ON").do
52
+ client.execute("SET QUOTED_IDENTIFIER ON").do
53
+ client.execute("SET ANSI_WARNINGS ON").do
56
54
  else
57
- client.execute('SET ANSI_DEFAULTS ON').do
58
- client.execute('SET CURSOR_CLOSE_ON_COMMIT OFF').do
59
- client.execute('SET IMPLICIT_TRANSACTIONS OFF').do
55
+ client.execute("SET ANSI_DEFAULTS ON").do
56
+ client.execute("SET CURSOR_CLOSE_ON_COMMIT OFF").do
57
+ client.execute("SET IMPLICIT_TRANSACTIONS OFF").do
60
58
  end
61
- client.execute('SET TEXTSIZE 2147483647').do
62
- client.execute('SET CONCAT_NULL_YIELDS_NULL ON').do
59
+ client.execute("SET TEXTSIZE 2147483647").do
60
+ client.execute("SET CONCAT_NULL_YIELDS_NULL ON").do
63
61
  client
64
62
  end
65
63
 
66
- def connection_options(options={})
67
- username = (sqlserver_azure? ? ENV['TINYTDS_UNIT_AZURE_USER'] : ENV['TINYTDS_UNIT_USER']) || 'tinytds'
68
- password = (sqlserver_azure? ? ENV['TINYTDS_UNIT_AZURE_PASS'] : ENV['TINYTDS_UNIT_PASS']) || ''
69
- { :dataserver => sqlserver_azure? ? nil : ENV['TINYTDS_UNIT_DATASERVER'],
70
- :host => ENV['TINYTDS_UNIT_HOST'] || 'localhost',
71
- :port => ENV['TINYTDS_UNIT_PORT'] || '1433',
72
- :tds_version => ENV['TINYTDS_UNIT_VERSION'],
73
- :username => username,
74
- :password => password,
75
- :database => ENV['TINYTDS_UNIT_DATABASE'] || 'tinytdstest',
76
- :appname => 'TinyTds Dev',
77
- :login_timeout => 5,
78
- :timeout => connection_timeout,
79
- :azure => sqlserver_azure?
80
- }.merge(options)
64
+ def connection_options(options = {})
65
+ username = (sqlserver_azure? ? ENV["TINYTDS_UNIT_AZURE_USER"] : ENV["TINYTDS_UNIT_USER"]) || "tinytds"
66
+ password = (sqlserver_azure? ? ENV["TINYTDS_UNIT_AZURE_PASS"] : ENV["TINYTDS_UNIT_PASS"]) || ""
67
+ {dataserver: sqlserver_azure? ? nil : ENV["TINYTDS_UNIT_DATASERVER"],
68
+ host: ENV["TINYTDS_UNIT_HOST"] || "localhost",
69
+ port: ENV["TINYTDS_UNIT_PORT"] || "1433",
70
+ tds_version: ENV["TINYTDS_UNIT_VERSION"],
71
+ username: username,
72
+ password: password,
73
+ database: ENV["TINYTDS_UNIT_DATABASE"] || "tinytdstest",
74
+ appname: "TinyTds Dev",
75
+ login_timeout: 5,
76
+ timeout: connection_timeout,
77
+ azure: sqlserver_azure?}.merge(options)
81
78
  end
82
79
 
83
80
  def connection_timeout
@@ -85,7 +82,7 @@ module TinyTds
85
82
  end
86
83
 
87
84
  def assert_client_works(client)
88
- _(client.execute("SELECT 'client_works' as [client_works]").each).must_equal [{'client_works' => 'client_works'}]
85
+ _(client.execute("SELECT 'client_works' as [client_works]").each).must_equal [{"client_works" => "client_works"}]
89
86
  end
90
87
 
91
88
  def assert_new_connections_work
@@ -102,28 +99,26 @@ module TinyTds
102
99
  rescue TinyTds::Error => e
103
100
  error_raised = true
104
101
  end
105
- assert error_raised, 'expected a TinyTds::Error but none happened'
102
+ assert error_raised, "expected a TinyTds::Error but none happened"
106
103
  yield e
107
104
  ensure
108
105
  close_client(result)
109
106
  end
110
107
 
111
108
  def inspect_tinytds_exception
112
- begin
113
- yield
114
- rescue TinyTds::Error => e
115
- props = { :source => e.source, :message => e.message, :severity => e.severity,
116
- :db_error_number => e.db_error_number, :os_error_number => e.os_error_number }
117
- raise "TinyTds::Error - #{props.inspect}"
118
- end
109
+ yield
110
+ rescue TinyTds::Error => e
111
+ props = {source: e.source, message: e.message, severity: e.severity,
112
+ db_error_number: e.db_error_number, os_error_number: e.os_error_number}
113
+ raise "TinyTds::Error - #{props.inspect}"
119
114
  end
120
115
 
121
116
  def assert_binary_encoding(value)
122
- assert_equal Encoding.find('BINARY'), value.encoding
117
+ assert_equal Encoding.find("BINARY"), value.encoding
123
118
  end
124
119
 
125
120
  def assert_utf8_encoding(value)
126
- assert_equal Encoding.find('UTF-8'), value.encoding
121
+ assert_equal Encoding.find("UTF-8"), value.encoding
127
122
  end
128
123
 
129
124
  def rubyRbx?
@@ -131,17 +126,17 @@ module TinyTds
131
126
  end
132
127
 
133
128
  def ruby_windows?
134
- RbConfig::CONFIG['host_os'] =~ /ming/
129
+ RbConfig::CONFIG["host_os"] =~ /ming/
135
130
  end
136
131
 
137
132
  def ruby_darwin?
138
- RbConfig::CONFIG['host_os'] =~ /darwin/
133
+ RbConfig::CONFIG["host_os"] =~ /darwin/
139
134
  end
140
135
 
141
136
  def load_current_schema
142
137
  loader = new_connection
143
- schema_file = File.expand_path File.join(File.dirname(__FILE__), 'schema', "#{current_schema}.sql")
144
- schema_sql = File.open(schema_file,"rb:UTF-8") { |f|f.read }
138
+ schema_file = File.expand_path File.join(File.dirname(__FILE__), "schema", "#{current_schema}.sql")
139
+ schema_sql = File.open(schema_file, "rb:UTF-8") { |f| f.read }
145
140
  loader.execute(drop_sql).do
146
141
  loader.execute(schema_sql).do
147
142
  loader.execute(sp_sql).do
@@ -188,14 +183,14 @@ module TinyTds
188
183
  end
189
184
 
190
185
  def sp_several_prints_sql
191
- %|CREATE PROCEDURE tinytds_TestSeveralPrints
186
+ %(CREATE PROCEDURE tinytds_TestSeveralPrints
192
187
  AS
193
188
  PRINT 'hello 1'
194
189
  PRINT 'hello 2'
195
- PRINT 'hello 3'|
190
+ PRINT 'hello 3')
196
191
  end
197
192
 
198
- def find_value(id, column, query_options={})
193
+ def find_value(id, column, query_options = {})
199
194
  query_options[:timezone] ||= :utc
200
195
  sql = "SELECT [#{column}] FROM [datatypes] WHERE [id] = #{id}"
201
196
  @client.execute(sql).each(query_options).first[column.to_s]
@@ -223,19 +218,19 @@ module TinyTds
223
218
  # docker-compose.yml handles this automatically for us. In instances where someone is using their own local mssql container they'll
224
219
  # need to set up the networks manually and set TINYTDS_UNIT_HOST to their mssql container name
225
220
  # For anything other than localhost just use the environment config
226
- toxi_host = ENV['TOXIPROXY_HOST'] || 'localhost'
221
+ toxi_host = ENV["TOXIPROXY_HOST"] || "localhost"
227
222
  toxi_api_port = 8474
228
223
  toxi_test_port = 1234
229
224
  Toxiproxy.host = "http://#{toxi_host}:#{toxi_api_port}"
230
225
 
231
- toxi_upstream_host = ENV['TINYTDS_UNIT_HOST_TEST'] || ENV['TINYTDS_UNIT_HOST'] || 'localhost'
232
- toxi_upstream_port = ENV['TINYTDS_UNIT_PORT'] || 1433
226
+ toxi_upstream_host = ENV["TINYTDS_UNIT_HOST_TEST"] || ENV["TINYTDS_UNIT_HOST"] || "localhost"
227
+ toxi_upstream_port = ENV["TINYTDS_UNIT_PORT"] || 1433
233
228
 
234
229
  puts "\n-------------------------"
235
230
  puts "Toxiproxy api listener: #{toxi_host}:#{toxi_api_port}"
236
231
  puts "Toxiproxy unit test listener: #{toxi_host}:#{toxi_test_port}"
237
232
  puts "Toxiproxy upstream sqlserver: #{toxi_upstream_host}:#{toxi_upstream_port}"
238
- puts '-------------------------'
233
+ puts "-------------------------"
239
234
 
240
235
  Toxiproxy.populate([
241
236
  {
data/test/thread_test.rb CHANGED
@@ -1,25 +1,23 @@
1
- require 'test_helper'
2
- require 'logger'
3
- require 'benchmark'
1
+ require "test_helper"
2
+ require "logger"
3
+ require "benchmark"
4
4
 
5
5
  class ThreadTest < TinyTds::TestCase
6
-
7
- describe 'Threaded SELECT queries' do
8
-
6
+ describe "Threaded SELECT queries" do
9
7
  before do
10
8
  @logger = Logger.new $stdout
11
9
  @logger.level = Logger::WARN
12
10
  @poolsize = 4
13
11
  @numthreads = 10
14
12
  @query = "waitfor delay '00:00:01'"
15
- @pool = ConnectionPool.new(:size => @poolsize, :timeout => 5) { new_connection }
13
+ @pool = ConnectionPool.new(size: @poolsize, timeout: 5) { new_connection }
16
14
  end
17
15
 
18
16
  after do
19
17
  @pool.shutdown { |c| c.close }
20
18
  end
21
19
 
22
- it 'should finish faster in parallel' do
20
+ it "should finish faster in parallel" do
23
21
  skip if sqlserver_azure?
24
22
  x = Benchmark.realtime do
25
23
  threads = []
@@ -35,24 +33,22 @@ class ThreadTest < TinyTds::TestCase
35
33
  threads.each { |t| t.join }
36
34
  end
37
35
  assert x < @numthreads, "#{x} is not faster than #{@numthreads} seconds"
38
- mintime = (1.0*@numthreads/@poolsize).ceil
36
+ mintime = (1.0 * @numthreads / @poolsize).ceil
39
37
  @logger.info "#{@numthreads} queries on #{@poolsize} threads: #{x} sec. Minimum time: #{mintime} sec."
40
38
  assert x > mintime, "#{x} is not slower than #{mintime} seconds"
41
39
  end
42
40
 
43
- it 'should not crash on error in parallel' do
41
+ it "should not crash on error in parallel" do
44
42
  skip if sqlserver_azure?
45
43
  threads = []
46
44
  @numthreads.times do |i|
47
45
  threads << Thread.new do
48
46
  @pool.with do |client|
49
- begin
50
- result = client.execute "select dbname()"
51
- result.each { |r| puts r }
52
- rescue Exception => _e
53
- # We are throwing an error on purpose here since 0.6.1 would
54
- # segfault on errors thrown in threads
55
- end
47
+ result = client.execute "select dbname()"
48
+ result.each { |r| puts r }
49
+ rescue => _e
50
+ # We are throwing an error on purpose here since 0.6.1 would
51
+ # segfault on errors thrown in threads
56
52
  end
57
53
  end
58
54
  end
@@ -60,27 +56,25 @@ class ThreadTest < TinyTds::TestCase
60
56
  assert true
61
57
  end
62
58
 
63
- it 'should cancel when hitting timeout in thread' do
59
+ it "should cancel when hitting timeout in thread" do
64
60
  exception = false
65
61
 
66
62
  thread = Thread.new do
67
63
  @pool.with do |client|
68
- begin
69
- delay = ('0' + (connection_timeout + 2).to_s)[-2,2] # Two seconds longer than default.
70
- result = client.execute "waitfor delay '00:00:#{delay}'; select db_name()"
71
- result.each { |r| puts r }
72
- rescue TinyTds::Error => e
73
- if e.message == 'Adaptive Server connection timed out'
74
- exception = true
75
- end
64
+ delay = ("0" + (connection_timeout + 2).to_s)[-2, 2] # Two seconds longer than default.
65
+ result = client.execute "waitfor delay '00:00:#{delay}'; select db_name()"
66
+ result.each { |r| puts r }
67
+ rescue TinyTds::Error => e
68
+ if e.message == "Adaptive Server connection timed out"
69
+ exception = true
76
70
  end
77
71
  end
78
72
  end
79
73
 
80
74
  timer_thread = Thread.new do
81
75
  # Sleep until after the timeout should have been reached
82
- sleep(connection_timeout+2)
83
- if not exception
76
+ sleep(connection_timeout + 2)
77
+ if !exception
84
78
  thread.kill
85
79
  raise "Timeout passed without query timing out"
86
80
  end
@@ -91,8 +85,5 @@ class ThreadTest < TinyTds::TestCase
91
85
 
92
86
  assert exception
93
87
  end
94
-
95
88
  end
96
-
97
89
  end
98
-
data/tiny_tds.gemspec CHANGED
@@ -1,32 +1,31 @@
1
- # -*- encoding: utf-8 -*-
2
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
- require 'tiny_tds/version'
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+ require "tiny_tds/version"
4
3
 
5
4
  Gem::Specification.new do |s|
6
- s.name = 'tiny_tds'
7
- s.version = TinyTds::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ['Ken Collins', 'Erik Bryn', 'Will Bond']
10
- s.email = ['ken@metaskills.net', 'will@wbond.net']
11
- s.homepage = 'http://github.com/rails-sqlserver/tiny_tds'
12
- s.summary = 'TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.'
13
- s.description = 'TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library. Developed for the ActiveRecord SQL Server adapter.'
14
- s.files = `git ls-files`.split("\n") + Dir.glob('exe/*')
15
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
- s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
17
- s.require_paths = ['lib']
18
- s.rdoc_options = ['--charset=UTF-8']
19
- s.extensions = ['ext/tiny_tds/extconf.rb']
20
- s.license = 'MIT'
21
- s.required_ruby_version = '>= 2.7.0'
22
- s.metadata['msys2_mingw_dependencies'] = 'freetds'
23
- s.add_dependency 'bigdecimal', '~> 3'
24
- s.add_development_dependency 'mini_portile2', '~> 2.5.0'
25
- s.add_development_dependency 'rake', '~> 13.0.0'
26
- s.add_development_dependency 'rake-compiler', '~> 1.2'
27
- s.add_development_dependency 'rake-compiler-dock', '~> 1.7.0'
28
- s.add_development_dependency 'minitest', '~> 5.25'
29
- s.add_development_dependency 'minitest-reporters', '~> 1.6.1'
30
- s.add_development_dependency 'connection_pool', '~> 2.2.0'
31
- s.add_development_dependency 'toxiproxy', '~> 2.0.0'
5
+ s.name = "tiny_tds"
6
+ s.version = TinyTds::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Ken Collins", "Erik Bryn", "Will Bond"]
9
+ s.email = ["ken@metaskills.net", "will@wbond.net"]
10
+ s.homepage = "http://github.com/rails-sqlserver/tiny_tds"
11
+ s.summary = "TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library."
12
+ s.description = "TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library. Developed for the ActiveRecord SQL Server adapter."
13
+ s.files = `git ls-files`.split("\n") + Dir.glob("exe/*")
14
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
15
+ s.require_paths = ["lib"]
16
+ s.rdoc_options = ["--charset=UTF-8"]
17
+ s.extensions = ["ext/tiny_tds/extconf.rb"]
18
+ s.license = "MIT"
19
+ s.required_ruby_version = ">= 2.7.0"
20
+ s.metadata["msys2_mingw_dependencies"] = "freetds"
21
+ s.add_dependency "bigdecimal", "~> 3"
22
+ s.add_development_dependency "mini_portile2", "~> 2.8.0"
23
+ s.add_development_dependency "rake", "~> 13.0.0"
24
+ s.add_development_dependency "rake-compiler", "~> 1.2"
25
+ s.add_development_dependency "rake-compiler-dock", "~> 1.9.1"
26
+ s.add_development_dependency "minitest", "~> 5.25"
27
+ s.add_development_dependency "minitest-reporters", "~> 1.6.1"
28
+ s.add_development_dependency "connection_pool", "~> 2.2.0"
29
+ s.add_development_dependency "toxiproxy", "~> 2.0.0"
30
+ s.add_development_dependency "standard", "~> 1.31.0"
32
31
  end
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_tds
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Ken Collins
8
8
  - Erik Bryn
9
9
  - Will Bond
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2025-01-02 00:00:00.000000000 Z
12
+ date: 2025-02-11 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: bigdecimal
@@ -32,14 +31,14 @@ dependencies:
32
31
  requirements:
33
32
  - - "~>"
34
33
  - !ruby/object:Gem::Version
35
- version: 2.5.0
34
+ version: 2.8.0
36
35
  type: :development
37
36
  prerelease: false
38
37
  version_requirements: !ruby/object:Gem::Requirement
39
38
  requirements:
40
39
  - - "~>"
41
40
  - !ruby/object:Gem::Version
42
- version: 2.5.0
41
+ version: 2.8.0
43
42
  - !ruby/object:Gem::Dependency
44
43
  name: rake
45
44
  requirement: !ruby/object:Gem::Requirement
@@ -74,14 +73,14 @@ dependencies:
74
73
  requirements:
75
74
  - - "~>"
76
75
  - !ruby/object:Gem::Version
77
- version: 1.7.0
76
+ version: 1.9.1
78
77
  type: :development
79
78
  prerelease: false
80
79
  version_requirements: !ruby/object:Gem::Requirement
81
80
  requirements:
82
81
  - - "~>"
83
82
  - !ruby/object:Gem::Version
84
- version: 1.7.0
83
+ version: 1.9.1
85
84
  - !ruby/object:Gem::Dependency
86
85
  name: minitest
87
86
  requirement: !ruby/object:Gem::Requirement
@@ -138,6 +137,20 @@ dependencies:
138
137
  - - "~>"
139
138
  - !ruby/object:Gem::Version
140
139
  version: 2.0.0
140
+ - !ruby/object:Gem::Dependency
141
+ name: standard
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 1.31.0
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: 1.31.0
141
154
  description: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.
142
155
  Developed for the ActiveRecord SQL Server adapter.
143
156
  email:
@@ -188,47 +201,20 @@ files:
188
201
  - patches/freetds/1.00.27/0001-mingw_missing_inet_pton.diff
189
202
  - patches/freetds/1.00.27/0002-Don-t-use-MSYS2-file-libws2_32.diff
190
203
  - patches/libiconv/1.14/1-avoid-gets-error.patch
191
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/bsqldb.exe
192
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/datacopy.exe
193
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/defncopy.exe
194
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/freebcp.exe
195
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/libct-4.dll
196
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/libsybdb-5.dll
197
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/osql
198
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/tdspool.exe
199
- - ports/x64-mingw-ucrt/freetds/1.4.23/bin/tsql.exe
200
- - ports/x64-mingw-ucrt/freetds/1.4.23/lib/libct.dll.a
201
- - ports/x64-mingw-ucrt/freetds/1.4.23/lib/libct.la
202
- - ports/x64-mingw-ucrt/freetds/1.4.23/lib/libsybdb.dll.a
203
- - ports/x64-mingw-ucrt/freetds/1.4.23/lib/libsybdb.la
204
- - ports/x64-mingw-ucrt/libiconv/1.17/bin/iconv.exe
205
- - ports/x64-mingw-ucrt/libiconv/1.17/bin/libcharset-1.dll
206
- - ports/x64-mingw-ucrt/libiconv/1.17/bin/libiconv-2.dll
207
- - ports/x64-mingw-ucrt/libiconv/1.17/lib/libcharset.dll.a
208
- - ports/x64-mingw-ucrt/libiconv/1.17/lib/libcharset.la
209
- - ports/x64-mingw-ucrt/libiconv/1.17/lib/libiconv.dll.a
210
- - ports/x64-mingw-ucrt/libiconv/1.17/lib/libiconv.la
211
- - ports/x64-mingw-ucrt/openssl/3.4.0/bin/c_rehash
212
- - ports/x64-mingw-ucrt/openssl/3.4.0/bin/libcrypto-3-x64.dll
213
- - ports/x64-mingw-ucrt/openssl/3.4.0/bin/libssl-3-x64.dll
214
- - ports/x64-mingw-ucrt/openssl/3.4.0/bin/openssl.exe
204
+ - ports/x64-mingw-ucrt/bin/defncopy.exe
205
+ - ports/x64-mingw-ucrt/bin/libsybdb-5.dll
206
+ - ports/x64-mingw-ucrt/bin/tsql.exe
215
207
  - setup_cimgruby_dev.sh
216
208
  - start_dev.sh
217
209
  - tasks/native_gem.rake
218
210
  - tasks/package.rake
219
211
  - tasks/ports.rake
220
- - tasks/ports/freetds.rb
221
- - tasks/ports/libiconv.rb
222
- - tasks/ports/openssl.rb
223
- - tasks/ports/recipe.rb
224
212
  - tasks/test.rake
225
- - test/benchmark/query.rb
226
- - test/benchmark/query_odbc.rb
227
- - test/benchmark/query_tinytds.rb
228
213
  - test/bin/install-freetds.sh
229
214
  - test/bin/install-mssql.ps1
230
215
  - test/bin/install-mssqltools.sh
231
216
  - test/bin/install-openssl.sh
217
+ - test/bin/restore-from-native-gem.ps1
232
218
  - test/bin/setup_tinytds_db.sh
233
219
  - test/bin/setup_volume_permissions.sh
234
220
  - test/client_test.rb
@@ -247,7 +233,6 @@ homepage: http://github.com/rails-sqlserver/tiny_tds
247
233
  licenses:
248
234
  - MIT
249
235
  metadata: {}
250
- post_install_message:
251
236
  rdoc_options:
252
237
  - "--charset=UTF-8"
253
238
  require_paths:
@@ -266,8 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
251
  - !ruby/object:Gem::Version
267
252
  version: '0'
268
253
  requirements: []
269
- rubygems_version: 3.3.26
270
- signing_key:
254
+ rubygems_version: 3.6.2
271
255
  specification_version: 4
272
256
  summary: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.
273
257
  test_files: []