tiny_tds 2.1.2 → 3.2.1

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 (64) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +571 -0
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +56 -1
  5. data/Gemfile +1 -8
  6. data/ISSUE_TEMPLATE.md +1 -1
  7. data/README.md +89 -89
  8. data/Rakefile +44 -30
  9. data/VERSION +1 -1
  10. data/docker-compose.yml +34 -0
  11. data/ext/tiny_tds/client.c +100 -59
  12. data/ext/tiny_tds/client.h +5 -3
  13. data/ext/tiny_tds/extconf.rb +173 -52
  14. data/ext/tiny_tds/extconsts.rb +4 -11
  15. data/ext/tiny_tds/result.c +52 -45
  16. data/ext/tiny_tds/tiny_tds_ext.c +4 -1
  17. data/lib/tiny_tds/bin.rb +12 -26
  18. data/lib/tiny_tds/client.rb +38 -42
  19. data/lib/tiny_tds/error.rb +0 -2
  20. data/lib/tiny_tds/gem.rb +5 -14
  21. data/lib/tiny_tds/result.rb +0 -2
  22. data/lib/tiny_tds/version.rb +1 -1
  23. data/lib/tiny_tds.rb +28 -47
  24. data/setup_cimgruby_dev.sh +25 -0
  25. data/start_dev.sh +21 -0
  26. data/tasks/native_gem.rake +12 -10
  27. data/tasks/package.rake +1 -3
  28. data/tasks/ports.rake +14 -77
  29. data/tasks/test.rake +3 -5
  30. data/test/bin/install-freetds.sh +2 -4
  31. data/test/bin/install-mssql.ps1 +42 -0
  32. data/test/bin/install-mssqltools.sh +9 -0
  33. data/test/bin/restore-from-native-gem.ps1 +10 -0
  34. data/test/bin/setup_tinytds_db.sh +7 -0
  35. data/test/bin/setup_volume_permissions.sh +10 -0
  36. data/test/client_test.rb +152 -116
  37. data/test/gem_test.rb +39 -118
  38. data/test/result_test.rb +285 -350
  39. data/test/schema_test.rb +369 -395
  40. data/test/sql/db-create.sql +18 -0
  41. data/test/sql/db-login.sql +38 -0
  42. data/test/test_helper.rb +112 -85
  43. data/test/thread_test.rb +22 -31
  44. data/tiny_tds.gemspec +28 -26
  45. metadata +85 -59
  46. data/.travis.yml +0 -24
  47. data/BACKERS.md +0 -32
  48. data/appveyor.yml +0 -51
  49. data/tasks/ports/freetds.rb +0 -37
  50. data/tasks/ports/libiconv.rb +0 -43
  51. data/tasks/ports/openssl.rb +0 -78
  52. data/tasks/ports/recipe.rb +0 -52
  53. data/test/appveyor/dbsetup.ps1 +0 -27
  54. data/test/appveyor/dbsetup.sql +0 -9
  55. data/test/benchmark/query.rb +0 -77
  56. data/test/benchmark/query_odbc.rb +0 -106
  57. data/test/benchmark/query_tinytds.rb +0 -126
  58. data/test/bin/setup.sh +0 -19
  59. data/test/schema/sqlserver_2000.sql +0 -140
  60. data/test/schema/sqlserver_2005.sql +0 -140
  61. data/test/schema/sqlserver_2014.sql +0 -140
  62. data/test/schema/sqlserver_2016.sql +0 -140
  63. data/test/schema/sybase_ase.sql +0 -138
  64. /data/test/schema/{sqlserver_2008.sql → sqlserver_2017.sql} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2122d9b48df66ded292ff0e42ba758237376d686
4
- data.tar.gz: 2cd078c914b8287bb99db513810e1498707b40ad
2
+ SHA256:
3
+ metadata.gz: cfb4ec4fbcdaee13a7f5e8dbcf6640dfba4adfa44f785224400a088b9dce4238
4
+ data.tar.gz: 8030a777d32c4dcc5dc5916dd599cef31388ed5f7288a593871189ef46fbb4b9
5
5
  SHA512:
