activerecord-sqlserver-adapter 4.2.9 → 4.2.10
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/CHANGELOG.md +7 -0
- data/VERSION +1 -1
- data/lib/active_record/connection_adapters/sqlserver/type/time_value_fractional.rb +1 -1
- data/test/cases/column_test_sqlserver.rb +5 -0
- data/test/cases/execute_procedure_test_sqlserver.rb +1 -1
- data/test/cases/specific_schema_test_sqlserver.rb +9 -0
- data/test/models/sqlserver/booking.rb +3 -0
- data/test/schema/sqlserver_specific_schema.rb +6 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3f5cb06eb492b1fce0526281946dea07336bec9
|
4
|
+
data.tar.gz: 1b4d4a21a4a4ed6858572daac58016d8d5672d35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae62612e1fe093da674fa74d67ee2e85a516795871fb6fa5fc281fadd2c09a5a0378a7a202caf592d6ab4babaa08545e218fe18a46a9e195805e8cf69195746b
|
7
|
+
data.tar.gz: 398a1381b3f0157bec451e29c45c57f4ade59291e10f3c17e95591bcf9471f743a2e96852c7509f946cd7237edf4b5ffcbfdd68b044165cf57d55f63daf602b9
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.2.
|
1
|
+
4.2.10
|
@@ -17,7 +17,7 @@ module ActiveRecord
|
|
17
17
|
|
18
18
|
def quote_fractional(value)
|
19
19
|
seconds = (value.send(fractional_property).to_f / fractional_operator.to_f).round(fractional_scale)
|
20
|
-
seconds.to_s.split('.').last.to(fractional_scale-1)
|
20
|
+
seconds.to_d.to_s.split('.').last.to(fractional_scale-1)
|
21
21
|
end
|
22
22
|
|
23
23
|
def fractional_property
|
@@ -354,6 +354,11 @@ class ColumnTestSQLServer < ActiveRecord::TestCase
|
|
354
354
|
obj.datetime2_7.must_equal Time.utc(9999, 12, 31, 23, 59, 59, Rational(123456800, 1000)), "Nanoseconds were <#{obj.datetime2_7.nsec}> vs <123456800>"
|
355
355
|
obj.save!
|
356
356
|
obj.reload.datetime2_7.must_equal Time.utc(9999, 12, 31, 23, 59, 59, Rational(123456800, 1000)), "Nanoseconds were <#{obj.datetime2_7.nsec}> vs <123456800>"
|
357
|
+
# Can save small fraction nanosecond precisoins and return again.
|
358
|
+
obj.datetime2_7 = Time.utc(2008, 6, 21, 13, 30, 0, Rational(15020, 1000))
|
359
|
+
obj.datetime2_7.must_equal Time.utc(2008, 6, 21, 13, 30, 0, Rational(15000, 1000)), "Nanoseconds were <#{obj.datetime2_7.nsec}> vs <15000>"
|
360
|
+
obj.save!
|
361
|
+
obj.reload.datetime2_7.must_equal Time.utc(2008, 6, 21, 13, 30, 0, Rational(15000, 1000)), "Nanoseconds were <#{obj.datetime2_7.nsec}> vs <15000>"
|
357
362
|
# With other precisions.
|
358
363
|
time = Time.utc 9999, 12, 31, 23, 59, 59, Rational(123456789, 1000)
|
359
364
|
col = column('datetime2_3')
|
@@ -38,7 +38,7 @@ class ExecuteProcedureTestSQLServer < ActiveRecord::TestCase
|
|
38
38
|
it 'uses the proper timezone' do
|
39
39
|
date_proc = connection.execute_procedure('my_getutcdate').first['utcdate']
|
40
40
|
date_base = connection.select_value('select GETUTCDATE()')
|
41
|
-
assert_equal date_base, date_proc
|
41
|
+
assert_equal date_base.change(usec: 0), date_proc.change(usec: 0)
|
42
42
|
end
|
43
43
|
|
44
44
|
end
|
@@ -68,6 +68,15 @@ class SpecificSchemaTestSQLServer < ActiveRecord::TestCase
|
|
68
68
|
obj.reload.date.must_be_instance_of Date
|
69
69
|
end
|
70
70
|
|
71
|
+
it 'allows datetime2 as timestamps' do
|
72
|
+
SSTestBooking.columns_hash['created_at'].sql_type.must_equal 'datetime2(7)'
|
73
|
+
SSTestBooking.columns_hash['updated_at'].sql_type.must_equal 'datetime2(7)'
|
74
|
+
obj1 = SSTestBooking.new name: 'test1'
|
75
|
+
obj1.save!
|
76
|
+
obj1.created_at.must_be_instance_of Time
|
77
|
+
obj1.updated_at.must_be_instance_of Time
|
78
|
+
end
|
79
|
+
|
71
80
|
# Natural primary keys.
|
72
81
|
|
73
82
|
it 'work with identity inserts' do
|
@@ -37,6 +37,12 @@ ActiveRecord::Schema.define do
|
|
37
37
|
|
38
38
|
# Edge Cases
|
39
39
|
|
40
|
+
create_table 'sst_bookings', force: true do |t|
|
41
|
+
t.string :name
|
42
|
+
t.datetime2 :created_at, null: false
|
43
|
+
t.datetime2 :updated_at, null: false
|
44
|
+
end
|
45
|
+
|
40
46
|
create_table 'sst_uuids', force: true, id: :uuid do |t|
|
41
47
|
t.string :name
|
42
48
|
t.uuid :other_uuid, default: 'NEWID()'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-sqlserver-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.
|
4
|
+
version: 4.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ken Collins
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2016-03-
|
17
|
+
date: 2016-03-20 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: activerecord
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- test/debug.rb
|
137
137
|
- test/fixtures/1px.gif
|
138
138
|
- test/migrations/transaction_table/1_table_will_never_be_created.rb
|
139
|
+
- test/models/sqlserver/booking.rb
|
139
140
|
- test/models/sqlserver/customers_view.rb
|
140
141
|
- test/models/sqlserver/datatype.rb
|
141
142
|
- test/models/sqlserver/datatype_migration.rb
|
@@ -218,6 +219,7 @@ test_files:
|
|
218
219
|
- test/debug.rb
|
219
220
|
- test/fixtures/1px.gif
|
220
221
|
- test/migrations/transaction_table/1_table_will_never_be_created.rb
|
222
|
+
- test/models/sqlserver/booking.rb
|
221
223
|
- test/models/sqlserver/customers_view.rb
|
222
224
|
- test/models/sqlserver/datatype.rb
|
223
225
|
- test/models/sqlserver/datatype_migration.rb
|