tiny_tds 2.1.5-x64-mingw32 → 2.1.7-x64-mingw32

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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +409 -0
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +10 -1
  5. data/Gemfile +0 -7
  6. data/README.md +2 -4
  7. data/Rakefile +19 -10
  8. data/VERSION +1 -1
  9. data/docker-compose.yml +19 -7
  10. data/ext/tiny_tds/client.c +2 -0
  11. data/ext/tiny_tds/extconf.rb +21 -2
  12. data/ext/tiny_tds/extconsts.rb +1 -1
  13. data/ext/tiny_tds/result.c +1 -0
  14. data/lib/tiny_tds/2.4/tiny_tds.so +0 -0
  15. data/lib/tiny_tds/2.5/tiny_tds.so +0 -0
  16. data/lib/tiny_tds/2.6/tiny_tds.so +0 -0
  17. data/lib/tiny_tds/2.7/tiny_tds.so +0 -0
  18. data/lib/tiny_tds/3.0/tiny_tds.so +0 -0
  19. data/lib/tiny_tds/gem.rb +1 -6
  20. data/ports/x64-mingw32/freetds/1.1.24/bin/bsqldb.exe +0 -0
  21. data/ports/x64-mingw32/freetds/1.1.24/bin/datacopy.exe +0 -0
  22. data/ports/x64-mingw32/freetds/1.1.24/bin/defncopy.exe +0 -0
  23. data/ports/x64-mingw32/freetds/1.1.24/bin/freebcp.exe +0 -0
  24. data/ports/x64-mingw32/freetds/1.1.24/bin/libct-4.dll +0 -0
  25. data/ports/x64-mingw32/freetds/1.1.24/bin/libsybdb-5.dll +0 -0
  26. data/ports/x64-mingw32/freetds/1.1.24/bin/tdspool.exe +0 -0
  27. data/ports/x64-mingw32/freetds/1.1.24/bin/tsql.exe +0 -0
  28. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libct.dll.a +0 -0
  29. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libct.la +2 -2
  30. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libsybdb.dll.a +0 -0
  31. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libsybdb.la +2 -2
  32. data/ports/x64-mingw32/libiconv/1.15/bin/iconv.exe +0 -0
  33. data/ports/x64-mingw32/libiconv/1.15/bin/libcharset-1.dll +0 -0
  34. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/bin/libiconv-2.dll +0 -0
  35. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libcharset.dll.a +0 -0
  36. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libcharset.la +2 -2
  37. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libiconv.dll.a +0 -0
  38. data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libiconv.la +2 -2
  39. data/ports/x64-mingw32/openssl/1.1.1s/bin/c_rehash +251 -0
  40. data/ports/x64-mingw32/openssl/1.1.1s/bin/libcrypto-1_1-x64.dll +0 -0
  41. data/ports/x64-mingw32/openssl/1.1.1s/bin/libssl-1_1-x64.dll +0 -0
  42. data/ports/x64-mingw32/openssl/1.1.1s/bin/openssl.exe +0 -0
  43. data/ports/x64-mingw32/openssl/1.1.1s/lib/libcrypto.a +0 -0
  44. data/ports/{x86_64-w64-mingw32/openssl/1.1.1d → x64-mingw32/openssl/1.1.1s}/lib/libcrypto.dll.a +0 -0
  45. data/ports/x64-mingw32/openssl/1.1.1s/lib/libssl.a +0 -0
  46. data/ports/{x86_64-w64-mingw32/openssl/1.1.1d → x64-mingw32/openssl/1.1.1s}/lib/libssl.dll.a +0 -0
  47. data/setup_cimgruby_dev.sh +25 -0
  48. data/start_dev.sh +21 -0
  49. data/tasks/native_gem.rake +15 -6
  50. data/tasks/ports/libiconv.rb +0 -17
  51. data/tasks/ports/recipe.rb +16 -4
  52. data/tasks/ports.rake +58 -35
  53. data/test/bin/install-mssql.ps1 +31 -0
  54. data/test/bin/install-mssqltools.sh +9 -0
  55. data/test/bin/setup_tinytds_db.sh +7 -0
  56. data/test/bin/setup_volume_permissions.sh +10 -0
  57. data/test/client_test.rb +6 -6
  58. data/test/gem_test.rb +11 -13
  59. data/test/sql/db-create.sql +18 -0
  60. data/test/sql/db-login.sql +38 -0
  61. data/test/test_helper.rb +16 -7
  62. data/tiny_tds.gemspec +7 -6
  63. metadata +69 -50
  64. data/.travis.yml +0 -25
  65. data/appveyor.yml +0 -72
  66. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/bsqldb.exe +0 -0
  67. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/datacopy.exe +0 -0
  68. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/defncopy.exe +0 -0
  69. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/freebcp.exe +0 -0
  70. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/libct-4.dll +0 -0
  71. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/libsybdb-5.dll +0 -0
  72. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/tdspool.exe +0 -0
  73. data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/tsql.exe +0 -0
  74. data/ports/x86_64-w64-mingw32/libiconv/1.15/bin/iconv.exe +0 -0
  75. data/ports/x86_64-w64-mingw32/libiconv/1.15/bin/libcharset-1.dll +0 -0
  76. data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/c_rehash +0 -232
  77. data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/libcrypto-1_1-x64.dll +0 -0
  78. data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/libssl-1_1-x64.dll +0 -0
  79. data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/openssl.exe +0 -0
  80. data/ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libcrypto.a +0 -0
  81. data/ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libssl.a +0 -0
  82. data/test/appveyor/dbsetup.ps1 +0 -27
  83. data/test/appveyor/dbsetup.sql +0 -9
  84. data/test/bin/setup.sh +0 -19
  85. /data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/bin/osql +0 -0
  86. /data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/charset.alias +0 -0
