tiny_tds 3.0.0-x64-mingw32 → 3.2.0-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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +194 -74
- data/CHANGELOG.md +12 -0
- data/Gemfile +1 -1
- data/README.md +59 -50
- data/Rakefile +46 -37
- data/VERSION +1 -1
- data/ext/tiny_tds/extconf.rb +169 -70
- data/ext/tiny_tds/extconsts.rb +3 -4
- 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/bin.rb +12 -26
- data/lib/tiny_tds/client.rb +38 -42
- data/lib/tiny_tds/error.rb +0 -2
- data/lib/tiny_tds/gem.rb +5 -9
- data/lib/tiny_tds/result.rb +0 -2
- data/lib/tiny_tds/version.rb +1 -1
- data/lib/tiny_tds.rb +28 -47
- data/ports/x64-mingw32/{freetds/1.4.23/bin → bin}/defncopy.exe +0 -0
- data/ports/x64-mingw32/bin/libsybdb-5.dll +0 -0
- data/ports/x64-mingw32/bin/tsql.exe +0 -0
- data/tasks/native_gem.rake +11 -18
- data/tasks/package.rake +1 -3
- data/tasks/ports.rake +7 -91
- data/tasks/test.rake +3 -5
- data/test/bin/install-freetds.sh +2 -4
- data/test/bin/restore-from-native-gem.ps1 +10 -0
- data/test/client_test.rb +106 -112
- data/test/gem_test.rb +32 -108
- data/test/result_test.rb +208 -221
- data/test/schema_test.rb +177 -181
- data/test/test_helper.rb +59 -64
- data/test/thread_test.rb +22 -31
- data/tiny_tds.gemspec +28 -29
- metadata +27 -43
- data/ports/x64-mingw32/freetds/1.4.23/bin/bsqldb.exe +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/bin/datacopy.exe +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/bin/freebcp.exe +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/bin/libct-4.dll +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/bin/libsybdb-5.dll +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/bin/osql +0 -393
- data/ports/x64-mingw32/freetds/1.4.23/bin/tdspool.exe +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/bin/tsql.exe +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/lib/libct.dll.a +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/lib/libct.la +0 -41
- data/ports/x64-mingw32/freetds/1.4.23/lib/libsybdb.dll.a +0 -0
- data/ports/x64-mingw32/freetds/1.4.23/lib/libsybdb.la +0 -41
- data/ports/x64-mingw32/libiconv/1.17/bin/iconv.exe +0 -0
- data/ports/x64-mingw32/libiconv/1.17/bin/libcharset-1.dll +0 -0
- data/ports/x64-mingw32/libiconv/1.17/bin/libiconv-2.dll +0 -0
- data/ports/x64-mingw32/libiconv/1.17/lib/libcharset.dll.a +0 -0
- data/ports/x64-mingw32/libiconv/1.17/lib/libcharset.la +0 -41
- data/ports/x64-mingw32/libiconv/1.17/lib/libiconv.dll.a +0 -0
- data/ports/x64-mingw32/libiconv/1.17/lib/libiconv.la +0 -41
- data/ports/x64-mingw32/openssl/3.4.0/bin/c_rehash +0 -252
- data/ports/x64-mingw32/openssl/3.4.0/bin/libcrypto-3-x64.dll +0 -0
- data/ports/x64-mingw32/openssl/3.4.0/bin/libssl-3-x64.dll +0 -0
- data/ports/x64-mingw32/openssl/3.4.0/bin/openssl.exe +0 -0
- data/tasks/ports/freetds.rb +0 -32
- data/tasks/ports/libiconv.rb +0 -26
- data/tasks/ports/openssl.rb +0 -62
- data/tasks/ports/recipe.rb +0 -64
- data/test/benchmark/query.rb +0 -77
- data/test/benchmark/query_odbc.rb +0 -106
- data/test/benchmark/query_tinytds.rb +0 -126
data/test/test_helper.rb
CHANGED
@@ -1,26 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
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 = [
|
10
|
+
TINYTDS_SCHEMAS = ["sqlserver_2017", "sqlserver_azure"].freeze
|
11
11
|
|
12
12
|
module TinyTds
|
13
|
-
class TestCase <
|
14
|
-
|
13
|
+
class TestCase < Minitest::Spec
|
15
14
|
class << self
|
16
|
-
|
17
15
|
def current_schema
|
18
|
-
ENV[
|
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 ==
|
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
|
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(
|
50
|
-
client.execute(
|
51
|
-
client.execute(
|
52
|
-
client.execute(
|
53
|
-
client.execute(
|
54
|
-
client.execute(
|
55
|
-
client.execute(
|
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(
|
58
|
-
client.execute(
|
59
|
-
client.execute(
|
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(
|
62
|
-
client.execute(
|
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[
|
68
|
-
password = (sqlserver_azure? ? ENV[
|
69
|
-
{
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
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 [{
|
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,
|
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
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
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(
|
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(
|
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[
|
129
|
+
RbConfig::CONFIG["host_os"] =~ /ming/
|
135
130
|
end
|
136
131
|
|
137
132
|
def ruby_darwin?
|
138
|
-
RbConfig::CONFIG[
|
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__),
|
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
|
-
|
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[
|
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[
|
232
|
-
toxi_upstream_port = ENV[
|
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
|
2
|
-
require
|
3
|
-
require
|
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(:
|
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
|
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
|
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
|
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
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
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
|
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
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
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
|
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
|
-
|
2
|
-
|
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
|
7
|
-
s.version
|
8
|
-
s.platform
|
9
|
-
s.authors
|
10
|
-
s.email
|
11
|
-
s.homepage
|
12
|
-
s.summary
|
13
|
-
s.description
|
14
|
-
s.files
|
15
|
-
s.
|
16
|
-
s.
|
17
|
-
s.
|
18
|
-
s.
|
19
|
-
s.
|
20
|
-
s.
|
21
|
-
s.
|
22
|
-
s.
|
23
|
-
s.
|
24
|
-
s.add_development_dependency
|
25
|
-
s.add_development_dependency
|
26
|
-
s.add_development_dependency
|
27
|
-
s.add_development_dependency
|
28
|
-
s.add_development_dependency
|
29
|
-
s.add_development_dependency
|
30
|
-
s.add_development_dependency
|
31
|
-
s.add_development_dependency
|
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.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: x64-mingw32
|
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:
|
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.
|
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.
|
41
|
+
version: 2.8.0
|
43
42
|
- !ruby/object:Gem::Dependency
|
44
43
|
name: rake
|
45
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,28 +73,28 @@ dependencies:
|
|
74
73
|
requirements:
|
75
74
|
- - "~>"
|
76
75
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.
|
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.
|
83
|
+
version: 1.9.1
|
85
84
|
- !ruby/object:Gem::Dependency
|
86
85
|
name: minitest
|
87
86
|
requirement: !ruby/object:Gem::Requirement
|
88
87
|
requirements:
|
89
88
|
- - "~>"
|
90
89
|
- !ruby/object:Gem::Version
|
91
|
-
version: 5.
|
90
|
+
version: '5.25'
|
92
91
|
type: :development
|
93
92
|
prerelease: false
|
94
93
|
version_requirements: !ruby/object:Gem::Requirement
|
95
94
|
requirements:
|
96
95
|
- - "~>"
|
97
96
|
- !ruby/object:Gem::Version
|
98
|
-
version: 5.
|
97
|
+
version: '5.25'
|
99
98
|
- !ruby/object:Gem::Dependency
|
100
99
|
name: minitest-reporters
|
101
100
|
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:
|
@@ -186,47 +199,20 @@ files:
|
|
186
199
|
- patches/freetds/1.00.27/0001-mingw_missing_inet_pton.diff
|
187
200
|
- patches/freetds/1.00.27/0002-Don-t-use-MSYS2-file-libws2_32.diff
|
188
201
|
- patches/libiconv/1.14/1-avoid-gets-error.patch
|
189
|
-
- ports/x64-mingw32/
|
190
|
-
- ports/x64-mingw32/
|
191
|
-
- ports/x64-mingw32/
|
192
|
-
- ports/x64-mingw32/freetds/1.4.23/bin/freebcp.exe
|
193
|
-
- ports/x64-mingw32/freetds/1.4.23/bin/libct-4.dll
|
194
|
-
- ports/x64-mingw32/freetds/1.4.23/bin/libsybdb-5.dll
|
195
|
-
- ports/x64-mingw32/freetds/1.4.23/bin/osql
|
196
|
-
- ports/x64-mingw32/freetds/1.4.23/bin/tdspool.exe
|
197
|
-
- ports/x64-mingw32/freetds/1.4.23/bin/tsql.exe
|
198
|
-
- ports/x64-mingw32/freetds/1.4.23/lib/libct.dll.a
|
199
|
-
- ports/x64-mingw32/freetds/1.4.23/lib/libct.la
|
200
|
-
- ports/x64-mingw32/freetds/1.4.23/lib/libsybdb.dll.a
|
201
|
-
- ports/x64-mingw32/freetds/1.4.23/lib/libsybdb.la
|
202
|
-
- ports/x64-mingw32/libiconv/1.17/bin/iconv.exe
|
203
|
-
- ports/x64-mingw32/libiconv/1.17/bin/libcharset-1.dll
|
204
|
-
- ports/x64-mingw32/libiconv/1.17/bin/libiconv-2.dll
|
205
|
-
- ports/x64-mingw32/libiconv/1.17/lib/libcharset.dll.a
|
206
|
-
- ports/x64-mingw32/libiconv/1.17/lib/libcharset.la
|
207
|
-
- ports/x64-mingw32/libiconv/1.17/lib/libiconv.dll.a
|
208
|
-
- ports/x64-mingw32/libiconv/1.17/lib/libiconv.la
|
209
|
-
- ports/x64-mingw32/openssl/3.4.0/bin/c_rehash
|
210
|
-
- ports/x64-mingw32/openssl/3.4.0/bin/libcrypto-3-x64.dll
|
211
|
-
- ports/x64-mingw32/openssl/3.4.0/bin/libssl-3-x64.dll
|
212
|
-
- ports/x64-mingw32/openssl/3.4.0/bin/openssl.exe
|
202
|
+
- ports/x64-mingw32/bin/defncopy.exe
|
203
|
+
- ports/x64-mingw32/bin/libsybdb-5.dll
|
204
|
+
- ports/x64-mingw32/bin/tsql.exe
|
213
205
|
- setup_cimgruby_dev.sh
|
214
206
|
- start_dev.sh
|
215
207
|
- tasks/native_gem.rake
|
216
208
|
- tasks/package.rake
|
217
209
|
- tasks/ports.rake
|
218
|
-
- tasks/ports/freetds.rb
|
219
|
-
- tasks/ports/libiconv.rb
|
220
|
-
- tasks/ports/openssl.rb
|
221
|
-
- tasks/ports/recipe.rb
|
222
210
|
- tasks/test.rake
|
223
|
-
- test/benchmark/query.rb
|
224
|
-
- test/benchmark/query_odbc.rb
|
225
|
-
- test/benchmark/query_tinytds.rb
|
226
211
|
- test/bin/install-freetds.sh
|
227
212
|
- test/bin/install-mssql.ps1
|
228
213
|
- test/bin/install-mssqltools.sh
|
229
214
|
- test/bin/install-openssl.sh
|
215
|
+
- test/bin/restore-from-native-gem.ps1
|
230
216
|
- test/bin/setup_tinytds_db.sh
|
231
217
|
- test/bin/setup_volume_permissions.sh
|
232
218
|
- test/client_test.rb
|
@@ -245,7 +231,6 @@ homepage: http://github.com/rails-sqlserver/tiny_tds
|
|
245
231
|
licenses:
|
246
232
|
- MIT
|
247
233
|
metadata: {}
|
248
|
-
post_install_message:
|
249
234
|
rdoc_options:
|
250
235
|
- "--charset=UTF-8"
|
251
236
|
require_paths:
|
@@ -264,8 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
249
|
- !ruby/object:Gem::Version
|
265
250
|
version: '0'
|
266
251
|
requirements: []
|
267
|
-
rubygems_version: 3.
|
268
|
-
signing_key:
|
252
|
+
rubygems_version: 3.6.2
|
269
253
|
specification_version: 4
|
270
254
|
summary: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library.
|
271
255
|
test_files: []
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|