tiny_tds 0.7.0-x64-mingw32 → 0.9.5.beta.1-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/.gitignore +3 -1
- data/CHANGELOG +17 -46
- data/Gemfile +4 -0
- data/README.md +20 -14
- data/Rakefile +18 -13
- data/VERSION +1 -0
- data/appveyor.yml +17 -6
- data/bin/tsql +25 -0
- data/exe/.keep +0 -0
- data/ext/tiny_tds/client.c +26 -24
- data/ext/tiny_tds/client.h +1 -0
- data/ext/tiny_tds/extconf.rb +57 -36
- data/ext/tiny_tds/extconsts.rb +14 -0
- data/ext/tiny_tds/result.c +76 -36
- data/ext/tiny_tds/result.h +0 -4
- data/ext/tiny_tds/tiny_tds_ext.h +4 -2
- data/lib/tiny_tds.rb +3 -9
- data/lib/tiny_tds/client.rb +61 -34
- data/lib/tiny_tds/version.rb +1 -1
- data/ports/patches/freetds/0.91.112/Makefile.in.diff +29 -0
- data/ports/patches/freetds/0.91.112/dblib-30-char-username.diff +11 -0
- data/ports/patches/freetds/0.95.75/0001-mingw_missing_inet_pton.diff +34 -0
- data/test/client_test.rb +32 -12
- data/test/result_test.rb +13 -13
- data/test/schema/sqlserver_2000.sql +13 -13
- data/test/schema/sqlserver_2005.sql +13 -13
- data/test/schema/sqlserver_2008.sql +13 -13
- data/test/schema/sqlserver_2014.sql +9 -9
- data/test/schema/sqlserver_azure.sql +13 -13
- data/test/schema/sybase_ase.sql +7 -7
- data/test/schema_test.rb +157 -33
- data/test/test_helper.rb +13 -8
- data/test/thread_test.rb +6 -4
- metadata +21 -15
data/test/test_helper.rb
CHANGED
@@ -26,9 +26,7 @@ module TinyTds
|
|
26
26
|
|
27
27
|
end
|
28
28
|
|
29
|
-
after
|
30
|
-
@client.close if defined?(@client) && @client.is_a?(TinyTds::Client)
|
31
|
-
end
|
29
|
+
after { close_client }
|
32
30
|
|
33
31
|
protected
|
34
32
|
|
@@ -46,6 +44,10 @@ module TinyTds
|
|
46
44
|
self.class.sqlserver?
|
47
45
|
end
|
48
46
|
|
47
|
+
def close_client(client=@client)
|
48
|
+
client.close if defined?(client) && client.is_a?(TinyTds::Client)
|
49
|
+
end
|
50
|
+
|
49
51
|
def new_connection(options={})
|
50
52
|
client = TinyTds::Client.new(connection_options(options))
|
51
53
|
if sybase_ase?
|
@@ -97,17 +99,21 @@ module TinyTds
|
|
97
99
|
def assert_new_connections_work
|
98
100
|
client = new_connection
|
99
101
|
client.execute("SELECT 'new_connections_work' as [new_connections_work]").each
|
102
|
+
client.close
|
100
103
|
end
|
101
104
|
|
102
105
|
def assert_raise_tinytds_error(action)
|
106
|
+
result = nil
|
103
107
|
error_raised = false
|
104
108
|
begin
|
105
|
-
action.call
|
109
|
+
result = action.call
|
106
110
|
rescue TinyTds::Error => e
|
107
111
|
error_raised = true
|
108
112
|
end
|
109
113
|
assert error_raised, 'expected a TinyTds::Error but none happened'
|
110
114
|
yield e
|
115
|
+
ensure
|
116
|
+
close_client(result)
|
111
117
|
end
|
112
118
|
|
113
119
|
def inspect_tinytds_exception
|
@@ -136,9 +142,9 @@ module TinyTds
|
|
136
142
|
loader = new_connection
|
137
143
|
schema_file = File.expand_path File.join(File.dirname(__FILE__), 'schema', "#{current_schema}.sql")
|
138
144
|
schema_sql = File.open(schema_file,"rb:UTF-8") { |f|f.read }
|
139
|
-
loader.execute(drop_sql).
|
140
|
-
loader.execute(schema_sql).
|
141
|
-
loader.execute(sp_sql).
|
145
|
+
loader.execute(drop_sql).do
|
146
|
+
loader.execute(schema_sql).do
|
147
|
+
loader.execute(sp_sql).do
|
142
148
|
loader.close
|
143
149
|
true
|
144
150
|
end
|
@@ -198,7 +204,6 @@ module TinyTds
|
|
198
204
|
client.execute("ROLLBACK TRANSACTION").do
|
199
205
|
end
|
200
206
|
|
201
|
-
|
202
207
|
end
|
203
208
|
end
|
204
209
|
|
data/test/thread_test.rb
CHANGED
@@ -15,17 +15,19 @@ class ThreadTest < TinyTds::TestCase
|
|
15
15
|
@pool = ConnectionPool.new(:size => @poolsize, :timeout => 5) { new_connection }
|
16
16
|
end
|
17
17
|
|
18
|
+
after do
|
19
|
+
@pool.shutdown { |c| c.close }
|
20
|
+
end
|
21
|
+
|
18
22
|
it 'should finish faster in parallel' do
|
23
|
+
skip if sqlserver_azure?
|
19
24
|
x = Benchmark.realtime do
|
20
25
|
threads = []
|
21
26
|
@numthreads.times do |i|
|
22
27
|
start = Time.new
|
23
28
|
threads << Thread.new do
|
24
29
|
ts = Time.new
|
25
|
-
@pool.with
|
26
|
-
result = client.execute @query
|
27
|
-
result.each { |r| puts r }
|
28
|
-
end
|
30
|
+
@pool.with { |c| c.execute(@query).do }
|
29
31
|
te = Time.new
|
30
32
|
@logger.info "Thread #{i} finished in #{te - ts} thread seconds, #{te - start} real seconds"
|
31
33
|
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: 0.
|
4
|
+
version: 0.9.5.beta.1
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-12-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: mini_portile2
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0
|
21
|
+
version: '2.0'
|
22
22
|
type: :runtime
|
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: 0
|
28
|
+
version: '2.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rake
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,7 +101,8 @@ description: TinyTDS - A modern, simple and fast FreeTDS library for Ruby using
|
|
101
101
|
email:
|
102
102
|
- ken@metaskills.net
|
103
103
|
- will@wbond.net
|
104
|
-
executables:
|
104
|
+
executables:
|
105
|
+
- tsql
|
105
106
|
extensions: []
|
106
107
|
extra_rdoc_files: []
|
107
108
|
files:
|
@@ -112,10 +113,14 @@ files:
|
|
112
113
|
- MIT-LICENSE
|
113
114
|
- README.md
|
114
115
|
- Rakefile
|
116
|
+
- VERSION
|
115
117
|
- appveyor.yml
|
118
|
+
- bin/tsql
|
119
|
+
- exe/.keep
|
116
120
|
- ext/tiny_tds/client.c
|
117
121
|
- ext/tiny_tds/client.h
|
118
122
|
- ext/tiny_tds/extconf.rb
|
123
|
+
- ext/tiny_tds/extconsts.rb
|
119
124
|
- ext/tiny_tds/result.c
|
120
125
|
- ext/tiny_tds/result.h
|
121
126
|
- ext/tiny_tds/tiny_tds_ext.c
|
@@ -128,12 +133,13 @@ files:
|
|
128
133
|
- lib/tiny_tds/error.rb
|
129
134
|
- lib/tiny_tds/result.rb
|
130
135
|
- lib/tiny_tds/version.rb
|
131
|
-
- ports/patches/freetds/0.91/Makefile.in.diff
|
132
|
-
- ports/patches/freetds/0.91/dblib-30-char-username.diff
|
133
|
-
- ports/
|
136
|
+
- ports/patches/freetds/0.91.112/Makefile.in.diff
|
137
|
+
- ports/patches/freetds/0.91.112/dblib-30-char-username.diff
|
138
|
+
- ports/patches/freetds/0.95.75/0001-mingw_missing_inet_pton.diff
|
139
|
+
- ports/x86_64-w64-mingw32/bin/libeay32-1.0.2e-x86_64-w64-mingw32.dll
|
134
140
|
- ports/x86_64-w64-mingw32/bin/libiconv-2.dll
|
135
141
|
- ports/x86_64-w64-mingw32/bin/libsybdb-5.dll
|
136
|
-
- ports/x86_64-w64-mingw32/bin/ssleay32-1.0.
|
142
|
+
- ports/x86_64-w64-mingw32/bin/ssleay32-1.0.2e-x86_64-w64-mingw32.dll
|
137
143
|
- test/appveyor/dbsetup.ps1
|
138
144
|
- test/appveyor/dbsetup.sql
|
139
145
|
- test/benchmark/query.rb
|
@@ -164,12 +170,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
170
|
requirements:
|
165
171
|
- - ">="
|
166
172
|
- !ruby/object:Gem::Version
|
167
|
-
version:
|
173
|
+
version: 2.0.0
|
168
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
175
|
requirements:
|
170
|
-
- - "
|
176
|
+
- - ">"
|
171
177
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
178
|
+
version: 1.3.1
|
173
179
|
requirements: []
|
174
180
|
rubyforge_project:
|
175
181
|
rubygems_version: 2.4.8
|