@@ -0,0 +1,31 @@
1
+ $ProgressPreference = 'SilentlyContinue'
2
+
3
+ if (-not(Test-path "C:\Downloads"))
4
+ {
5
+ mkdir "C:\Downloads"
6
+ }
7
+
8
+ $sqlInstallationFile = "C:\Downloads\sqlexpress.exe"
9
+ if (-not(Test-path $sqlInstallationFile -PathType leaf))
10
+ {
11
+ Write-Host "Downloading SQL Express ..."
12
+ Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=829176" -OutFile "C:\Downloads\sqlexpress.exe"
13
+ }
14
+
15
+ Write-Host "Installing SQL Express ..."
16
+ Start-Process -Wait -FilePath "C:\Downloads\sqlexpress.exe" -ArgumentList /qs, /x:"C:\Downloads\setup"
17
+ C:\Downloads\setup\setup.exe /q /ACTION=Install /INSTANCENAME=SQLEXPRESS /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT='NT AUTHORITY\System' /SQLSYSADMINACCOUNTS='BUILTIN\ADMINISTRATORS' /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS
18
+
19
+ Write-Host "Configuring SQL Express ..."
20
+ stop-service MSSQL`$SQLEXPRESS
21
+ set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.SQLEXPRESS\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpdynamicports -value ''
22
+ set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.SQLEXPRESS\mssqlserver\supersocketnetlib\tcp\ipall' -name tcpport -value 1433
23
+ set-itemproperty -path 'HKLM:\software\microsoft\microsoft sql server\mssql14.SQLEXPRESS\mssqlserver\' -name LoginMode -value 2
24
+
25
+ Write-Host "Starting SQL Express ..."
26
+ start-service MSSQL`$SQLEXPRESS
27
+
28
+ Write-Host "Configuring MSSQL for TinyTDS ..."
29
+ & sqlcmd -Q "CREATE DATABASE [tinytdstest];"
30
+ & sqlcmd -Q "CREATE LOGIN [tinytds] WITH PASSWORD = '', CHECK_POLICY = OFF, DEFAULT_DATABASE = [tinytdstest];"
31
+ & sqlcmd -Q "USE [tinytdstest]; CREATE USER [tinytds] FOR LOGIN [tinytds]; EXEC sp_addrolemember N'db_owner', N'tinytds';"
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -x
4
+ set -e
5
+
6
+ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
7
+ curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
8
+ sudo apt-get update
9
+ sudo ACCEPT_EULA=Y apt-get -y install mssql-tools unixodbc-dev
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -x
4
+ set -e
5
+
6
+ /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -i ./test/sql/db-create.sql
7
+ /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -i ./test/sql/db-login.sql
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -x
4
+
5
+ sudo groupadd -g 3434 circleci_tinytds
6
+ sudo usermod -a -G circleci_tinytds $USER
7
+ sudo useradd circleci_tinytds -u 3434 -g 3434
8
+ sudo usermod -a -G circleci_tinytds circleci_tinytds
9
+ sudo chgrp -R circleci_tinytds .
10
+ sudo chmod -R g+rwx .
data/test/client_test.rb CHANGED
@@ -16,6 +16,7 @@ class ClientTest < TinyTds::TestCase
16
16
  assert @client.close
17
17
  assert @client.closed?
18
18
  assert !@client.active?
19
+ assert @client.dead?
19
20
  action = lambda { @client.execute('SELECT 1 as [one]').each }
