rhosync 2.1.17.beta2 → 2.1.17.beta3
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.
- data/CHANGELOG +1 -0
- data/lib/rhosync/client_sync.rb +6 -11
- data/lib/rhosync/jobs/bulk_data_job.rb +9 -5
- data/lib/rhosync/version.rb +1 -1
- data/spec/client_sync_spec.rb +1 -1
- data/spec/spec_helper.rb +4 -2
- metadata +5 -5
data/CHANGELOG
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* #28328057 - Feature Request: Adding a Bulk Data Job after_perform hook from Zendesk ticket #2367
|
|
8
8
|
* Empty cud hash to trigger processing of the queued data (Zendesk #2383)
|
|
9
9
|
* Revert fix for Zendesk ticket #2336 by customer request
|
|
10
|
+
* #28094895 - Zendesk ticket #2354: Bulk sync not updating sources table (fields 'last_inserted_size' and 'backend_refresh_time' now updated)
|
|
10
11
|
|
|
11
12
|
## 2.1.16
|
|
12
13
|
* revert rack support for v. 1.4.1 and lock to v. 1.3.6 due to problems with Heroku deployment (Rack 1.4.1 produces 502 error)
|
data/lib/rhosync/client_sync.rb
CHANGED
|
@@ -15,18 +15,13 @@ module Rhosync
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def receive_cud(cud_params={},query_params=nil)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
processed = 0
|
|
24
|
-
['create','update','delete'].each do |op|
|
|
25
|
-
key,value = op,cud_params[op]
|
|
26
|
-
processed += _receive_cud(key,value) if value
|
|
27
|
-
end
|
|
28
|
-
@source_sync.process_cud(@client.id) if processed > 0
|
|
18
|
+
_process_blobs(cud_params)
|
|
19
|
+
processed = 0
|
|
20
|
+
['create','update','delete'].each do |op|
|
|
21
|
+
key,value = op,cud_params[op]
|
|
22
|
+
processed += _receive_cud(key,value) if value
|
|
29
23
|
end
|
|
24
|
+
@source_sync.process_cud(@client.id)
|
|
30
25
|
end
|
|
31
26
|
|
|
32
27
|
def send_cud(token=nil,query_params=nil)
|
|
@@ -134,21 +134,25 @@ module Rhosync
|
|
|
134
134
|
end
|
|
135
135
|
str[0..-2]
|
|
136
136
|
end
|
|
137
|
-
|
|
137
|
+
|
|
138
|
+
# #2354: Bulk sync not updating sources table
|
|
139
|
+
# last_inserted_size +
|
|
140
|
+
# last_deleted_size
|
|
141
|
+
# backend_refresh_time +
|
|
138
142
|
def self.populate_sources_table(db,sources_refs)
|
|
139
143
|
db.transaction do |database|
|
|
140
144
|
database.prepare("insert into sources
|
|
141
|
-
(source_id,name,sync_priority,partition,sync_type,source_attribs,metadata,schema,blob_attribs,associations)
|
|
142
|
-
values (
|
|
145
|
+
(source_id,name,sync_priority,partition,sync_type,source_attribs,metadata,schema,blob_attribs,associations,last_inserted_size,backend_refresh_time)
|
|
146
|
+
values (?,?,?,?,?,?,?,?,?,?,?,?)") do |stmt|
|
|
143
147
|
sources_refs.each do |source_name,ref|
|
|
144
148
|
s = ref[:source]
|
|
145
149
|
stmt.execute(s.source_id,s.name,s.priority,s.partition_type.to_s,
|
|
146
|
-
s.sync_type.to_s,refs_to_s(ref[:refs]),s.get_value(:metadata),s.schema,s.blob_attribs,s.has_many)
|
|
150
|
+
s.sync_type.to_s,refs_to_s(ref[:refs]),s.get_value(:metadata),s.schema,s.blob_attribs,s.has_many,s.get_value(:md_size),s.read_state.refresh_time)
|
|
147
151
|
end
|
|
148
152
|
end
|
|
149
153
|
end
|
|
150
154
|
end
|
|
151
|
-
|
|
155
|
+
|
|
152
156
|
def self.create_sqlite_data_file(bulk_data,ts)
|
|
153
157
|
sources_refs = {}
|
|
154
158
|
schema,index,bulk_data.dbfile = get_file_args(bulk_data.name,ts)
|
data/lib/rhosync/version.rb
CHANGED
data/spec/client_sync_spec.rb
CHANGED
|
@@ -33,7 +33,7 @@ describe "ClientSync" do
|
|
|
33
33
|
verify_result(@cs.client.docname(:create) => queued_create_data,
|
|
34
34
|
@cs.client.docname(:update) => {},
|
|
35
35
|
@cs.client.docname(:delete) => {})
|
|
36
|
-
@cs.receive_cud({})
|
|
36
|
+
@cs.receive_cud({:source_name => @s_fields[:name]})
|
|
37
37
|
verify_result(@cs.client.docname(:create) => {},
|
|
38
38
|
@cs.client.docname(:update) => {},
|
|
39
39
|
@cs.client.docname(:delete) => {})
|
data/spec/spec_helper.rb
CHANGED
|
@@ -115,8 +115,8 @@ module TestHelpers
|
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
def validate_db_by_name(db,s,data)
|
|
118
|
-
db.execute("select source_id,name,sync_priority,partition,
|
|
119
|
-
|
|
118
|
+
db.execute("select source_id,name,sync_priority,partition,sync_type,source_attribs,
|
|
119
|
+
metadata,schema,blob_attribs,associations,last_inserted_size, backend_refresh_time
|
|
120
120
|
from sources where name='#{s.name}'").each do |row|
|
|
121
121
|
return false if row[0].to_s != s.source_id.to_s
|
|
122
122
|
return false if row[1] != s.name
|
|
@@ -128,6 +128,8 @@ module TestHelpers
|
|
|
128
128
|
return false if row[7] != s.schema
|
|
129
129
|
return false if row[8] != s.blob_attribs
|
|
130
130
|
return false if row[9] != s.has_many
|
|
131
|
+
return false if row[10] != s.get_value(:md_size).to_i
|
|
132
|
+
return false if row[11] != s.read_state.refresh_time
|
|
131
133
|
end
|
|
132
134
|
|
|
133
135
|
data = json_clone(data)
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rhosync
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 2250687
|
|
5
5
|
prerelease: 7
|
|
6
6
|
segments:
|
|
7
7
|
- 2
|
|
8
8
|
- 1
|
|
9
9
|
- 17
|
|
10
10
|
- beta
|
|
11
|
-
-
|
|
12
|
-
version: 2.1.17.
|
|
11
|
+
- 3
|
|
12
|
+
version: 2.1.17.beta3
|
|
13
13
|
platform: ruby
|
|
14
14
|
authors:
|
|
15
15
|
- Rhomobile
|
|
@@ -17,7 +17,7 @@ autorequire:
|
|
|
17
17
|
bindir: bin
|
|
18
18
|
cert_chain: []
|
|
19
19
|
|
|
20
|
-
date: 2012-
|
|
20
|
+
date: 2012-05-01 00:00:00 Z
|
|
21
21
|
dependencies:
|
|
22
22
|
- !ruby/object:Gem::Dependency
|
|
23
23
|
name: sinatra
|
|
@@ -582,7 +582,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
582
582
|
requirements: []
|
|
583
583
|
|
|
584
584
|
rubyforge_project:
|
|
585
|
-
rubygems_version: 1.8.
|
|
585
|
+
rubygems_version: 1.8.24
|
|
586
586
|
signing_key:
|
|
587
587
|
specification_version: 3
|
|
588
588
|
summary: RhoSync Synchronization Framework
|