activerecord-sqlserver-adapter 4.2.9 → 4.2.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|