20
21
  assert_raise_tinytds_error(action) do |e|
21
22
  assert_match %r{closed connection}i, e.message, 'ignore if non-english test run'
@@ -133,9 +134,8 @@ class ClientTest < TinyTds::TestCase
133
134
  end
134
135
 
135
136
  it 'raises TinyTds exception with tcp socket network failure' do
136
- skip if ENV['CI'] && ENV['APPVEYOR_BUILD_FOLDER'] # only CI using docker
137
137
  begin
138
- client = new_connection timeout: 2, port: 1234
138
+ client = new_connection timeout: 2, port: 1234, host: ENV['TOXIPROXY_HOST']
139
139
  assert_client_works(client)
140
140
  action = lambda { client.execute("waitfor delay '00:00:05'").do }
141
141
 
@@ -155,9 +155,10 @@ class ClientTest < TinyTds::TestCase
155
155
  end
156
156
 
157
157
  it 'raises TinyTds exception with dead connection network failure' do
158
- skip if ENV['CI'] && ENV['APPVEYOR_BUILD_FOLDER'] # only CI using docker
158
+ skip if ruby_windows?
159
+
159
160
  begin
160
- client = new_connection timeout: 2, port: 1234
161
+ client = new_connection timeout: 2, port: 1234, host: ENV['TOXIPROXY_HOST']
161
162
  assert_client_works(client)
162
163
  action = lambda { client.execute("waitfor delay '00:00:05'").do }
163
164
 
@@ -177,11 +178,10 @@ class ClientTest < TinyTds::TestCase
177
178
  end
178
179
 
179
180
  it 'raises TinyTds exception with login timeout' do
180
- skip if ENV['CI'] && ENV['APPVEYOR_BUILD_FOLDER'] # only CI using docker
181
181
  begin
182
182
  action = lambda do
183
183
  Toxiproxy[:sqlserver_test].toxic(:timeout, timeout: 0).apply do
184
- new_connection login_timeout: 1, port: 1234
184
+ new_connection login_timeout: 1, port: 1234, host: ENV['TOXIPROXY_HOST']
185
185
  end
186
186
  end
187
187
  assert_raise_tinytds_error(action) do |e|
data/test/gem_test.rb CHANGED
@@ -9,11 +9,11 @@ class GemTest < MiniTest::Spec
9
9
 
10
10
  # We're going to muck with some system globals so lets make sure
11
11
  # they get set back later
12
- original_host = RbConfig::CONFIG['host']
12
+ original_platform = RbConfig::CONFIG['arch']
13
13
  original_pwd = Dir.pwd
14
14
 
15
15
  after do
16
- RbConfig::CONFIG['host'] = original_host
16
+ RbConfig::CONFIG['arch'] = original_platform
17
17
  Dir.chdir original_pwd
18
18
  end
19
19
 
@@ -61,7 +61,7 @@ class GemTest < MiniTest::Spec
61
61
  end
62
62
 
63
63
  before do
64
- RbConfig::CONFIG['host'] = 'fake-host-with-dirs'
64
+ RbConfig::CONFIG['arch'] = 'fake-host-with-dirs'
65
65
  fake_bin_paths.each do |path|
66
66
  FileUtils.mkdir_p(path)
67
67
  end
@@ -85,7 +85,7 @@ class GemTest < MiniTest::Spec
85
85
 
86
86
  describe 'when the ports directories are missing' do
87
87
  before do
88
- RbConfig::CONFIG['host'] = 'fake-host-without-dirs'
88
+ RbConfig::CONFIG['arch'] = 'fake-host-without-dirs'
89
89
  end
90
90
 
91
91
  it 'should return no directories' do
@@ -115,7 +115,7 @@ class GemTest < MiniTest::Spec
115
115
  end
116
116
 
117
117
  before do
118
- RbConfig::CONFIG['host'] = 'fake-host-with-dirs'
118
+ RbConfig::CONFIG['arch'] = 'fake-host-with-dirs'
119
119
  fake_lib_paths.each do |path|
120
120
  FileUtils.mkdir_p(path)
121
121
  end
@@ -139,7 +139,7 @@ class GemTest < MiniTest::Spec
139
139
 
140
140
  describe 'when the ports directories are missing' do
141
141
  before do
142
- RbConfig::CONFIG['host'] = 'fake-host-without-dirs'
142
+ RbConfig::CONFIG['arch'] = 'fake-host-without-dirs'
143
143
  end
144
144
 
145
145
 
@@ -156,16 +156,14 @@ class GemTest < MiniTest::Spec
156
156
 
157
157
  describe '#ports_host' do
