active_merge 1.1.0 → 1.2.0
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.rdoc +22 -0
- data/lib/active_merge/service.rb +1 -1
- data/lib/active_merge/simple_service.rb +38 -45
- data/lib/active_merge/version.rb +1 -1
- data/spec/active_merge/service_spec.rb +12 -12
- data/spec/active_merge/simple_service_spec.rb +17 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +236 -0
- data/spec/dummy/log/test.log +22830 -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: 8bde8bd1023ad75735b0b43d1590a3c5c850f1de
|
4
|
+
data.tar.gz: 59c0323922f36d6a90a261c47ecedf28fc054a5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ee977c4db6b5322463aa3b2d5c044c117d89c17a348f690f2e0ddeac8901ebb1eff7427b553f0ed9ac350f0e06a9f410d5f9a1a5407e7f7a81b7a51c8daca65
|
7
|
+
data.tar.gz: a6876cd10e845f2abb6e34696652b45f69740b517dcf3259c8184c3e373e3ccbdca6ef3e69f1a97d54c2ec47273b002fbd1ffdc3dc88e5a8a1d7379e39b7ad23
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,27 @@
|
|
1
1
|
= Список изменений в версиях
|
2
2
|
|
3
|
+
== v.1.2.0
|
4
|
+
|
5
|
+
* Rebinding algorithm was changed. Now the links saved AFTER the second record
|
6
|
+
destroyed.
|
7
|
+
|
8
|
+
=== Why (example)
|
9
|
+
|
10
|
+
Suppose we have named items and their synonyms:
|
11
|
+
* a synonym can be identical to the item (item "John" can have both "JONH" and
|
12
|
+
"John" in synonyms).
|
13
|
+
* a synonym cannot be equal to another item's name (if the "John" item
|
14
|
+
exists, the "John" cannot be added as a synonym to the "john" item).
|
15
|
+
|
16
|
+
Right algorithm of rebinding is:
|
17
|
+
* at first, the "John" synonym linked to the "john" item without saving to db;
|
18
|
+
* then the "John" item is deleted;
|
19
|
+
* at last, the "John" synonym (linked to "john" item) is saved to db.
|
20
|
+
|
21
|
+
== v.1.1.0
|
22
|
+
|
23
|
+
* Skipping validation added
|
24
|
+
|
3
25
|
== v.1.0.4
|
4
26
|
|
5
27
|
* The gem is allowed to use with rails 4.1
|
data/lib/active_merge/service.rb
CHANGED
@@ -77,7 +77,7 @@ module ActiveMerge
|
|
77
77
|
#
|
78
78
|
# You can use the <tt>validate: false</tt> option.
|
79
79
|
#
|
80
|
-
# With this option set any activerecord validation and callback
|
80
|
+
# With this option set any activerecord validation and callback skipped.
|
81
81
|
#
|
82
82
|
# Service.new(Kingdom.all).provide validate: false
|
83
83
|
#
|
@@ -14,65 +14,58 @@ module ActiveMerge
|
|
14
14
|
include ActiveModel::Validations
|
15
15
|
|
16
16
|
def initialize(first, second)
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
if @first && (second.class == @first.class) && second.persisted?
|
23
|
-
@second = second
|
24
|
-
end
|
17
|
+
@klass = first.class
|
18
|
+
return unless klass.ancestors.include?(ActiveRecord::Base) &&
|
19
|
+
second.is_a?(klass) && first.persisted? && second.persisted?
|
20
|
+
@first, @second = first, second
|
21
|
+
@links = find_links
|
25
22
|
end
|
26
|
-
attr_reader :first, :second
|
23
|
+
attr_reader :klass, :first, :second, :links
|
27
24
|
|
28
|
-
validates :second, presence: true
|
25
|
+
validates :first, :second, presence: true
|
29
26
|
|
30
|
-
def provide(
|
27
|
+
def provide(validate: true)
|
31
28
|
transaction do
|
32
|
-
|
33
|
-
|
29
|
+
remove_second! validate
|
30
|
+
save_links! validate
|
34
31
|
end
|
35
32
|
end
|
36
33
|
|
37
34
|
private
|
38
35
|
|
39
|
-
#
|
40
|
-
#
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
# Returns a hash whose keys are "has_many" associations' names
|
50
|
-
# and their values are corresponding foreign keys
|
51
|
-
def refs
|
52
|
-
@item.class.reflect_on_all_associations(:has_many).
|
53
|
-
inject({}){ |hash, item| hash.merge(item.name => item.foreign_key) }
|
54
|
-
end
|
55
|
-
|
56
|
-
def hash
|
57
|
-
@hash = {}
|
58
|
-
refs.each do |name, foreign_key|
|
59
|
-
@item.send(name).each{ |item| @hash[item] = "#{ foreign_key }=" }
|
60
|
-
end
|
61
|
-
@hash
|
36
|
+
# Finds links to the second record and rebinds it to the first one.
|
37
|
+
# Doesn't validate and save links yet!
|
38
|
+
def find_links
|
39
|
+
return [] unless first && second
|
40
|
+
klass.reflect_on_all_associations(:has_many).inject([]) do |arr, item|
|
41
|
+
arr + second.send(item.name).map do |link|
|
42
|
+
link.send "#{ item.foreign_key }=", first.id
|
43
|
+
link
|
62
44
|
end
|
63
45
|
end
|
64
46
|
end
|
65
47
|
|
66
|
-
#
|
67
|
-
|
68
|
-
|
69
|
-
|
48
|
+
# Removes the second record.
|
49
|
+
# Any errors are moved to the service.
|
50
|
+
def remove_second!(validate)
|
51
|
+
begin
|
52
|
+
validate ? second.destroy! : second.delete
|
53
|
+
rescue => error
|
54
|
+
second.errors.each{ |_, message| errors.add :second, message }
|
55
|
+
raise error
|
56
|
+
end
|
57
|
+
end
|
70
58
|
|
71
|
-
#
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
59
|
+
# Saves changed links.
|
60
|
+
# Any errors are moved to the service.
|
61
|
+
def save_links!(validate)
|
62
|
+
links.each do |link|
|
63
|
+
begin
|
64
|
+
validate ? link.save! : link.save(validate: false)
|
65
|
+
rescue => error
|
66
|
+
link.errors.each{ |_, message| errors.add :base, message }
|
67
|
+
raise error
|
68
|
+
end
|
76
69
|
end
|
77
70
|
end
|
78
71
|
end
|
data/lib/active_merge/version.rb
CHANGED
@@ -147,9 +147,9 @@ module ActiveMerge
|
|
147
147
|
let!(:men) { lords.map{ |lord| lord.men.create! }}
|
148
148
|
let!(:service) { Service.new lords }
|
149
149
|
|
150
|
-
context "
|
150
|
+
context "(validate: true)" do
|
151
151
|
|
152
|
-
context "
|
152
|
+
context "if no exceptions raised:" do
|
153
153
|
|
154
154
|
it "merges the objects" do
|
155
155
|
service.provide
|
@@ -159,7 +159,7 @@ module ActiveMerge
|
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
162
|
-
context "
|
162
|
+
context "if service validation fails" do
|
163
163
|
|
164
164
|
before { service.stub(:valid?).and_return false }
|
165
165
|
|
@@ -174,7 +174,7 @@ module ActiveMerge
|
|
174
174
|
end
|
175
175
|
end
|
176
176
|
|
177
|
-
context "
|
177
|
+
context "if a link validation fails" do
|
178
178
|
|
179
179
|
before do
|
180
180
|
Man.any_instance.stub(:valid?).and_return false
|
@@ -197,7 +197,7 @@ module ActiveMerge
|
|
197
197
|
end
|
198
198
|
end
|
199
199
|
|
200
|
-
context "
|
200
|
+
context "if a destroy fails" do
|
201
201
|
|
202
202
|
before do
|
203
203
|
Lord.before_destroy(){ false }
|
@@ -222,9 +222,9 @@ module ActiveMerge
|
|
222
222
|
end
|
223
223
|
end
|
224
224
|
|
225
|
-
context "
|
225
|
+
context "(validate: false)" do
|
226
226
|
|
227
|
-
context "
|
227
|
+
context "if no exceptions raised" do
|
228
228
|
|
229
229
|
it "merges the objects" do
|
230
230
|
service.provide validate: false
|
@@ -234,7 +234,7 @@ module ActiveMerge
|
|
234
234
|
end
|
235
235
|
end
|
236
236
|
|
237
|
-
context "
|
237
|
+
context "if a link validation fails" do
|
238
238
|
|
239
239
|
before do
|
240
240
|
Man.any_instance.stub(:valid?).and_return false
|
@@ -249,7 +249,7 @@ module ActiveMerge
|
|
249
249
|
end
|
250
250
|
end
|
251
251
|
|
252
|
-
context "
|
252
|
+
context "if destroy validation fails" do
|
253
253
|
|
254
254
|
before do
|
255
255
|
Lord.before_destroy(){ false }
|
@@ -265,7 +265,7 @@ module ActiveMerge
|
|
265
265
|
end
|
266
266
|
end
|
267
267
|
|
268
|
-
context "
|
268
|
+
context "if service validation fails" do
|
269
269
|
|
270
270
|
before { service.stub(:valid?).and_return false }
|
271
271
|
|
@@ -280,10 +280,10 @@ module ActiveMerge
|
|
280
280
|
end
|
281
281
|
end
|
282
282
|
|
283
|
-
context "
|
283
|
+
context "if a db request fails" do
|
284
284
|
|
285
285
|
before do
|
286
|
-
Man.any_instance.stub(:save
|
286
|
+
Man.any_instance.stub(:save){ fail }
|
287
287
|
Man.any_instance.stub(:errors).and_return({ base: "record_invalid" })
|
288
288
|
end
|
289
289
|
|
@@ -48,6 +48,23 @@ module ActiveMerge
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
describe "#links" do
|
52
|
+
|
53
|
+
let!(:lords) { 2.times.map{ Lord.create }}
|
54
|
+
let!(:domain) { lords.last.domains.create! }
|
55
|
+
let!(:man) { lords.last.men.create! }
|
56
|
+
let!(:service){ SimpleService.new lords.first, lords.last }
|
57
|
+
|
58
|
+
it "contains links rebinded from the second record to the first one" do
|
59
|
+
links = service.links
|
60
|
+
links.should include(domain)
|
61
|
+
links.should include(man)
|
62
|
+
service.links.each do |link|
|
63
|
+
link.lord_id.should eq lords.first.id
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
51
68
|
describe "#valid?" do
|
52
69
|
|
53
70
|
it "возвращает true если #second инициализирован" do
|
File without changes
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|
@@ -36,3 +36,239 @@ Migrating to CreateDomains (20140416183059)
|
|
36
36
|
FROM sqlite_temp_master
|
37
37
|
WHERE name='index_men_on_lord_id' AND type='index'
|
38
38
|
[0m
|
39
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
40
|
+
[1m[35m (0.0ms)[0m commit transaction
|
41
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
42
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
43
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
44
|
+
[1m[35m (0.0ms)[0m commit transaction
|
45
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
46
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
47
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
48
|
+
[1m[35m (0.0ms)[0m commit transaction
|
49
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
50
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
51
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
52
|
+
[1m[35m (0.0ms)[0m commit transaction
|
53
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
54
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
55
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
56
|
+
[1m[35m (0.0ms)[0m commit transaction
|
57
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
58
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
59
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
60
|
+
[1m[35m (0.0ms)[0m commit transaction
|
61
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
62
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
63
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
64
|
+
[1m[35m (0.0ms)[0m commit transaction
|
65
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
66
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
67
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
68
|
+
[1m[35m (0.0ms)[0m commit transaction
|
69
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
70
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
71
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
72
|
+
[1m[35m (0.0ms)[0m commit transaction
|
73
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
74
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
75
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
76
|
+
[1m[35m (0.0ms)[0m commit transaction
|
77
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
78
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
79
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
80
|
+
[1m[35m (0.1ms)[0m commit transaction
|
81
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
82
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
83
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
84
|
+
[1m[35m (0.0ms)[0m commit transaction
|
85
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
86
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
87
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
88
|
+
[1m[35m (0.0ms)[0m commit transaction
|
89
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
90
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
91
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
92
|
+
[1m[35m (0.0ms)[0m commit transaction
|
93
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
94
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
95
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
96
|
+
[1m[35m (0.0ms)[0m commit transaction
|
97
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
98
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
99
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
100
|
+
[1m[35m (0.0ms)[0m commit transaction
|
101
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
102
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
103
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
104
|
+
[1m[35m (0.0ms)[0m commit transaction
|
105
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
106
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
107
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
108
|
+
[1m[35m (0.0ms)[0m commit transaction
|
109
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
110
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
111
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
112
|
+
[1m[35m (0.0ms)[0m commit transaction
|
113
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
114
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
115
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
116
|
+
[1m[35m (0.0ms)[0m commit transaction
|
117
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
118
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
119
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
120
|
+
[1m[35m (0.0ms)[0m commit transaction
|
121
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
122
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
123
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
124
|
+
[1m[35m (0.0ms)[0m commit transaction
|
125
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
126
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
127
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
128
|
+
[1m[35m (0.0ms)[0m commit transaction
|
129
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
130
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
131
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
132
|
+
[1m[35m (0.0ms)[0m commit transaction
|
133
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
134
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
135
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
136
|
+
[1m[35m (0.0ms)[0m commit transaction
|
137
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
138
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
139
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
140
|
+
[1m[35m (0.0ms)[0m commit transaction
|
141
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
142
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
143
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
144
|
+
[1m[35m (0.0ms)[0m commit transaction
|
145
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
146
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
147
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
148
|
+
[1m[35m (0.0ms)[0m commit transaction
|
149
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
150
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
151
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
152
|
+
[1m[35m (0.0ms)[0m commit transaction
|
153
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
154
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
155
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
156
|
+
[1m[35m (0.0ms)[0m commit transaction
|
157
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
158
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
159
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
160
|
+
[1m[35m (0.0ms)[0m commit transaction
|
161
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
162
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
163
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
164
|
+
[1m[35m (0.0ms)[0m commit transaction
|
165
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
166
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
167
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
168
|
+
[1m[35m (0.0ms)[0m commit transaction
|
169
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
170
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
171
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
172
|
+
[1m[35m (0.0ms)[0m commit transaction
|
173
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
174
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
175
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
176
|
+
[1m[35m (0.0ms)[0m commit transaction
|
177
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
178
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
179
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
180
|
+
[1m[35m (0.0ms)[0m commit transaction
|
181
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
182
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
183
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
184
|
+
[1m[35m (0.0ms)[0m commit transaction
|
185
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
186
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
187
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
188
|
+
[1m[35m (0.0ms)[0m commit transaction
|
189
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
190
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
191
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
192
|
+
[1m[35m (0.0ms)[0m commit transaction
|
193
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
194
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
195
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
196
|
+
[1m[35m (0.0ms)[0m commit transaction
|
197
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
198
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
199
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
200
|
+
[1m[35m (0.0ms)[0m commit transaction
|
201
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
202
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
203
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
204
|
+
[1m[35m (0.0ms)[0m commit transaction
|
205
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
206
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
207
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
208
|
+
[1m[35m (0.0ms)[0m commit transaction
|
209
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
210
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
211
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
212
|
+
[1m[35m (0.0ms)[0m commit transaction
|
213
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
214
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
215
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
216
|
+
[1m[35m (0.0ms)[0m commit transaction
|
217
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
218
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
219
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
220
|
+
[1m[35m (0.0ms)[0m commit transaction
|
221
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
222
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
223
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
224
|
+
[1m[35m (0.0ms)[0m commit transaction
|
225
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
226
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
227
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
228
|
+
[1m[35m (0.0ms)[0m commit transaction
|
229
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
230
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
231
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
232
|
+
[1m[35m (0.0ms)[0m commit transaction
|
233
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
234
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
235
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
236
|
+
[1m[35m (0.0ms)[0m commit transaction
|
237
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
238
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
239
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
240
|
+
[1m[35m (0.0ms)[0m commit transaction
|
241
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
242
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
243
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
244
|
+
[1m[35m (0.0ms)[0m commit transaction
|
245
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
246
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
247
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
248
|
+
[1m[35m (0.0ms)[0m commit transaction
|
249
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
250
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
251
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
252
|
+
[1m[35m (0.0ms)[0m commit transaction
|
253
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
254
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
255
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
256
|
+
[1m[35m (0.0ms)[0m commit transaction
|
257
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
258
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
259
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
260
|
+
[1m[35m (0.0ms)[0m commit transaction
|
261
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
262
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
263
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
264
|
+
[1m[35m (0.0ms)[0m commit transaction
|
265
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
266
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
267
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
268
|
+
[1m[35m (0.0ms)[0m commit transaction
|
269
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
270
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
271
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
272
|
+
[1m[35m (0.0ms)[0m commit transaction
|
273
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
274
|
+
[1m[35m (0.0ms)[0m rollback transaction
|