<div dir="ltr">Hi,<div><br></div><div>I am looking to add sync to the GDAL CouchDB driver. I would rather not add additional API functions to do this but to wrap it up in the usual GetFeature call. The first call to GetFeature would initiate a sync, but thoughts on this are appreciated. </div><div><br></div><div>Sync is a useful function that is a key differentiator with CouchDB which is a multi-master database.</div><div><br></div><div>There are a couple of ways of doing the sync, I could force a whole database sync (the CouchDB model) or we could do a filtered sync based on the bbox of the current local dataset. I would do the former in the initial implementation.</div><div><br></div><div>As for the persistence, I would like to use leveldb as a local store though I could use sqlite. The two schemas are as follows;</div><div><br></div><div><a href="https://github.com/pouchdb/pouchdb/blob/master/lib/adapters/idb/idb.js#L56">https://github.com/pouchdb/pouchdb/blob/master/lib/adapters/idb/idb.js#L56</a><br></div><div><a href="https://github.com/couchbaselabs/TouchDB-iOS/wiki/Object-Design-And-Schema">https://github.com/couchbaselabs/TouchDB-iOS/wiki/Object-Design-And-Schema</a><br></div><div><br></div><div>I will be create a PR on this shortly, but I am interested in any early feedback.</div><div><br></div><div>Norman</div></div>