158
158
  {
159
- 'i686-pc-linux-gnu' => 'i686-pc-linux-gnu',
160
- 'x86_64-pc-linux-gnu' => 'x86_64-pc-linux-gnu',
161
- 'i686-w64-mingw32' => 'i686-w64-mingw32',
162
- 'x86_64-w64-mingw32' => 'x86_64-w64-mingw32',
163
- # consolidate this host to our build w64-mingw32 arch
164
- 'i686-pc-mingw32' => 'i686-w64-mingw32'
159
+ 'x64-mingw-ucrt' => 'x64-mingw-ucrt',
160
+ 'x64-mingw32' => 'x64-mingw32',
161
+ 'x86-mingw32' => 'x86-mingw32',
162
+ 'x86_64-linux' => 'x86_64-linux',
165
163
  }.each do |host,expected|
166
164
  describe "on a #{host} architecture" do
167
165
  before do
168
- RbConfig::CONFIG['host'] = host
166
+ RbConfig::CONFIG['arch'] = host
169
167
  end
170
168
 
171
169
  it "should return a #{expected} ports host" do
@@ -0,0 +1,18 @@
1
+ :ON ERROR EXIT
2
+
3
+ PRINT 'RUNNING DB-CREATE.SQL, CREATING TINYTDS TEST DATABASE';
4
+ IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'tinytdstest')
5
+ BEGIN
6
+ CREATE DATABASE [tinytdstest];
7
+ END
8
+ GO
9
+
10
+ IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name LIKE 'tinytdstest')
11
+ BEGIN
12
+ PRINT 'TINY TDS TEST DB SUCCESSFULY CREATED';
13
+ END
14
+ ELSE
15
+ BEGIN
16
+ THROW 51000, 'TINY TDS TEST DB CREATION FAILED', 1;
17
+ END
18
+ GO
@@ -0,0 +1,38 @@
1
+ :ON ERROR EXIT
2
+
3
+ PRINT 'RUNNING DB-LOGIN.SQL';
4
+
5
+ PRINT 'CREATING TINYTDS TEST LOGIN';
6
+ IF NOT EXISTS (select name from sys.server_principals where name like 'tinytds')
7
+ BEGIN
8
+ CREATE LOGIN [tinytds] WITH PASSWORD = '', CHECK_POLICY = OFF, DEFAULT_DATABASE = [tinytdstest];
9
+ END
10
+ GO
11
+
12
+ IF EXISTS (select name from sys.server_principals where name like 'tinytds')
13
+ BEGIN
14
+ PRINT 'TINY TDS TEST LOGIN SUCCESSFULY CREATED';
15
+ END
16
+ ELSE
17
+ BEGIN
18
+ THROW 51000, 'TINY TDS TEST LOGIN CREATION FAILED', 1;
19
+ END
20
+ GO
21
+
22
+ USE [tinytdstest];
23
+ IF NOT EXISTS (select name from sys.database_principals where name LIKE 'tinytds')
24
+ BEGIN
25
+ CREATE USER [tinytds] FOR LOGIN [tinytds];
26
+ EXEC sp_addrolemember N'db_owner', N'tinytds';
27
+ END
28
+ GO
29
+
30
+ IF EXISTS (select name from sys.database_principals where name LIKE 'tinytds')
31
+ BEGIN
32
+ PRINT 'TINY TDS TEST USER SUCCESSFULY CREATED';
33
+ END
34
+ ELSE
35
+ BEGIN
36
+ THROW 51000, 'TINY TDS TEST USER CREATION FAILED', 1;
37
+ END
38
+ GO
data/test/test_helper.rb CHANGED
@@ -248,22 +248,31 @@ module TinyTds
248
248
  end
249
249
 
250
250
  def init_toxiproxy
251
- return if ENV['APPVEYOR_BUILD_FOLDER'] # only for CI using docker
252
-
253
251
  # In order for toxiproxy to work for local docker instances of mssql, the containers must be on the same network
254
252
  # and the host used below must match the mssql container name so toxiproxy knows where to proxy to.
255
253
  # localhost from the perspective of toxiproxy's container is its own container an *not* the mssql container it needs to proxy to.
256
254
  # docker-compose.yml handles this automatically for us. In instances where someone is using their own local mssql container they'll
257
255
  # need to set up the networks manually and set TINYTDS_UNIT_HOST to their mssql container name
258
256
  # For anything other than localhost just use the environment config
