2011-04-06 13 views
8

Veritabanı çoğaltmasının neden olduğu çakışmaları tamamen CouchDB içinde çözümlemek mümkün mü? Kullanılacak revizyona karar vermek için kendi iç algoritmasına sahip olduğunu biliyorum, ancak uygulama, uygulamaya özel bir şekilde çakışmalarla başa çıkmak için özel bir javascript işlevi kaydedebilir mi?Çoğaltma çakışmaları tamamen CouchDB içinde çözülüyor

CouchDB kılavuzu ve wiki'si, çakışmaları çözmek için yalnızca harici uygulama kodunu kullanmanızı öneririz.

cevap

3

Hayır, CouchDB içinde çakışmaları otomatik olarak (veya bir şekilde tetiklenen) çözmek mümkün değildir.

Her zaman geliştiricilere, çakışmaları çözmek için, bu doğrudur.

MVCC sisteminde otomatik uyuşmazlık çözümü garip geliyor. Önceki sürümleri saklamak ve kilitlemesiz erişim vermek için ne yapmalıyız?

(hatam varsa lütfen beni düzeltin)

+0

Biz bir uygulamada çatışmaları çözmek için en iyi nasıl karar alınması geliştiriciye olmaya uyum içindedir. Sorum şu, bu çatışma çözüm mantığının yerleştirildiği yer olmalıydı. CouchDB içinde saklanan bir javascript işlevi olabilir mi? – nil

+1

+1 ve cevabınızı "hayır" daha açık yapmak için güncelleyeceğim. Nil ile aynı fikirdeyim: geliştirici mutlaka * user * 'den değil çatışmaları çözmelidir. Dropbox ve GMail, anlaşmazlıkları her zaman şeffaf bir şekilde çözen iki hizmettir. Maalesef, şu anda, normal bir istemci olarak kanepeye bağlanarak yapılmalıdır. – JasonSmith

+1

Teşekkürler, jhs, açıklığa kavuşturmak için. Neden olmasın diye merak ediyorum. Kesinlikle CouchDB'den daha az kendi kendine yeterli olan CouchApp'leri yapar. – nil