Skip to content

Commit fb20aa5

Browse files
authored
Remove special handling for older TDS connections (#1275)
`tiny_tds` v3 will raise an exception when using a TDS version older than v7.3 for the server connections. This is mostly to enforce that people do no longer use `tiny_tds` with ancient SQL servers (and report issues). But therefore, we can remove a couple of special cases in the `sqlserver-adapter` tests where they behaved differently if ran against older versions.
1 parent 2c9aad1 commit fb20aa5

File tree

3 files changed

+7
-21
lines changed

3 files changed

+7
-21
lines changed

test/cases/column_test_sqlserver.rb

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def assert_obj_set_and_save(attribute, value)
277277
_(col.sql_type).must_equal "date"
278278
_(col.type).must_equal :date
279279
_(col.null).must_equal true
280-
_(col.default).must_equal connection_tds_73 ? Date.civil(1, 1, 1) : "0001-01-01"
280+
_(col.default).must_equal Date.civil(1, 1, 1)
281281
_(obj.date).must_equal Date.civil(1, 1, 1)
282282
_(col.default_function).must_be_nil
283283
type = connection.lookup_cast_type_from_column(col)
@@ -357,7 +357,6 @@ def assert_obj_set_and_save(attribute, value)
357357
end
358358

359359
it "datetime2" do
360-
skip "datetime2 not supported in this protocol version" unless connection_tds_73
361360
col = column("datetime2_7")
362361
_(col.sql_type).must_equal "datetime2(7)"
363362
_(col.type).must_equal :datetime
@@ -422,7 +421,6 @@ def assert_obj_set_and_save(attribute, value)
422421
end
423422

424423
it "datetimeoffset" do
425-
skip "datetimeoffset not supported in this protocol version" unless connection_tds_73
426424
col = column("datetimeoffset_7")
427425
_(col.sql_type).must_equal "datetimeoffset(7)"
428426
_(col.type).must_equal :datetimeoffset
@@ -491,7 +489,6 @@ def assert_obj_set_and_save(attribute, value)
491489
end
492490

493491
it "time(7)" do
494-
skip "time() not supported in this protocol version" unless connection_tds_73
495492
col = column("time_7")
496493
_(col.sql_type).must_equal "time(7)"
497494
_(col.type).must_equal :time
@@ -523,7 +520,6 @@ def assert_obj_set_and_save(attribute, value)
523520
end
524521

525522
it "time(2)" do
526-
skip "time() not supported in this protocol version" unless connection_tds_73
527523
col = column("time_2")
528524
_(col.sql_type).must_equal "time(2)"
529525
_(col.type).must_equal :time
@@ -553,7 +549,6 @@ def assert_obj_set_and_save(attribute, value)
553549
end
554550

555551
it "time using default precision" do
556-
skip "time() not supported in this protocol version" unless connection_tds_73
557552
col = column("time_default")
558553
_(col.sql_type).must_equal "time(7)"
559554
_(col.type).must_equal :time

test/cases/schema_dumper_test_sqlserver.rb

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,13 @@ class SchemaDumperTestSQLServer < ActiveRecord::TestCase
2828
# Date and Time
2929
assert_line :date, type: "date", default: "01-01-0001"
3030
assert_line :datetime, type: "datetime", precision: nil, default: "01-01-1753 00:00:00.123"
31-
if connection_tds_73
32-
assert_line :datetime2_7, type: "datetime", precision: 7, default: "12-31-9999 23:59:59.9999999"
33-
assert_line :datetime2_3, type: "datetime", precision: 3
34-
assert_line :datetime2_1, type: "datetime", precision: 1
35-
end
31+
assert_line :datetime2_7, type: "datetime", precision: 7, default: "12-31-9999 23:59:59.9999999"
32+
assert_line :datetime2_3, type: "datetime", precision: 3
33+
assert_line :datetime2_1, type: "datetime", precision: 1
3634
assert_line :smalldatetime, type: "smalldatetime", default: "01-01-1901 15:45:00.0"
37-
if connection_tds_73
38-
assert_line :time_7, type: "time", precision: 7, default: "04:20:00.2883215"
39-
assert_line :time_2, type: "time", precision: 2
40-
assert_line :time_default, type: "time", precision: 7, default: "15:03:42.0621978"
41-
end
35+
assert_line :time_7, type: "time", precision: 7, default: "04:20:00.2883215"
36+
assert_line :time_2, type: "time", precision: 2
37+
assert_line :time_default, type: "time", precision: 7, default: "15:03:42.0621978"
4238
# Character Strings
4339
assert_line :char_10, type: "char", limit: 10, default: "1234567890"
4440
assert_line :varchar_50, type: "varchar", limit: 50, default: "test varchar_50"

test/support/connection_reflection.rb

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@ def connection_options
1515
connection.instance_variable_get :@connection_parameters
1616
end
1717

18-
def connection_tds_73
19-
rc = connection.raw_connection
20-
rc.respond_to?(:tds_73?) && rc.tds_73?
21-
end
22-
2318
def connection_sqlserver_azure?
2419
connection.sqlserver_azure?
2520
end

0 commit comments

Comments
 (0)