259
- env_host = ENV['TINYTDS_UNIT_HOST_TEST'] || ENV['TINYTDS_UNIT_HOST'] || 'localhost'
260
- host = ['localhost', '127.0.0.1', '0.0.0.0'].include?(env_host) ? 'sqlserver' : env_host
261
- port = ENV['TINYTDS_UNIT_PORT'] || 1433
257
+ toxi_host = ENV['TOXIPROXY_HOST'] || 'localhost'
258
+ toxi_api_port = 8474
259
+ toxi_test_port = 1234
260
+ Toxiproxy.host = "http://#{toxi_host}:#{toxi_api_port}"
261
+
262
+ toxi_upstream_host = ENV['TINYTDS_UNIT_HOST_TEST'] || ENV['TINYTDS_UNIT_HOST'] || 'localhost'
263
+ toxi_upstream_port = ENV['TINYTDS_UNIT_PORT'] || 1433
264
+
265
+ puts "\n-------------------------"
266
+ puts "Toxiproxy api listener: #{toxi_host}:#{toxi_api_port}"
267
+ puts "Toxiproxy unit test listener: #{toxi_host}:#{toxi_test_port}"
268
+ puts "Toxiproxy upstream sqlserver: #{toxi_upstream_host}:#{toxi_upstream_port}"
269
+ puts '-------------------------'
270
+
262
271
  Toxiproxy.populate([
263
272
  {
264
273
  name: "sqlserver_test",
265
- listen: "0.0.0.0:1234",
266
- upstream: "#{host}:#{port}"
274
+ listen: "#{toxi_host}:#{toxi_test_port}",
275
+ upstream: "#{toxi_upstream_host}:#{toxi_upstream_port}"
267
276
  }
268
277
  ])
269
278
  end
data/tiny_tds.gemspec CHANGED
@@ -20,11 +20,12 @@ Gem::Specification.new do |s|
20
20
  s.license = 'MIT'
21
21
  s.required_ruby_version = '>= 2.0.0'
22
22
  s.metadata['msys2_mingw_dependencies'] = 'freetds'
23
- s.add_development_dependency 'mini_portile2', '~> 2.0'
24
- s.add_development_dependency 'rake', '~> 13.0'
25
- s.add_development_dependency 'rake-compiler', '~> 1.0'
26
- s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
27
- s.add_development_dependency 'minitest', '~> 5.6'
28
- s.add_development_dependency 'connection_pool', '~> 2.2'
23
+ s.add_development_dependency 'mini_portile2', '~> 2.5.0'
24
+ s.add_development_dependency 'rake', '~> 13.0.0'
25
+ s.add_development_dependency 'rake-compiler', '~> 1.2'
26
+ s.add_development_dependency 'rake-compiler-dock', '~> 1.4.0'
27
+ s.add_development_dependency 'minitest', '~> 5.14.0'
28
+ s.add_development_dependency 'minitest-ci', '~> 3.4.0'
29
+ s.add_development_dependency 'connection_pool', '~> 2.2.0'
29
30
  s.add_development_dependency 'toxiproxy', '~> 2.0.0'
30
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_tds
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 2.1.7
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Ken Collins
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-05-20 00:00:00.000000000 Z
13
+ date: 2024-01-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mini_portile2
@@ -18,84 +18,98 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '2.0'
21
+ version: 2.5.0
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '2.0'
28
+ version: 2.5.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '13.0'
35
+ version: 13.0.0
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '13.0'
42
+ version: 13.0.0
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rake-compiler
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '1.0'
49
+ version: '1.2'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '1.0'
56
+ version: '1.2'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: rake-compiler-dock
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '1.0'
63
+ version: 1.4.0
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '1.0'
70
+ version: 1.4.0
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: minitest
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '5.6'
77
+ version: 5.14.0
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '5.6'
84
+ version: 5.14.0
85
+ - !ruby/object:Gem::Dependency
86
+ name: minitest-ci
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: 3.4.0
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: 3.4.0
85
99
  - !ruby/object:Gem::Dependency
86
100
  name: connection_pool
87
101
  requirement: !ruby/object:Gem::Requirement
88
102
  requirements:
89
103
  - - "~>"
90
104
  - !ruby/object:Gem::Version
91
- version: '2.2'
105
+ version: 2.2.0
92
106
  type: :development
93
107
  prerelease: false
94
108
  version_requirements: !ruby/object:Gem::Requirement
95
109
  requirements:
96
110
  - - "~>"
97
111
  - !ruby/object:Gem::Version
98
- version: '2.2'
112
+ version: 2.2.0
99
113
  - !ruby/object:Gem::Dependency
100
114
  name: toxiproxy
101
115
  requirement: !ruby/object:Gem::Requirement
@@ -121,11 +135,11 @@ executables:
121
135
  extensions: []
122
136
  extra_rdoc_files: []
123
137
  files:
