[DBIx-Class-Devel] Optimized update_or_create

Alexander Hartmaier alex.hartmaier at gmail.com
Tue Jul 16 11:44:45 GMT 2013


T24gTW9uLCBKdWwgMTUsIDIwMTMgYXQgNTo0MCBQTSwgUGV0ZXIgUmFiYml0c29uIDxyYWJiaXQr
ZGJpY0ByYWJiaXQudXM+d3JvdGU6Cgo+IE9uIE1vbiwgSnVsIDE1LCAyMDEzIGF0IDEwOjA2OjQ1
QU0gLTA1MDAsIGZSRVcgU2NobWlkdCB3cm90ZToKPiA+Cj4gPiBPaywgc28gd2l0aCB0aGUgYWJv
dmUgaW4gbWluZCwgbWF5YmUgYSBzbGlnaHRseSBkaWZmZXJlbnQgYXBpIHdvdWxkCj4gPiBiZSBz
ZW5zaWJsZS4gIEhvdyBkb2VzIGV2ZXJ5b25lIGZlZWwgYWJvdXQgdGhpczoKPiA+Cj4gPiAobmFt
ZSBwZW5kaW5nLCB0aG91Z2ggSSdtIGxlYW5pbmcgdG93YXJkcyB1cGRhdGVfb3JfaW5zZXJ0KQo+
Cj4gQ2FsbGluZyBpdCB1cGRhdGVfb3JfaW5zZXJ0IHdoaWNoIGlzIHJhZGljYWxseSBkaWZmZXJl
bnQgZnJvbQo+IHVkcGF0ZV9vcl9jcmVhdGUgaXMgbm90IHN1Y2ggYSBnb29kIGlkZWEuIEkgY2Fu
J3Qgc2VlbSB0byBjb21lIHVwIHdpdGggYQo+IG5hbWUgdGhhdCBpcyBzdWZmaWNpZW50bHkgdmlz
dWFsbHkgZGlmZmVybnQgZnJvbSAndXBkYXRlX29yJyB3aGlsZQo+IGNvbnZleWluZyB0aGUgYWN0
aW9uIHRoYXQgaXMgYWJvdXQgdG8gdGFrZSBwbGFjZS4KPgo+IFBlcmhhcHMgd2UgY2FuIGdvIGZ1
bGwtbW9uZ28gYW5kIHByb3ZpZGUgJHJzLT51cHNlcnQgKHdpdGggdGhlIHNpZGUgZWZmZWN0Cj4g
b2YKPiBndWFyYW50ZWVkIGF0b21pY2l0eSwgZWl0aGVyIHZpYSB0aGUgc3RvcmFnZSBvciB2aWEg
ZGJpYy1zaWRlIHR4bik/Cj4KPiA+Cj4gPiAgICAkcnMtPnVwZGF0ZV9vcl9pbnNlcnQoIFwlc2Vh
cmNoLCBcJXVwZGF0ZSwgXCVpbnNlcnQ/ICkKPgo+IFRoaXMgaXMgdG9vIHZlcmJvc2UsIGVzcGVj
aWFsbHkgZ2l2ZW4gdGhhdCBtb3N0IG9mIHRoZSB0aW1lIFwlc2VhcmNoIHdpbGwKPiBiZQo+IGEg
e30uCj4KPiA+Cj4gPiBUaGUgaW5zZXJ0X2hhc2ggaXMgb3B0aW9uYWwgYmVjYXVzZSBpZiB5b3Ug
aGF2ZSBhIHNpbXBsZSBlbm91Z2ggY2FzZQo+ID4gdGhlIHVwZGF0ZSBhbmQgaW5zZXJ0IGNhbiBi
ZSB0aGUgc2FtZSAodGhvdWdoIGluIG15IGV4cGVyaWVuY2UgdGhhdCBpcwo+ID4gb2Z0ZW4gbm90
IHRoZSBjYXNlLikKPgo+IEtpbmRhLi4uIGJ1dC4uLiBXZSBhcmUgY29uZmxhdGluZyB0d28gaXNz
dWVzIGhlcmUgLSBvbmUgaXMgdGhhdCB0aGUKPiBvcmlnaW5hbCB1X29yX2MgbWl4ZXMgdGhlIGZp
bmQgYW5kIHRoZSB1cGRhdGUgY3JpdGVyaWEuIFRoaXMgaXMgYWxtb3N0Cj4gYWx3YXlzIGEgbWlz
dGFrZS4gSG93ZXZlciAqc2VwZXJhdGluZyogdGhlIHVwZGF0ZSBhbmQgaW5zZXJ0IHBhcnRzCj4g
YWxzbyBmZWVscyBsaWtlIGEgbWlzdGFrZSBtb3N0IG9mIHRoZSB0aW1lLiBDYW4geW91IGVsYWJv
cmF0ZSB3aGljaCBjYXNlcwo+IHlvdSByYW4gYWNyb3NzIHRoYXQgbmVlZGVkIGEgZGlmZmVyZW50
IHVwZGF0ZSBhbmQgaW5zZXJ0IGJhZz8KPgo+IEFsc28gaWYgeW91IGRvIGFsbG93IGZvciBpbnNl
cnQvdXBkYXRlIGJhZ3MgdG8gZGlmZmVyLCB0aGVuIHlvdQo+IGF1dG9tYXRpY2FsbHkgZGlzcXVh
bGlmeSB0aGUgLT51cHNlcnQgZnJvbSBSREJNUy1zaWRlIG9wdGltaXphdGlvbnMKPiAoc2luY2Ug
bW9zdCBvZiB0aGUgVV9PUl9EIG9wZXJhdG9ycyB0YWtlIG9ubHkgb25lIHNldCBvZiBWQUxVRVMp
Cj4KPiA+Cj4gPiBBbm90aGVyIG1vcmUgZmxleGlibGUgYXBpIG1pZ2h0IGp1c3QgYmU6Cj4gPgo+
ID4gICAgJHJzLT5zZWFyY2goIFwlc2VhcmNoICktPnVwZGF0ZV9vcl9pbnNlcnQoIFwldXBkYXRl
LCBcJWluc2VydD8gKQo+ID4KPiA+IEkgYWxtb3N0IHdhbnQgdG8ganVzdCBtYWtlIHRoYXQgbGF0
dGVyIEFQSSBhbmQgdGhlbiBhZGQgYSBoZWxwZXIgb3IKPiA+IHR3byB0byBleHBhbmQgdG8gdGhl
IGZvcm1lciBhbmQgb3RoZXJzIChtYXliZSBhIHZlcnNpb24gd2hlcmUgeW91Cj4gPiBzcGVjaWZ5
IHRoZSBrZXkgYW5kIHZhbHVlcyBvZiBhIGdpdmVuIFVDPykgIEhlY2ssIGluIG1vc3Qgb2YgbXkK
PiA+IHJlc3VsdHNldHMgSSB0ZW5kIHRvIHdyaXRlIGEgbWV0aG9kIHRvIHNlYXJjaCBiYXNlZCBv
biB0aGUgbm9uLXBrCj4gPiB1YydzLCBzbyBmb3IgbWUgSSdkIGRvIHNvbWV0aGluZyBsaWtlOgo+
ID4KPiA+ICAgICRycy0+c2VhcmNoX2J5X25hbWUoJG5hbWUpLT51cGRhdGVfb3JfaW5zZXJ0KCAu
Li4gKTsKPgo+IEludGVyZXN0aW5nLi4uIGZpbmQoKSBhY3R1YWxseSBwcm92aWRlcyB0aGlzIGZ1
bmN0aW9uYWxpdHksIGFuZCB3ZQo+IGFscmVhZHkgZGVwcmVjYXRlZCBzZWFyY2goIG1hbnkgcGxh
aW4gdmFsdWVzICkgYSB3aGlsZSBhZ28uIEkgd29uZGVyCj4gd2hldGhlciB3ZSBjYW4gbWFrZQo+
Cj4gc2VhcmNoKCB1MSwgdTIsIHUzLCB7IGtleSA9PiAndGhyZWVfdmFsdWVfdWMnIH0pCj4KPiB0
byBiZSBlcXVpdmFsZW50IHRvIHRoZSBmaW5kKCkgdmVyc2lvbiB3aXRoIHRoZSBzYW1lIHN5bnRh
eAo+CkhhdmluZyBzb21lIHVzYWdlIGV4YW1wbGVzLCB1c2luZyB0aGUgY3VycmVudGx5IGV4aXN0
aW5nIGRiaWMgbWV0aG9kcywKd291bGQgaGVscCBmaW5kaW5nIGEgZ29vZCBhcGkgYW5kIG5hbWUu
CgoKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g
REJJeC1DbGFzcy1EZXZlbCBtYWlsaW5nIGxpc3QKPiBEQkl4LUNsYXNzLURldmVsQGxpc3RzLnNj
c3lzLmNvLnVrCj4gaHR0cDovL2xpc3RzLnNjc3lzLmNvLnVrL2NnaS1iaW4vbWFpbG1hbi9saXN0
aW5mby9kYml4LWNsYXNzLWRldmVsCj4KLS0tLS0tLS0tLS0tLS0gbmV4dCBwYXJ0IC0tLS0tLS0t
LS0tLS0tCkFuIEhUTUwgYXR0YWNobWVudCB3YXMgc2NydWJiZWQuLi4KVVJMOiBodHRwOi8vbGlz
dHMuc2NzeXMuY28udWsvcGlwZXJtYWlsL2RiaXgtY2xhc3MtZGV2ZWwvYXR0YWNobWVudHMvMjAx
MzA3MTYvMDBkNjQ0NWMvYXR0YWNobWVudC5odG0K


More information about the DBIx-Class-Devel mailing list