6
- metadata.gz: 5a70deed6ccd0fd09086c2a16cadb9fa8dc136f3cd6f951a3fbe7a0fc31f5282cc70c08bfe770f6f29970e39cdaa84519dceddc0c624449e9fe45e046d4075c9
7
- data.tar.gz: ef92d35e3e3f7a98818fcf42fc029a4480dfd449dc9da54aa48d180a26435f33d2528fabac0d9cd81d0aaec715ca5180ef470066b75a8e02f11dd0468a5e9f0c
6
+ metadata.gz: 327cd3c216f474994c6215714f5394d2e190b7db3d730224259532fe98c98076d801baf97503efa34e8c1cb495b880242989c0a085765f420d3b59fd1e4f2b6d
7
+ data.tar.gz: 3f75d35aed67db12f7505c503be4c76b6ccced517865dd0776612afe8af2c0c19e6ccd53f31ff4d29a55017a16ed27e4e4cdf16979e20e0dd5dec9772c15f937
@@ -0,0 +1,571 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ cross-compile:
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ platform:
14
+ - "x64-mingw32"
15
+ - "x64-mingw-ucrt"
16
+ - "x86_64-linux-gnu"
17
+ - "x86_64-linux-musl"
18
+ - "aarch64-linux-gnu"
19
+ - "aarch64-linux-musl"
20
+
21
+ name: cross-compile
22
+ runs-on: ubuntu-22.04
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - name: Set up Ruby
27
+ uses: ruby/setup-ruby@v1
28
+ with:
29
+ ruby-version: "2.7"
30
+
31
+ - name: "Install dependencies"
32
+ run: bundle install
33
+
34
+ - name: Write used versions into file
35
+ shell: bash
36
+ run: bundle exec rake ports:version_file[${{ matrix.platform }}]
37
+
38
+ - name: Cache ports
39
+ uses: actions/cache@v4
40
+ with:
41
+ path: ports
42
+ key: cross-compiled-v1-${{ matrix.platform }}-${{ hashFiles('**/.ports_versions') }}
43
+ restore-keys: |
44
+ cross-compiled-v1-${{ matrix.platform }}-${{ hashFiles('**/.ports_versions') }}
45
+ cross-compiled-v1-${{ matrix.platform }}-
46
+
47
+ - name: Build gem
48
+ shell: bash
49
+ run: bundle exec rake gem:native:${{ matrix.platform }}
50
+
51
+ - uses: actions/upload-artifact@v4
52
+ with:
53
+ name: gem-${{ matrix.platform }}
54
+ path: pkg/*.gem
55
+
56
+ install-windows-mingw:
57
+ needs:
58
+ - cross-compile
59
+ strategy:
60
+ fail-fast: false
61
+ matrix:
62
+ ruby-version:
63
+ - "2.7"
64
+ - "3.0"
65
+
66
+ name: install-windows-mingw
67
+ runs-on: windows-latest
68
+ steps:
69
+ - uses: ruby/setup-ruby@v1
70
+ with:
71
+ ruby-version: ${{ matrix.ruby-version }}
72
+ bundler-cache: true
73
+
74
+ - name: Download precompiled gem
75
+ uses: actions/download-artifact@v4
76
+ with:
77
+ name: gem-x64-mingw32
78
+
79
+ - name: Install native gem
80
+ shell: pwsh
81
+ run: gem install "tiny_tds-*.gem"
82
+
83
+ - name: Test if TinyTDS loads
84
+ shell: pwsh
85
+ run: |
86
+ ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path"
87
+ exit $LASTEXITCODE
88
+
89
+ - name: Test if tsql wrapper works
90
+ shell: pwsh
91
+ run: |
92
+ tsql-ttds -C
93
+ exit $LASTEXITCODE
94
+
95
+ - name: Test if defncopy wrapper works
96
+ shell: pwsh
97
+ run: |
98
+ defncopy-ttds -v
99
+ exit $LASTEXITCODE
100
+
101
+ test-windows-mingw:
102
+ needs:
103
+ - cross-compile
104
+ strategy:
105
+ fail-fast: false
106
+ matrix:
107
+ force-encryption:
108
+ - false
109
+ - true
110
+ mssql-version:
111
+ - 2017
112
+ - 2019
113
+ - 2022
114
+ ruby-version:
115
+ - "2.7"
116
+ - "3.0"
117
+
118
+ name: test-windows-mingw
119
+ runs-on: windows-latest
120
+ steps:
121
+ - uses: actions/checkout@v4
122
+
123
+ - uses: ruby/setup-ruby@v1
124
+ with:
125
+ ruby-version: ${{ matrix.ruby-version }}
126
+ bundler-cache: true
127
+
128
+ - name: Download precompiled gem
129
+ uses: actions/download-artifact@v4
130
+ with:
131
+ name: gem-x64-mingw32
132
+
133
+ - name: Install native gem and restore cross-compiled code from it
134
+ shell: pwsh
135
+ run: "& ./test/bin/restore-from-native-gem.ps1"
136
+ env:
137
+ RUBY_ARCHITECTURE: "x64-mingw32"
138
+
139
+ - name: Setup MSSQL
140
+ uses: rails-sqlserver/setup-mssql@v1
141
+ with:
142
+ components: sqlcmd,sqlengine
143
+ version: ${{ matrix.mssql-version }}
144
+ sa-password: c0MplicatedP@ssword
145
+ force-encryption: ${{ matrix.force-encryption }}
146
+
147
+ - name: Setup MSSQL database
148
+ shell: pwsh
149
+ run: |
150
+ & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-create.sql
151
+ & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-login.sql
152
+
153
+ - name: Install toxiproxy-server
154
+ shell: pwsh
155
+ run: |
156
+ choco install toxiproxy-server --version=2.5.0 -y
157
+ Start-Process toxiproxy-server
158
+
159
+ - name: Test gem
160
+ shell: pwsh
161
+ run: bundle exec rake test
162
+ env:
163
+ TOXIPROXY_HOST: "localhost"
164
+
165
+ - name: Test Summary
166
+ uses: test-summary/action@v2
167
+ with:
168
+ paths: "test/reports/TEST-*.xml"
169
+ if: always()
170
+
171
+ install-windows-ucrt:
172
+ needs:
173
+ - cross-compile
174
+ strategy:
175
+ fail-fast: false
176
+ matrix:
177
+ ruby-version:
178
+ - "3.1"
179
+ - "3.2"
180
+ - "3.3"
181
+ - "3.4"
182
+
183
+ name: install-windows-ucrt
184
+ runs-on: windows-latest
185
+ steps:
186
+ - uses: ruby/setup-ruby@v1
187
+ with:
188
+ ruby-version: ${{ matrix.ruby-version }}
189
+ bundler-cache: true
190
+
191
+ - name: Download precompiled gem
192
+ uses: actions/download-artifact@v4
193
+ with:
194
+ name: gem-x64-mingw-ucrt
195
+
196
+ - name: Install native gem
197
+ shell: pwsh
198
+ run: gem install "tiny_tds-*.gem"
199
+
200
+ - name: Test if TinyTDS loads
201
+ shell: pwsh
202
+ run: |
203
+ ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path"
204
+ exit $LASTEXITCODE
205
+
206
+ - name: Test if tsql wrapper works
207
+ shell: pwsh
208
+ run: |
209
+ tsql-ttds -C
210
+ exit $LASTEXITCODE
211
+
212
+ - name: Test if defncopy wrapper works
213
+ shell: pwsh
214
+ run: |
215
+ defncopy-ttds -v
216
+ exit $LASTEXITCODE
217
+
218
+ test-windows-ucrt:
219
+ needs:
220
+ - cross-compile
221
+ strategy:
222
+ fail-fast: false
223
+ matrix:
224
+ force-encryption:
225
+ - false
226
+ - true
227
+ mssql-version:
228
+ - 2017
229
+ - 2019
230
+ - 2022
231
+ ruby-version:
232
+ - "3.1"
233
+ - "3.2"
234
+ - "3.3"
235
+ - "3.4"
236
+
237
+ name: test-windows-ucrt
238
+ runs-on: windows-latest
239
+ steps:
240
+ - uses: actions/checkout@v4
241
+
242
+ - uses: ruby/setup-ruby@v1
243
+ with:
244
+ ruby-version: ${{ matrix.ruby-version }}
245
+ bundler-cache: true
246
+
247
+ - name: Download precompiled gem
248
+ uses: actions/download-artifact@v4
249
+ with:
250
+ name: gem-x64-mingw-ucrt
251
+
252
+ - name: Install native gem and restore cross-compiled code from it
253
+ shell: pwsh
254
+ run: "& ./test/bin/restore-from-native-gem.ps1"
255
+ env:
256
+ RUBY_ARCHITECTURE: "x64-mingw-ucrt"
257
+
258
+ - name: Setup MSSQL
259
+ uses: rails-sqlserver/setup-mssql@v1
260
+ with:
261
+ components: sqlcmd,sqlengine
262
+ version: ${{ matrix.mssql-version }}
263
+ sa-password: c0MplicatedP@ssword
264
+ force-encryption: ${{ matrix.force-encryption }}
265
+
266
+ - name: Setup MSSQL database
267
+ shell: pwsh
268
+ run: |
269
+ & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-create.sql
270
+ & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-login.sql
271
+
272
+ - name: Install toxiproxy-server
273
+ shell: pwsh
274
+ run: |
275
+ choco install toxiproxy-server --version=2.5.0 -y
276
+ Start-Process toxiproxy-server
277
+
278
+ - name: Test gem
279
+ shell: pwsh
280
+ run: bundle exec rake test
281
+ env:
282
+ TOXIPROXY_HOST: "localhost"
283
+
284
+ - name: Test Summary
285
+ uses: test-summary/action@v2
286
+ with:
287
+ paths: "test/reports/TEST-*.xml"
288
+ if: always()
289
+
290
+ install-windows-native:
291
+ strategy:
292
+ fail-fast: false
293
+ matrix:
294
+ ruby-version:
295
+ - "2.7"
296
+ - "3.0"
297
+ - "3.1"
298
+ - "3.2"
299
+ - "3.3"
300
+ - "3.4"
301
+
302
+ name: install-windows-native
303
+ runs-on: windows-latest
304
+ steps:
305
+ - uses: actions/checkout@v4
306
+
307
+ - uses: ruby/setup-ruby@v1
308
+ with:
309
+ ruby-version: ${{ matrix.ruby-version }}
310
+ bundler-cache: true
311
+
312
+ - name: Build gem
313
+ shell: pwsh
314
+ run: gem build tiny_tds.gemspec
315
+
316
+ - name: Install gem
317
+ shell: pwsh
318
+ run: |
319
+ $gemVersion = (Get-Content VERSION).Trim()
320
+ gem install "tiny_tds-$gemVersion.gem"
321
+
322
+ - name: Test if TinyTDS loads
323
+ shell: pwsh
324
+ run: |
325
+ ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path"
326
+ exit $LASTEXITCODE
327
+
328
+ - name: Test if tsql wrapper works
329
+ shell: pwsh
330
+ run: |
331
+ tsql-ttds -C
332
+ exit $LASTEXITCODE
333
+
334
+ - name: Test if defncopy wrapper works
335
+ shell: pwsh
336
+ run: |
337
+ defncopy-ttds -v
338
+ exit $LASTEXITCODE
339
+
340
+ install-linux:
341
+ needs:
342
+ - cross-compile
343
+ strategy:
344
+ fail-fast: false
345
+ matrix:
346
+ platform:
347
+ - "x86_64-linux-gnu"
348
+ - "x86_64-linux-musl"
349
+ - "aarch64-linux-gnu"
350
+ - "aarch64-linux-musl"
351
+
352
+ ruby-version:
353
+ - "2.7"
354
+ - "3.0"
355
+ - "3.1"
356
+ - "3.2"
357
+ - "3.3"
358
+ - "3.4"
359
+
360
+ include:
361
+ - platform: x86_64-linux-musl
362
+ docker_tag: "-alpine"
363
+ bootstrap: "apk add -U build-base &&" # required to compile bigdecimal on Ruby 2.7
364
+
365
+ - platform: aarch64-linux-gnu
366
+ docker_platform: "--platform=linux/arm64"
367
+
368
+ - platform: aarch64-linux-musl
369
+ docker_platform: "--platform=linux/arm64"
370
+ docker_tag: "-alpine"
371
+ bootstrap: "apk add -U build-base &&"
372
+
373
+ name: install-linux
374
+ runs-on: ubuntu-22.04
375
+ steps:
376
+ - name: Download precompiled gem
377
+ uses: actions/download-artifact@v4
378
+ with:
379
+ name: gem-${{ matrix.platform }}
380
+ path: precompiled/gems
381
+
382
+ - name: Setup QEMU for docker
383
+ uses: docker/setup-qemu-action@v3
384
+ if: ${{ matrix.docker_platform }} != ''
385
+
386
+ - run: |
387
+ docker run --rm -v $PWD/precompiled:/precompiled -w /precompiled \
388
+ ${{ matrix.docker_platform }} ruby:${{ matrix.ruby-version }}${{ matrix.docker_tag }} \
389
+ sh -c "
390
+ gem update --system 3.3.22 &&
391
+ ${{ matrix.bootstrap }}
392
+ gem install --no-document ./gems/tiny_tds-*.gem &&
393
+ ruby -e \"require 'tiny_tds'; puts TinyTds::Gem.root_path\" &&
394
+ tsql-ttds -C &&
395
+ defncopy-ttds -v
396
+ "
397
+
398
+ test-linux:
399
+ needs:
400
+ - cross-compile
401
+ name: test-linux
402
+ strategy:
403
+ fail-fast: false
404
+ matrix:
405
+ force-encryption:
406
+ - false
407
+ - true
408
+
409
+ mssql-version:
410
+ - 2019
411
+ - 2022
412
+
413
+ ruby-version:
414
+ - "2.7"
415
+ - "3.0"
416
+ - "3.1"
417
+ - "3.2"
418
+ - "3.3"
419
+ - "3.4"
420
+
421
+ runs-on: ubuntu-22.04
422
+ steps:
423
+ - uses: actions/checkout@v4
424
+
425
+ - uses: ruby/setup-ruby@v1
426
+ with:
427
+ ruby-version: ${{ matrix.ruby-version }}
428
+ bundler-cache: true
429
+
430
+ - name: Download precompiled gem
431
+ uses: actions/download-artifact@v4
432
+ with:
433
+ name: gem-x86_64-linux-gnu
434
+
435
+ - name: Install native gem and restore cross-compiled code from it
436
+ shell: pwsh
437
+ run: "& ./test/bin/restore-from-native-gem.ps1"
438
+ env:
439
+ RUBY_ARCHITECTURE: "x86_64-linux-gnu"
440
+
441
+ - name: Setup MSSQL
442
+ uses: rails-sqlserver/setup-mssql@v1
443
+ with:
444
+ components: sqlcmd,sqlengine
445
+ version: ${{ matrix.mssql-version }}
446
+ sa-password: "c0MplicatedP@ssword"
447
+ force-encryption: ${{ matrix.force-encryption }}
448
+
449
+ - name: Setup MSSQL database
450
+ run: |
451
+ sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-create.sql
452
+ sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-login.sql
453
+
454
+ - name: Install toxiproxy-server
455
+ run: |
456
+ wget -O toxiproxy-2.5.0.deb https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy_2.5.0_linux_amd64.deb
457
+ sudo dpkg -i toxiproxy-2.5.0.deb
458
+ sudo toxiproxy-server &
459
+
460
+ - name: Run tests
461
+ run: bundle exec rake test
462
+ env:
463
+ TOXIPROXY_HOST: "localhost"
464
+
465
+ - name: Test Summary
466
+ uses: test-summary/action@v2
467
+ with:
468
+ paths: "test/reports/TEST-*.xml"
469
+ if: always()
470
+
471
+ install-linux-native:
472
+ strategy:
473
+ fail-fast: false
474
+ matrix:
475
+ ruby-version:
476
+ - "2.7"
477
+ - "3.0"
478
+ - "3.1"
479
+ - "3.2"
480
+ - "3.3"
481
+ - "3.4"
482
+
483
+ name: install-linux-native
484
+ runs-on: ubuntu-22.04
485
+ steps:
486
+ - uses: actions/checkout@v4
487
+
488
+ - uses: ruby/setup-ruby@v1
489
+ with:
490
+ ruby-version: ${{ matrix.ruby-version }}
491
+ bundler-cache: true
492
+
493
+ - name: Install FreeTDS
494
+ shell: bash
495
+ run: ./test/bin/install-freetds.sh
496
+
497
+ - name: Build gem
498
+ shell: bash
499
+ run: gem build tiny_tds.gemspec
500
+
501
+ - name: Install gem
502
+ shell: bash
503
+ run: gem install "tiny_tds-$(cat VERSION).gem"
504
+
505
+ - name: Test if TinyTDS loads
506
+ shell: bash
507
+ run: ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path"
508
+
509
+ - name: Test if tsql wrapper works
510
+ shell: bash
511
+ run: tsql-ttds -C
512
+
513
+ - name: Test if defncopy wrapper works
514
+ shell: bash
515
+ run: defncopy-ttds -v
516
+
517
+ install_macos:
518
+ strategy:
519
+ fail-fast: false
520
+ matrix:
521
+ ruby-version:
522
+ - "2.7"
523
+ - "3.0"
524
+ - "3.1"
525
+ - "3.2"
526
+ - "3.3"
527
+ - "3.4"
528
+
529
+ name: install-macos-m1
530
+ runs-on: macos-14
531
+ steps:
532
+ - uses: actions/checkout@v4
533
+
534
+ - name: Install FreeTDS
535
+ run: brew install freetds
536
+ shell: bash
537
+
538
+ - uses: ruby/setup-ruby@v1
539
+ with:
540
+ ruby-version: ${{ matrix.ruby-version }}
541
+ bundler-cache: true
542
+
543
+ - name: Build gem
544
+ shell: bash
545
+ run: gem build tiny_tds.gemspec
546
+
547
+ - name: Install gem and test if TinyTDS loads
548
+ shell: bash
549
+ run: |
550
+ gemVersion=$(<VERSION tr -d '[:space:]')
551
+ gem install "tiny_tds-$gemVersion.gem"
552
+
553
+ - name: Test if TinyTDS loads
554
+ shell: bash
555
+ run: |
556
+ ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path"
557
+
558
+ standardrb:
559
+ name: standardrb
560
+ runs-on: ubuntu-22.04
561
+ steps:
562
+ - uses: actions/checkout@v4
563
+
564
+ - uses: ruby/setup-ruby@v1
565
+ with:
566
+ ruby-version: "2.7"
567
+ bundler-cache: true
568
+
569
+ - name: Check standardrb
570
+ shell: bash
571
+ run: bundle exec standardrb
data/.gitignore CHANGED
@@ -18,3 +18,5 @@ misc
18
18
  /exe/*
19
19
  /ports/*
20
20
  !/ports/patches/
21
+ test/reports
22
+ .ports_versions
data/CHANGELOG.md CHANGED
@@ -1,3 +1,57 @@
1
+ ## 3.2.1
2
+
3
+ * Ensure the native Gem loads on Windows. Fixes #581.
4
+ * Use OpenSSL v3.4.1 for Windows and Linux builds.
5
+
6
+ ## 3.2.0
7
+
8
+ * Reduce number of files shipped with precompiled Windows gem
9
+ * Provide precompiled gem for Linux (GNU + MUSL / 64-bit x86 + ARM)
10
+ * Fix wrappers for `tsql` and `defncopy` utility.
11
+ * Use libiconv v1.18 and freetds v1.4.26 for Windows and Linux builds
12
+
13
+ ## 3.1.0
14
+
15
+ * Add Ruby 3.4 to the cross compile list
16
+
17
+ ## 3.0.0
18
+
19
+ * Drop support for Ruby < 2.7
20
+ * Drop support for SQL Server < 2017
21
+ * Drop support for FreeTDS < 1.0
22
+ * No longer provide a 32-bit Windows build
23
+ * Raise error if FreeTDS is unable to send command buffer to the server
24
+ * Use freetds v1.4.23, libiconv v1.17 and OpenSSL v3.4.0 for Windows builds
25
+ * Add `bigdecimal` to dependencies
26
+
27
+ ## 2.1.7
28
+
29
+ * Add Ruby 3.3 to the cross compile list
30
+
31
+ ## 2.1.6
32
+
33
+ * Add Ruby 3.0, 3.1, and 3.2 to the cross compile list
34
+ * Fix segfault when asking if client was dead after closing it. Fixes #519.
35
+ * Mark `alloc` function as undefined on `TinyTds::Result`. Fixes #515.
36
+ * Fix Gem installation on Windows by adding default freetds msys path. Fixes #522
37
+ * Search for `freetds` in `/opt/homebrew` when installing on Apple Silicon. Fixes #484, #492 and #508.
38
+
39
+ ## 2.1.5
40
+
41
+ * Fix compilation errors for Amazon Linux 1. Fixes #495.
42
+ * Fix segfault for login timeouts
43
+
44
+ ## 2.1.4
45
+
46
+ * Improve handling of network related timeouts
47
+ * Fix error reporting when preceded by info message
48
+
49
+ ## 2.1.3
50
+
51
+ * Removed old/unused appveyor config
52
+ * Remove old Rubies from CI & cross compile list
53
+ * Add Ruby 2.6 and 2.7 to the cross compile list
54
+
1
55
  ## 2.1.2
2
56
 
3
57
  * Use Kernel.BigDecimal vs BigDecimal.new. Fixes #409.
@@ -207,6 +261,8 @@ Use both dbsetversion() vs. dbsetlversion. Partially reverts #62.
207
261
  state of the client and the need to use Result#cancel to stop processing active results. It is also
208
262
  safe to call Result#cancel over and over again.
209
263
  * Look for the syb headers only.
264
+ * Fix minitest global matchers warnings.
265
+ * Fix test warnings.
210
266
 
211
267
 
212
268
  ## 0.3.2
@@ -252,4 +308,3 @@ Use both dbsetversion() vs. dbsetlversion. Partially reverts #62.
252
308
 
253
309
 
254
310
  ## 0.1.0 Initial release!
255
-
data/Gemfile CHANGED
@@ -1,9 +1,2 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
  gemspec
3
-
4
- group :development do
5
- end
6
-
7
- group :test do
8
- gem 'minitest'
9
- end
data/ISSUE_TEMPLATE.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  * On Windows? If so, do you need devkit for your ruby install?
4
4
  * Using Ubuntu? If so, you may have forgotten to install FreeTDS first.
5
- * Are you using FreeTDS 0.95.80 or later? Check `$ tsql -C` to find out.
5
+ * Are you using FreeTDS 1.0.0 or later? Check `$ tsql -C` to find out.
6
6
  * If not, please update then uninstall the TinyTDS gem and re-install it.
7
7
  * Have you made sure to [enable SQL Server authentication](http://bit.ly/1Kw3set)?
8
8
  * Doing work with threads and the raw client? Use the ConnectionPool gem?