138
+ - ".circleci/config.yml"
124
139
  - ".codeclimate.yml"
125
140
  - ".gitattributes"
126
141
  - ".gitignore"
127
142
  - ".rubocop.yml"
128
- - ".travis.yml"
129
143
  - CHANGELOG.md
130
144
  - CODE_OF_CONDUCT.md
131
145
  - Gemfile
@@ -134,7 +148,6 @@ files:
134
148
  - README.md
135
149
  - Rakefile
136
150
  - VERSION
137
- - appveyor.yml
138
151
  - bin/defncopy-ttds
139
152
  - bin/tsql-ttds
140
153
  - docker-compose.yml
@@ -152,6 +165,7 @@ files:
152
165
  - lib/tiny_tds/2.5/tiny_tds.so
153
166
  - lib/tiny_tds/2.6/tiny_tds.so
154
167
  - lib/tiny_tds/2.7/tiny_tds.so
168
+ - lib/tiny_tds/3.0/tiny_tds.so
155
169
  - lib/tiny_tds/bin.rb
156
170
  - lib/tiny_tds/client.rb
157
171
  - lib/tiny_tds/error.rb
@@ -161,35 +175,37 @@ files:
161
175
  - patches/freetds/1.00.27/0001-mingw_missing_inet_pton.diff
162
176
  - patches/freetds/1.00.27/0002-Don-t-use-MSYS2-file-libws2_32.diff
163
177
  - patches/libiconv/1.14/1-avoid-gets-error.patch
164
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/bsqldb.exe
165
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/datacopy.exe
166
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/defncopy.exe
167
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/freebcp.exe
168
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/libct-4.dll
169
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/libsybdb-5.dll
170
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/osql
171
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/tdspool.exe
172
- - ports/x86_64-w64-mingw32/freetds/1.1.24/bin/tsql.exe
173
- - ports/x86_64-w64-mingw32/freetds/1.1.24/lib/libct.dll.a
174
- - ports/x86_64-w64-mingw32/freetds/1.1.24/lib/libct.la
175
- - ports/x86_64-w64-mingw32/freetds/1.1.24/lib/libsybdb.dll.a
176
- - ports/x86_64-w64-mingw32/freetds/1.1.24/lib/libsybdb.la
177
- - ports/x86_64-w64-mingw32/libiconv/1.15/bin/iconv.exe
178
- - ports/x86_64-w64-mingw32/libiconv/1.15/bin/libcharset-1.dll
179
- - ports/x86_64-w64-mingw32/libiconv/1.15/bin/libiconv-2.dll
180
- - ports/x86_64-w64-mingw32/libiconv/1.15/lib/charset.alias
181
- - ports/x86_64-w64-mingw32/libiconv/1.15/lib/libcharset.dll.a
182
- - ports/x86_64-w64-mingw32/libiconv/1.15/lib/libcharset.la
183
- - ports/x86_64-w64-mingw32/libiconv/1.15/lib/libiconv.dll.a
184
- - ports/x86_64-w64-mingw32/libiconv/1.15/lib/libiconv.la
185
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/c_rehash
186
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/libcrypto-1_1-x64.dll
187
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/libssl-1_1-x64.dll
188
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/openssl.exe
189
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libcrypto.a
190
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libcrypto.dll.a
191
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libssl.a
192
- - ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libssl.dll.a
178
+ - ports/x64-mingw32/freetds/1.1.24/bin/bsqldb.exe
179
+ - ports/x64-mingw32/freetds/1.1.24/bin/datacopy.exe
180
+ - ports/x64-mingw32/freetds/1.1.24/bin/defncopy.exe
181
+ - ports/x64-mingw32/freetds/1.1.24/bin/freebcp.exe
182
+ - ports/x64-mingw32/freetds/1.1.24/bin/libct-4.dll
183
+ - ports/x64-mingw32/freetds/1.1.24/bin/libsybdb-5.dll
184
+ - ports/x64-mingw32/freetds/1.1.24/bin/osql
185
+ - ports/x64-mingw32/freetds/1.1.24/bin/tdspool.exe
186
+ - ports/x64-mingw32/freetds/1.1.24/bin/tsql.exe
187
+ - ports/x64-mingw32/freetds/1.1.24/lib/libct.dll.a
188
+ - ports/x64-mingw32/freetds/1.1.24/lib/libct.la
189
+ - ports/x64-mingw32/freetds/1.1.24/lib/libsybdb.dll.a
190
+ - ports/x64-mingw32/freetds/1.1.24/lib/libsybdb.la
191
+ - ports/x64-mingw32/libiconv/1.15/bin/iconv.exe
192
+ - ports/x64-mingw32/libiconv/1.15/bin/libcharset-1.dll
193
+ - ports/x64-mingw32/libiconv/1.15/bin/libiconv-2.dll
194
+ - ports/x64-mingw32/libiconv/1.15/lib/charset.alias
195
+ - ports/x64-mingw32/libiconv/1.15/lib/libcharset.dll.a
196
+ - ports/x64-mingw32/libiconv/1.15/lib/libcharset.la
197
+ - ports/x64-mingw32/libiconv/1.15/lib/libiconv.dll.a
198
+ - ports/x64-mingw32/libiconv/1.15/lib/libiconv.la
199
+ - ports/x64-mingw32/openssl/1.1.1s/bin/c_rehash
200
+ - ports/x64-mingw32/openssl/1.1.1s/bin/libcrypto-1_1-x64.dll
201
+ - ports/x64-mingw32/openssl/1.1.1s/bin/libssl-1_1-x64.dll
202
+ - ports/x64-mingw32/openssl/1.1.1s/bin/openssl.exe
203
+ - ports/x64-mingw32/openssl/1.1.1s/lib/libcrypto.a
204
+ - ports/x64-mingw32/openssl/1.1.1s/lib/libcrypto.dll.a
205
+ - ports/x64-mingw32/openssl/1.1.1s/lib/libssl.a
206
+ - ports/x64-mingw32/openssl/1.1.1s/lib/libssl.dll.a
207
+ - setup_cimgruby_dev.sh
208
+ - start_dev.sh
193
209
  - tasks/native_gem.rake
