tiny_tds 2.1.5-x64-mingw32 → 2.1.7-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +409 -0
- data/.gitignore +2 -0
- data/CHANGELOG.md +10 -1
- data/Gemfile +0 -7
- data/README.md +2 -4
- data/Rakefile +19 -10
- data/VERSION +1 -1
- data/docker-compose.yml +19 -7
- data/ext/tiny_tds/client.c +2 -0
- data/ext/tiny_tds/extconf.rb +21 -2
- data/ext/tiny_tds/extconsts.rb +1 -1
- data/ext/tiny_tds/result.c +1 -0
- data/lib/tiny_tds/2.4/tiny_tds.so +0 -0
- data/lib/tiny_tds/2.5/tiny_tds.so +0 -0
- data/lib/tiny_tds/2.6/tiny_tds.so +0 -0
- data/lib/tiny_tds/2.7/tiny_tds.so +0 -0
- data/lib/tiny_tds/3.0/tiny_tds.so +0 -0
- data/lib/tiny_tds/gem.rb +1 -6
- data/ports/x64-mingw32/freetds/1.1.24/bin/bsqldb.exe +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/datacopy.exe +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/defncopy.exe +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/freebcp.exe +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/libct-4.dll +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/libsybdb-5.dll +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/tdspool.exe +0 -0
- data/ports/x64-mingw32/freetds/1.1.24/bin/tsql.exe +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libct.dll.a +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libct.la +2 -2
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libsybdb.dll.a +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/lib/libsybdb.la +2 -2
- data/ports/x64-mingw32/libiconv/1.15/bin/iconv.exe +0 -0
- data/ports/x64-mingw32/libiconv/1.15/bin/libcharset-1.dll +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/bin/libiconv-2.dll +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libcharset.dll.a +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libcharset.la +2 -2
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libiconv.dll.a +0 -0
- data/ports/{x86_64-w64-mingw32 → x64-mingw32}/libiconv/1.15/lib/libiconv.la +2 -2
- data/ports/x64-mingw32/openssl/1.1.1s/bin/c_rehash +251 -0
- data/ports/x64-mingw32/openssl/1.1.1s/bin/libcrypto-1_1-x64.dll +0 -0
- data/ports/x64-mingw32/openssl/1.1.1s/bin/libssl-1_1-x64.dll +0 -0
- data/ports/x64-mingw32/openssl/1.1.1s/bin/openssl.exe +0 -0
- data/ports/x64-mingw32/openssl/1.1.1s/lib/libcrypto.a +0 -0
- data/ports/{x86_64-w64-mingw32/openssl/1.1.1d → x64-mingw32/openssl/1.1.1s}/lib/libcrypto.dll.a +0 -0
- data/ports/x64-mingw32/openssl/1.1.1s/lib/libssl.a +0 -0
- data/ports/{x86_64-w64-mingw32/openssl/1.1.1d → x64-mingw32/openssl/1.1.1s}/lib/libssl.dll.a +0 -0
- data/setup_cimgruby_dev.sh +25 -0
- data/start_dev.sh +21 -0
- data/tasks/native_gem.rake +15 -6
- data/tasks/ports/libiconv.rb +0 -17
- data/tasks/ports/recipe.rb +16 -4
- data/tasks/ports.rake +58 -35
- data/test/bin/install-mssql.ps1 +31 -0
- data/test/bin/install-mssqltools.sh +9 -0
- data/test/bin/setup_tinytds_db.sh +7 -0
- data/test/bin/setup_volume_permissions.sh +10 -0
- data/test/client_test.rb +6 -6
- data/test/gem_test.rb +11 -13
- data/test/sql/db-create.sql +18 -0
- data/test/sql/db-login.sql +38 -0
- data/test/test_helper.rb +16 -7
- data/tiny_tds.gemspec +7 -6
- metadata +69 -50
- data/.travis.yml +0 -25
- data/appveyor.yml +0 -72
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/bsqldb.exe +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/datacopy.exe +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/defncopy.exe +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/freebcp.exe +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/libct-4.dll +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/libsybdb-5.dll +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/tdspool.exe +0 -0
- data/ports/x86_64-w64-mingw32/freetds/1.1.24/bin/tsql.exe +0 -0
- data/ports/x86_64-w64-mingw32/libiconv/1.15/bin/iconv.exe +0 -0
- data/ports/x86_64-w64-mingw32/libiconv/1.15/bin/libcharset-1.dll +0 -0
- data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/c_rehash +0 -232
- data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/libcrypto-1_1-x64.dll +0 -0
- data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/libssl-1_1-x64.dll +0 -0
- data/ports/x86_64-w64-mingw32/openssl/1.1.1d/bin/openssl.exe +0 -0
- data/ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libcrypto.a +0 -0
- data/ports/x86_64-w64-mingw32/openssl/1.1.1d/lib/libssl.a +0 -0
- data/test/appveyor/dbsetup.ps1 +0 -27
- data/test/appveyor/dbsetup.sql +0 -9
- data/test/bin/setup.sh +0 -19
- /data/ports/{x86_64-w64-mingw32 → x64-mingw32}/freetds/1.1.24/bin/osql +0 -0
- /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,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
|
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
|
-
|
12
|
+
original_platform = RbConfig::CONFIG['arch']
|
13
13
|
original_pwd = Dir.pwd
|
14
14
|
|
15
15
|
after do
|
16
|
-
RbConfig::CONFIG['
|
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['
|
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['
|
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['
|
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['
|
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
|
-
'
|
160
|
-
'
|
161
|
-
'
|
162
|
-
'x86_64-
|
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['
|
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
|
-
|
260
|
-
|
261
|
-
|
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: "
|
266
|
-
upstream: "#{
|
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.
|
26
|
-
s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
|
27
|
-
s.add_development_dependency 'minitest', '~> 5.
|
28
|
-
s.add_development_dependency '
|
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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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.
|
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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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/
|
165
|
-
- ports/
|
166
|
-
- ports/
|
167
|
-
- ports/
|
168
|
-
- ports/
|
169
|
-
- ports/
|
170
|
-
- ports/
|
171
|
-
- ports/
|
172
|
-
- ports/
|
173
|
-
- ports/
|
174
|
-
- ports/
|
175
|
-
- ports/
|
176
|
-
- ports/
|
177
|
-
- ports/
|
178
|
-
- ports/
|
179
|
-
- ports/
|
180
|
-
- ports/
|
181
|
-
- ports/
|
182
|
-
- ports/
|
183
|
-
- ports/
|
184
|
-
- ports/
|
185
|
-
- ports/
|
186
|
-
- ports/
|
187
|
-
- ports/
|
188
|
-
- ports/
|
189
|
-
- ports/
|
190
|
-
- ports/
|
191
|
-
- ports/
|
192
|
-
- ports/
|
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/
|
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:
|
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.
|
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
|