194
210
  - tasks/package.rake
195
211
  - tasks/ports.rake
@@ -198,14 +214,15 @@ files:
198
214
  - tasks/ports/openssl.rb
199
215
  - tasks/ports/recipe.rb
200
216
  - tasks/test.rake
201
- - test/appveyor/dbsetup.ps1
202
- - test/appveyor/dbsetup.sql
203
217
  - test/benchmark/query.rb
204
218
  - test/benchmark/query_odbc.rb
205
219
  - test/benchmark/query_tinytds.rb
206
220
  - test/bin/install-freetds.sh
221
+ - test/bin/install-mssql.ps1
222
+ - test/bin/install-mssqltools.sh
207
223
  - test/bin/install-openssl.sh
208
- - test/bin/setup.sh
224
+ - test/bin/setup_tinytds_db.sh
225
+ - test/bin/setup_volume_permissions.sh
209
226
  - test/client_test.rb
210
227
  - test/gem_test.rb
211
228
  - test/result_test.rb
@@ -218,6 +235,8 @@ files:
218
235
  - test/schema/sqlserver_azure.sql
219
236
  - test/schema/sybase_ase.sql
220
237
  - test/schema_test.rb
238
+ - test/sql/db-create.sql
239
+ - test/sql/db-login.sql
221
240
  - test/test_helper.rb
222
241
  - test/thread_test.rb
223
242
  - tiny_tds.gemspec
@@ -237,14 +256,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
237
256
  version: '2.4'
238
257
  - - "<"
239
258
  - !ruby/object:Gem::Version
240
- version: 2.8.dev
259
+ version: 3.1.dev
241
260
  required_rubygems_version: !ruby/object:Gem::Requirement
242
261
  requirements:
243
262
  - - ">="
244
263
  - !ruby/object:Gem::Version
245
264
  version: '0'
246
265
  requirements: []
247
- rubygems_version: 3.1.2
266
+ rubygems_version: 3.3.26
248
267
  signing_key:
249
268
  specification_version: 4
250
269
  summary: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.
data/.travis.yml DELETED
@@ -1,25 +0,0 @@
1
- sudo: required
2
- cache: bundler
3
- services:
4
- - docker
5
- env:
6
- global:
7
- - PATH=/opt/local/bin:$PATH
8
- - TESTOPTS="-v"
9
- - TINYTDS_UNIT_HOST=localhost
10
- rvm:
11
- - 2.4.5
12
- - 2.5.3
13
- - 2.6.1
14
- - 2.7.0
15
- before_install:
16
- - docker info
17
- - docker-compose up -d
18
- - sudo ./test/bin/install-openssl.sh
19
- - sudo ./test/bin/install-freetds.sh
20
- install:
21
- - gem install bundler
22
- - bundle --version
23
- - bundle install
24
- script:
25
- - bundle exec rake
data/appveyor.yml DELETED
@@ -1,72 +0,0 @@
1
- init:
2
- - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
3
- - SET RAKEOPT=-rdevkit
4
- - SET TESTOPTS='-v'
5
- - SET MAKE=make V=1 -j2
6
- clone_depth: 5
7
- skip_tags: true
8
- skip_branch_with_pr: true
9
- matrix:
10
- fast_finish: false
11
- install:
12
- # Output debugging info
13
- - ps: Update-AppveyorBuild -Version "$(Get-Content $env:appveyor_build_folder\VERSION).$env:appveyor_build_number"
14
- - ps: |
15
- if ($env:ruby_version -like "*head*") {
16
- $(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-$env:ruby_version.exe", "$pwd/ruby-setup.exe")
17
- cmd /c ruby-setup.exe /verysilent /dir=C:/Ruby$env:ruby_version
18
- }
19
- - perl --version
20
- - ruby --version
21
- - gem --version
22
- # Update keyring according to https://www.msys2.org/news/#2020-06-29-new-packagers
23
- - C:\msys64\usr\bin\curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
24
- - C:\msys64\usr\bin\curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
25
- - ridk exec bash -c "pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig"
26
- - ridk exec bash -c "pacman -U --noconfirm --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
27
- # Update zstd and pacman first https://github.com/msys2/MSYS2-packages/issues/2300
28
- - C:\msys64\usr\bin\pacman --noconfirm --upgrade https://repo.msys2.org/msys/x86_64/zstd-1.4.7-1-x86_64.pkg.tar.xz # Must come First, or else pacman will install 1.4.8
29
- - C:\msys64\usr\bin\pacman --noconfirm --upgrade https://repo.msys2.org/msys/x86_64/pacman-5.2.2-5-x86_64.pkg.tar.xz
30
- # update packages
31
- - C:\msys64\usr\bin\pacman --noconfirm --ask 20 --sync --refresh --refresh --sysupgrade --sysupgrade
32
- # Kill all running msys2 binaries to avoid error "size of shared memory region changed".
33
- # See https://github.com/msys2/MSYS2-packages/issues/258
34
- - powershell -Command "Get-Process | Where-Object {$_.path -like 'C:\msys64*'} | Stop-Process"
35
- # refresh the package list to avoid "error: failed to prepare transaction (could not find database)"
36
- - ridk exec bash -c "pacman --noconfirm -Sy"
37
- # prevent freetds to link to wrong ws2_32 lib on i686-w64-mingw32
38
- - c:/msys64/usr/bin/rm /usr/lib/w32api/libws2_32.a
39
- # Set up project prerequisits
40
- - bundle install
41
- - bundle exec rake ports
42
- build: off
43
- branches:
44
- except:
45
- - /dev.*/
46
- test_script:
47
- - timeout /t 4 /nobreak > NUL
48
- - powershell -File "%APPVEYOR_BUILD_FOLDER%\test\appveyor\dbsetup.ps1"
49
- - timeout /t 4 /nobreak > NUL
50
- - ps: Start-Service 'MSSQL$SQL2014'
51
- - timeout /t 4 /nobreak > NUL
52
- - sqlcmd -S ".\SQL2014" -U sa -P Password12! -i %APPVEYOR_BUILD_FOLDER%\test\appveyor\dbsetup.sql
53
- - bundle exec rake ports build test TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2014" TINYTDS_SCHEMA=sqlserver_2014 TDSVER=7.1
54
- - bundle exec rake ports build test TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2014" TINYTDS_SCHEMA=sqlserver_2014
55
- - ps: Stop-Service 'MSSQL$SQL2014'
56
- - ps: Start-Service 'MSSQL$SQL2012SP1'
57
- - timeout /t 4 /nobreak > NUL
58
- - sqlcmd -S ".\SQL2012SP1" -U sa -P Password12! -i %APPVEYOR_BUILD_FOLDER%\test\appveyor\dbsetup.sql
59
- - bundle exec rake ports build test TINYTDS_UNIT_HOST_TEST=localhost TINYTDS_UNIT_DATASERVER="localhost\SQL2012SP1" TINYTDS_SCHEMA=sqlserver_2014
60
- environment:
61
- CI_AZURE_HOST:
62
- secure: 8ydpYysZYKEBKvp6plKlYfepH98/zAuT27FFCaJ9Sss=
63
- TINYTDS_UNIT_AZURE_PASS:
64
- secure: fYKSKV4v+36OFQp2nZdX4DfUpgmy5cm0wuR73cgdmEk=
65
- matrix:
66
- - ruby_version: "24"
67
- - ruby_version: "25-x64"
68
- - ruby_version: "26"
69
- - ruby_version: "head-x64"
70
- on_failure:
71
- - find -name config.log | xargs cat
72
- - find -name compile.log | xargs cat