[Dbix-class] DBIx::Class 0.08100 released to CPAN

David Ihnen davidi at norchemlab.com
Wed Apr 22 17:59:39 GMT 2009


UGV0ZXIgUmFiYml0c29uIHdyb3RlOgo+IERhdmlkIElobmVuIHdyb3RlOgo+ICAgCj4+IE1hdHQg
UyBUcm91dCB3cm90ZToKPj4gICAgIAo+Pj4gT24gVHVlLCBBcHIgMjEsIDIwMDkgYXQgMTA6NTk6
NDhBTSAtMDcwMCwgRGF2aWQgSWhuZW4gd3JvdGU6Cj4+PiAgIAo+Pj4gICAgICAgCj4+Pj4gICAg
IAo+Pj4+ICAgICAgICAgCj4+PiBXaGljaCBpcyB3aHk6Cj4+Pgo+Pj4gICAKPj4+ICAgICAgIAo+
Pj4+IC0+Y3JlYXRlX3JlbGF0ZWQoJ2l2cl9ob2xpZGF5JywgeyBob2xpZGF5ID0+IGRhdGUsIGRl
c2NyaXB0aW9uID0+IAo+Pj4+ICRkZXNjcmlwdGlvbiB9KTsKPj4+Pgo+Pj4+IGlzIGNhbGxlZC4g
YnV0IGRvZXMgbm90IGNyZWF0ZSBhbiBlcnJvciBvbiBncm91cHMgd2hlbgo+Pj4+Cj4+Pj4gLT5j
cmVhdGVfcmVsYXRlZCgnaXZyX2hvbGlkYXknLCB7IGhvbGlkYXkgPT4gZGF0ZSwgZGVzY3JpcHRp
b24gPT4gCj4+Pj4gJGRlc2NyaXB0aW9uLCBkb25vciA9PiB1bmRlZiB9KTsKPj4+PiAgICAgCj4+
Pj4gICAgICAgICAKPj4+IFRoYXQgY2hhbmdlIGlzIGNvcnJlY3QgLSBhcyBJIHNheSwgREJJQyBj
YW4ndCB0ZWxsIHdoYXQncyBnb2luZyB0byBiZSBpbgo+Pj4gdGhlIGRhdGFiYXNlIHNvIGl0IGVy
cnMgb24gdGhlIHNpZGUgb2YgcGFyYW5vaWEuCj4+Pgo+Pj4gQmV0dGVyIHRvIGRpZSgpIHRoYW4g
dG8gc2lsZW50bHkgcmV0dXJuIHRoZSB3cm9uZyB0aGluZy4KPj4+Cj4+PiAgIAo+Pj4gICAgICAg
Cj4+IFllcywgYnV0IGl0IGRvZXMgbm90IGV4cGxhaW4gd2h5IHRoZSBncm91cHMgcmVsYXRpb25z
aGlwIGRvZXNuJ3QgdGhyb3cKPj4gdGhlIHNhbWUgZXJyb3IgdGhhdCB0aGUgZG9ub3IgcmVsYXRp
b25zaGlwIGRpZCB0aHJvdywgd2hlbiBpdCBpcwo+PiBjb25maWd1cmVkIGlkZW50aWNhbGx5IHdp
dGggdGhlIHNhbWUgc29ydCBvZiByZWxhdGlvbnNoaXBzLgo+Pgo+PiBTdXJlbHkgaXRzIGEgYnVn
IGlmIG9ubHkgdGhlIGZpcnN0IHJlbGF0aW9uc2hpcCBpcyBjaGVja2VkIGFuZCBub3QgYWxsCj4+
IG9mIHRoZW0/Cj4+Cj4+ICAgICAKPgo+IEl0IG1pZ2h0IGJlLCBidXQgdGhlcmUgaXMgbm8gd2F5
IHRvIHRlbGwgdW5sZXNzIHlvdSBzaG93IHVzIF9jb21wbGV0ZV8KPiBpbnZvY2F0aW9uIGNvZGUg
Zm9yIGJvdGggdGhlIGdyb3VwIGFuZCB0aGUgaG9saWRheSBzdHVmZi4gVGhlcmUgZ290IHRvCj4g
YmUgYXQgbGVhc3Qgc29tZXRoaW5nIHRoYXQgaXMgZGlmZmVyZW50Lgo+ICAgCi4uLiBhc3N1bWlu
ZyB5b3UgZG9uJ3Qgd2FudCB0byBzb3J0IHRocm91Z2ggNzg4IEsgb2YgdGhlIHZhcmlvdXMgCnRh
bmdsZWQtdG9nZXRoZXIgd2ViIG9mIGRhdGEgbW9kZWwgZGVmaW5pdGlvbiwgbm9yIHN1cmUgdGhh
dCBJIHdvdWxkbid0IApnZXQgaW4gdHJvdWJsZSBmb3Igc2hhcmluZyBpdC4uLiBJIGF0dGVtcHQg
dG8gZXhwbGFpbiB0aGUgY29tcGxldGUgCmRldGFpbHMgb2YgdGhlIGludm9jYXRpb24uLi4KClRv
IHN0YXJ0IHdpdGgsIHRoZXJlIGlzIG5vIGNvZGUgaW52b2tpbmcgdGhlIGdyb3VwIHN0dWZmLiAg
VGhlIGdyb3VwIGlzIApudWxsIGluIHRoaXMgY2FzZSwgaXQgaGFzIG5vIHJlbGV2YW5jeSB0byB0
aGUgaW5zZXJ0IG9jY3VyaW5nLiAgSSBjYW4ndCAKc2hvdyB5b3UgY29kZSBpbnZva2luZyB0aGUg
cmVsYXRpb24gZ3JvdXBzIGZvciBvYmplY3QgaXZyX2hvbGlkYXkgaW4gCmNvbmp1Y3Rpb24gd2l0
aCBhIGNsaWVudCBpbnNlcnQgYXMgdGhlcmUgaXMgbm9uZSEgIFRoZSBwb2ludCBpcyB0aGF0IHRo
ZSAKZGllIHNob3VsZCBoYXZlIHRocm93biAqYmVjYXVzZSogdGhlcmUgaXMgbm9uZSwgcmlnaHQ/
CgppbiBhcHBsaWNhdGlvbiBwYWNrYWdlIFNhbXA6OkNyZWF0ZURlbW9Vc2VyLCBhZnRlciBjcmVh
dGluZyBhIHNlcmllcyBvZiAKY2xpZW50IG9iamVjdHMsIHdlIGludm9rZSBieSBjYWxsaW5nIHRo
aXMgaGVscGVyIG1ldGhvZCBvbiBhIGNsaWVudCByb3cgCm9iamVjdC4KCiAgICAkY2xpZW50LT5h
ZGRfaXZyX2hvbGlkYXkoe2hvbGlkYXkgPT4gRGF0ZVRpbWUtPm5ldyh7eWVhciA9PiAyMDA3LCAK
ZGF5ID0+IDI1LCBtb250aCA9PiA1fSksIGRlc2NyaXB0aW9uID0+ICdNZW1vcmlhbCBEYXknfSk7
CgpUaGUgaW1wbGltZW50YXRpb24gb2YgdGhlIGhlbHBlciByZXZlYWxzIHRoZSBkZWZhdWx0aW5n
IGNoYW5nZSB3ZSBhZGRlZCAKdGhhdCBtYWRlIHRoZSBkaWUgZ28gYXdheSBmb3IgdGhlIGRvbm9y
IHJlbGF0aW9uLiAgTm90ZSB0aGF0IHRoZSAKaW52b2NhdGlvbiBkb2VzIG5vdCBoYXZlIGEgZ3Jv
dXBfaWQgbm9yIGRvZXMgdGhlIGNsaWVudCBvYmplY3Qgd3JhcHBlciAKYWRkIHN1Y2ggYW4gZW50
cnkuICBUaGUgb25seSByZWxldmFudCByZWxhdGlvbiBoZXJlIGlzIHRoYXQgb2YgCml2cl9ob2xp
ZGF5IC0gdG8gbXkgdW5kZXJzdGFuZGluZyB0aGUgcmVsYXRpb24gY2hlY2tpbmcgY29kZSB3aWxs
IGJlIApjaGVja2luZyB0aGUgZGVmaW5pdGlvbiBmb3IgdGhlIHRhYmxlIHRoYXQgaXQgaXMgaW5z
ZXJ0aW5nIGludG8uCgpwYWNrYWdlIERCOjpTY2hlbWE6OmNsaWVudDsKdXNlIERCOjpTY2hlbWE6
Om5vdGljZTsKdXNlIGJhc2UgcXcvREI6OlNjaGVtYS87CnVzZSBzdHJpY3Q7CnVzZSBDYXJwOwp1
c2UgRGF0YTo6RHVtcGVyOwoKX19QQUNLQUdFX18tPmxvYWRfY29tcG9uZW50cyhxdy9QSzo6QXV0
byBDb3JlLyk7Cl9fUEFDS0FHRV9fLT50YWJsZSgnY2xpZW50Jyk7Cl9fUEFDS0FHRV9fLT5hZGRf
Y29sdW1ucygnaWQnKTsKX19QQUNLQUdFX18tPnNldF9wcmltYXJ5X2tleSgnaWQnKTsKX19QQUNL
QUdFX18tPmFkZF9jb2x1bW5zKHF3L2NvZGUgbmFtZSBzaG9ydF9uYW1lIGFkZHJlc3MgYWRkcmVz
czIgY2l0eSAKc3RhdGUgemlwIGxmdCByZ3QgcGhvbmUgZXh0IGNvbnRhY3QgZW1haWwgY29sbGVj
dGlvbl9zaXRlLyk7Cl9fUEFDS0FHRV9fLT5oYXNfbWFueShjbGllbnRzICAgICAgICAgICAgID0+
IAonREI6OlNjaGVtYTo6Y2xpZW50JyAgICAgICAgICAgICAgICAgICAgICAsICdpZCcpOwpfX1BB
Q0tBR0VfXy0+aGFzX21hbnkoc2V0dGluZ3MgICAgICAgICAgICA9PiAKJ0RCOjpTY2hlbWE6OmNs
aWVudF9zZXR0aW5ncycgICAgICAgICAgICAgLCAnY2xpZW50X2lkJyk7Cl9fUEFDS0FHRV9fLT5o
YXNfbWFueShzYW1wX3VzZXIgICAgICAgICAgID0+IAonREI6OlNjaGVtYTo6c2FtcF91c2VyJyAg
ICAgICAgICAgICAgICAgICAsICdjbGllbnRfaWQnKTsKX19QQUNLQUdFX18tPmhhc19tYW55KHRp
dGxlcyAgICAgICAgICAgICAgPT4gCidEQjo6U2NoZW1hOjpzYW1wX3VzZXJfdGl0bGVzJyAgICAg
ICAgICAgICwgJ2NsaWVudF9pZCcpOwpfX1BBQ0tBR0VfXy0+aGFzX21hbnkodXNlcnMgICAgICAg
ICAgICAgICA9PiAKJ0RCOjpTY2hlbWE6OnNhbXBfdXNlcicgICAgICAgICAgICAgICAgICAgLCAn
Y2xpZW50X2lkJyk7Cl9fUEFDS0FHRV9fLT5oYXNfbWFueShjb2NzICAgICAgICAgICAgICAgID0+
IAonREI6OlNjaGVtYTo6Y29jJyAgICAgICAgICAgICAgICAgICAgICAgICAsICdjbGllbnRfaWQn
KTsKX19QQUNLQUdFX18tPmhhc19tYW55KHBhbmVscyAgICAgICAgICAgICAgPT4gCidEQjo6U2No
ZW1hOjpjbGllbnRfcGFuZWwnICAgICAgICAgICAgICAgICwgJ2NsaWVudF9pZCcpOwpfX1BBQ0tB
R0VfXy0+aGFzX21hbnkodGVzdHMgICAgICAgICAgICAgICA9PiAKJ0RCOjpTY2hlbWE6OmNsaWVu
dF90ZXN0JyAgICAgICAgICAgICAgICAgLCAnY2xpZW50X2lkJyk7Cl9fUEFDS0FHRV9fLT5oYXNf
bWFueShpdnJfaG9saWRheSAgICAgICAgID0+IAonREI6OlNjaGVtYTo6aXZyX2hvbGlkYXknICAg
ICAgICAgICAgICAgICAsICdjbGllbnRfaWQnKTsKX19QQUNLQUdFX18tPmhhc19tYW55KHByb2Zp
bGVzICAgICAgICAgICAgPT4gCidEQjo6U2NoZW1hOjpjbGllbnRfcHJvZmlsZScgICAgICAgICAg
ICAgICwgJ2NsaWVudF9pZCcpOwpfX1BBQ0tBR0VfXy0+aGFzX21hbnkoaXZyX251bWJlcnMgICAg
ICAgICA9PiAKJ0RCOjpTY2hlbWE6OmNsaWVudF9pdnJfbnVtYmVycycgICAgICAgICAgLCAnY2xp
ZW50X2lkJyk7Cl9fUEFDS0FHRV9fLT5oYXNfbWFueShpdnJfc2VydmVycyAgICAgICAgID0+IAon
REI6OlNjaGVtYTo6Y2xpZW50X2l2cl9pbmZvJyAgICAgICAgICAgICAsICdjbGllbnRfaWQnKTsK
X19QQUNLQUdFX18tPmhhc19tYW55KGxhYm9yYXRvcmllcyAgICAgICAgPT4gCidEQjo6U2NoZW1h
OjpjbGllbnRfbGFib3JhdG9yaWVzJyAgICAgICAgICwgJ2NsaWVudF9pZCcpOwpfX1BBQ0tBR0Vf
Xy0+aGFzX21hbnkoY29sbGVjdGlvbl9zaXRlcyAgICA9PiAKJ0RCOjpTY2hlbWE6OmNsaWVudF9j
b2xsZWN0aW9uX3NpdGVzJyAgICAgLCAnY2xpZW50X2lkJyk7CgouLi4gc2V2ZXJhbCBodW5kcmVk
IGxpbmVzIG9mIG90aGVyIGhlbHBlciBtZXRob2RzIC4uLgoKc3ViIGFkZF9pdnJfaG9saWRheSB7
CiAgbXkgJHNlbGYgPSBzaGlmdDsKICBteSAkcmVjb3JkID0gc2hpZnQ7CgogICRyZWNvcmQtPntk
b25vcl9pZH0gPSB1bmRlZiB1bmxlc3MgJHJlY29yZC0+e2Rvbm9yX2lkfTsKCiAgJHNlbGYtPnR4
biggc3ViIHsKICAgICRzZWxmLT5jcmVhdGVfcmVsYXRlZCgnaXZyX2hvbGlkYXknLCAkcmVjb3Jk
KTsKICB9ICk7Cn0KCnR4biBpcyBhIGN1c3RvbSB0eG5fZG8gaWRlYSB0cmFuc2FjdGlvbiBoYW5k
bGVyIHRoYXQgaGVscHMgZW5mb3JjZSB0aGUgCmFwcGxpY2F0aW9uIHJ1bGUgdGhhdCB0cmFuc2Fj
dGlvbnMgcmV0dXJuIGEgY29uc2lzdGVudCBpbnRlcmZhY2UgcGF0dGVybiAKc28gdGhhdCBvdGhl
ciBhcHBsaWNhdGlvbiBsb2dpYyBjYW4gZG8gdGhpbmdzIGxpa2UgcHJlc2VudCBzb21lIHNvcnQg
b2YgCmNvbnNpc3RlbnQgZXJyb3JzIHRvIHRoZSBlbmQgdXNlci4gIEZ1bmN0aW9uYWxseSBpdCBq
dXN0IGV4ZWN1dGVzIHRoZSAKc3ViIHJlZmVyZW5jZWQgcGFzc2VkIHRvIGl0LgoKcGFja2FnZSBE
Qjo6U2NoZW1hOwoKbXkgJHR4bmRlcHRoID0gMDsKCnN1YiB0eG4gewogIG15ICRzZWxmID0gc2hp
ZnQ7CiAgbXkgJHN1YnJvdXRpbmUgPSBzaGlmdDsKCgogIG15ICRzY2hlbWEgPSAkc2VsZi0+c2No
ZW1hIGlmICgkc2VsZi0+Y2FuKCdzY2hlbWEnKSk7CiAgJHNjaGVtYSA9ICRzZWxmLT5yZXN1bHRf
c291cmNlLT5zY2hlbWEgaWYgKCRzZWxmLT5jYW4oJ3Jlc3VsdF9zb3VyY2UnKSk7CgogIGNvbmZl
c3MgIk5vIHN0b3JhZ2UgaW4gJHNlbGYgLSBodWg/ICgkc2NoZW1hKSIgdW5sZXNzICgkc2NoZW1h
KTsKCiAgJHR4bmRlcHRoICsrOwogIG15IEBleHRyYSA9IGV2YWwgeyAkc2NoZW1hLT50eG5fZG8o
c3ViIHsgbXkgQGUgPSAkc3Vicm91dGluZS0+KCk7IAokc2VsZi0+Y29tbWl0X3ByZWNvbW1pdDsg
QGU7IH0gKTsgfTsKICAkdHhuZGVwdGggLS07CgogIGlmICgkQCkgewogICAgQ2FycDo6Y2x1Y2sg
IkNhdWdodCBlcnJvciBpbiB0eG46XG4kQCAkISI7CiAgICAlUFJFQ09NTUlUID0gKCk7CiAgICBy
ZXR1cm4KICAgICAgeyBzdWNjZXNzID0+IDAKICAgICAgLCBlcnJvcmZpZWxkID0+ICJHRU5FUkFM
IiwKICAgICAgLCBlcnJvcm1zZyAgID0+ICJBIGRhdGFiYXNlIGVycm9yIGhhcyBvY3VycmVkIC0g
UGxlYXNlIGNvbnRhY3QgCnN1cHBvcnQiCiAgICAgICwgZG9sbGFyYXQgPT4gJEAKICAgICAgLCBA
XwogICAgICAsIEBleHRyYQogICAgICB9OwogIH0gZWxzZSB7CiAgICBAZXh0cmEgJSAyICAjIHNv
IHdlIGtub3cgd2UgZ290IGEgaGFzaAogICAgICA/IHJldHVybiB7IHN1Y2Nlc3MgPT4gMSB9CiAg
ICAgIDogcmV0dXJuIHsgc3VjY2VzcyA9PiAxICwgQGV4dHJhfTsKICB9Cn0KCgpBbmQgaGVyZSBp
cyB0aGUgdGFibGUgZGVmaW5pdGlvbiBmb3IgdGhlIHRhYmxlIGluIHF1ZXN0aW9uIHRoYXQgaXMg
bm90IAp0aHJvd2luZyBhbGwgdGhlIGV4cGVjdGVkIGRpZXMgd2hlbiByZWxhdGlvbnNoaXBzIGFy
ZSBub3Qgc3BlY2lmaWVkLiAgQXMgCnlvdSBzZWUsIGNsaWVudCwgZG9ub3IsIGFuZCBncm91cHMg
YXJlIGFsbCBiZWxvbmdzLXRvIGRlZmluZWQgCmlkZW50aWNhbGx5LiAgWWV0LCB3aGVuIGluc2Vy
dGVkIHdpdGggdW5zcGVjaWZpZWQgZ3JvdXBzL2dyb3VwX2lkIAp2YWx1ZXMsIHRoZSBsaWJyYXJ5
IGRvZXMgbm90IGRpZSB0ZWxsaW5nIHVzIHdlIGhhdmUgYSBwb3NzaWJsZSBwcm9ibGVtLgoKcGFj
a2FnZSBEQjo6U2NoZW1hOjppdnJfaG9saWRheTsKdXNlIGJhc2UgcXcvREI6OlNjaGVtYS87CnVz
ZSBzdHJpY3Q7CgpfX1BBQ0tBR0VfXy0+bG9hZF9jb21wb25lbnRzKHF3L0Rvbm9yRXZlbnQgUEs6
OkF1dG8gRGF0ZVRpbWVJbmZsYXRlIENvcmUvKTsKCl9fUEFDS0FHRV9fLT50YWJsZSgnaXZyX2hv
bGlkYXknKTsKCl9fUEFDS0FHRV9fLT5hZGRfY29sdW1ucygnaWQnKTsKX19QQUNLQUdFX18tPnNl
dF9wcmltYXJ5X2tleSgnaWQnKTsKCl9fUEFDS0FHRV9fLT5hZGRfY29sdW1ucyhxdy9jbGllbnRf
aWQgZ3JvdXBfaWQgZG9ub3JfaWQgZGVzY3JpcHRpb24gCm11c3RfY2FsbC8pOwpfX1BBQ0tBR0Vf
Xy0+YWRkX2NvbHVtbnMoJ2hvbGlkYXknID0+IHsgZGF0YV90eXBlID0+ICdkYXRlJyB9KTsKCl9f
UEFDS0FHRV9fLT5iZWxvbmdzX3RvKGNsaWVudCAgPT4gJ0RCOjpTY2hlbWE6OmNsaWVudCcsIHsg
J2ZvcmVpZ24uaWQnIAo9PiAnc2VsZi5jbGllbnRfaWQnIH0sIHsgam9pbl90eXBlID0+ICdsZWZ0
JyB9ICk7Cl9fUEFDS0FHRV9fLT5iZWxvbmdzX3RvKGRvbm9yICAgPT4gJ0RCOjpTY2hlbWE6OmRv
bm9yJywgeyAnZm9yZWlnbi5pZCcgCj0+ICdzZWxmLmRvbm9yX2lkJyB9LCB7IGpvaW5fdHlwZSA9
PiAnbGVmdCcgfSApOwpfX1BBQ0tBR0VfXy0+YmVsb25nc190byhncm91cHMgID0+ICdEQjo6U2No
ZW1hOjpncm91cHMnLCB7ICdmb3JlaWduLmlkJyAKPT4gJ3NlbGYuZ3JvdXBfaWQnIH0sIHsgam9p
bl90eXBlID0+ICdsZWZ0JyB9ICk7CgpfX1BBQ0tBR0VfXy0+bWlnaHRfaGF2ZShkZV9icmlkZ2Ug
PT4gJ0RCOjpTY2hlbWE6OmRlX3RvX2l2cl9ob2xpZGF5JywgCidpdnJfaG9saWRheV9pZCcpOwoK
c3ViIGRvbm9yX2V2ZW50X25hbWUgewogICJJVlIgSG9saWRheSBNb2RpZmljYXRpb24iOwp9Cgpz
dWIgZG9ub3JfZXZlbnRfdGltZSB7CiAgcmV0dXJuIFwiREVGQVVMVCI7Cn0KCnN1YiBhbGxvd19k
ZWxldGUgewogIHJldHVybiAxOwp9CgoxOwoKQU5EIGxhc3RseSwgc2luY2UgSSBkbyBoYXZlIHRo
ZSBEb25vckV2ZW50IGN1c3RvbSBwbHVnaW4gdXRpbGl6ZWQgaW4gdGhlIAppdnJfaG9saWRheSB0
YWJsZSwgaGVyZSBpcyBpdHMgY29kZSwgc28gdGhhdCBpZiBpbmNsaW5lZCB5b3UgY2FuIHZlcmlm
eSAKdGhhdCBpdCBkb2Vzbid0IGFjdHVhbGx5IGFkZCBhIGdyb3VwX2lkL2dyb3VwcyBpbmZvcm1h
dGlvbiB0byB0aGUgcmVjb3JkIApvbiB0aGUgd2F5IHBhc3QuCgpwYWNrYWdlIERCSXg6OkNsYXNz
OjpEb25vckV2ZW50Owp1c2UgYmFzZSBxdyhEQkl4OjpDbGFzcyk7CnVzZSBzdHJpY3Q7CnVzZSBE
YXRhOjpEdW1wZXI7CnVzZSBDYXJwOwoKc3ViIHNldF9jb2x1bW4gewogICAgbXkgJHNlbGYgPSBz
aGlmdDsKCiAgICAkc2VsZi0+YXVkaXRfY29sdW1uX2NoYW5nZShAXyk7CgogICAgJHNlbGYtPm5l
eHQ6Om1ldGhvZCggQF8gKTsKfQoKc3ViIHN0b3JlX2NvbHVtbiB7CiAgICBteSAkc2VsZiA9IHNo
aWZ0OwoKICAgICRzZWxmLT5hdWRpdF9jb2x1bW5fY2hhbmdlKEBfKTsKCiAgICAkc2VsZi0+bmV4
dDo6bWV0aG9kKCBAXyApOwp9CgpzdWIgaW5zZXJ0IHsKICBteSAkc2VsZiA9IHNoaWZ0OwoKICBt
eSBAYTsKICBpZiAod2FudGFycmF5KSB7CiAgICBAYSA9ICRzZWxmLT5uZXh0OjptZXRob2QoQF8p
OwogIH0gZWxzaWYgKGRlZmluZWQgd2FudGFycmF5KSB7CiAgICAkYVswXSA9ICRzZWxmLT5uZXh0
OjptZXRob2QoQF8pOwogIH0gZWxzZSB7CiAgICAkc2VsZi0+bmV4dDo6bWV0aG9kKEBfKTsKICB9
CgogIG15IEByb3dzID0gJHNlbGYtPmRvbm9yX2V2ZW50X3Jvd3M7CiAgJHNlbGYtPmFkZF90b19w
cmVjb21taXQKICAgICggJ2Rvbm9yX2V2ZW50X2Zvcl9pbnNlcnRfJy4kc2VsZi0+dGFibGUuJ19p
ZF8nLiRzZWxmLT5pZAogICAgLCBzdWIgewogICAgICBmb3JlYWNoIG15ICRldmVudCAoIGdyZXAg
eyAkXy0+aXNhKCdEQjo6U2NoZW1hJykgfSBAcm93cyApIHsKICAgICAgICAkZXZlbnQtPmNyZWF0
ZV9yZWxhdGVkKCAncmF3X2NoYW5nZV9kYXRhJywgJF8gKSBmb3JlYWNoICggCkB7JHNlbGYtPnsn
cG9zc2libGVfcmF3X2NoYW5nZXMnfSB8fCBbXX0gKTsKICAgICAgICAkc2VsZi0+YXNzb2NpYXRl
X2Rvbm9yX2V2ZW50KCRldmVudCk7CiAgICAgIH0KICAgIH0gKSBpZiAoQHJvd3MpOwoKICB3YW50
YXJyYXkgPyBAYSA6ICRhWzBdOwp9CgpzdWIgYXNzb2NpYXRlX2Rvbm9yX2V2ZW50IHsKICBteSAk
c2VsZiA9IHNoaWZ0OwogIG15ICRldmVudCA9IHNoaWZ0OwojICBwcmludCBTVERFUlIgIlJPT1Qg
RE9OT1IgRVZFTlQgQVNTT0NJQVRFICRzZWxmXG4iOwogICRzZWxmLT5jcmVhdGVfcmVsYXRlZCgg
J2RlX2JyaWRnZScsIHsgZG9ub3JfZXZlbnQgPT4gJGV2ZW50IH0gKTsKfQoKc3ViIHVwZGF0ZSB7
CiAgbXkgJHNlbGYgPSBzaGlmdDsKCiAgJHNlbGYtPm5leHQ6Om1ldGhvZChAXyk7CgogIG15IEBy
b3dzID0gJHNlbGYtPmRvbm9yX2V2ZW50X3Jvd3M7CiAgJHNlbGYtPmFkZF90b19wcmVjb21taXQK
ICAgICggJ2Rvbm9yX2V2ZW50X2Zvcl91cGRhdGVfJy4kc2VsZi0+dGFibGUuJ19pZF8nLiRzZWxm
LT5pZAogICAgLCBzdWIgewogICAgICBmb3JlYWNoIG15ICRldmVudCAoIGdyZXAgeyAkXy0+aXNh
KCdEQjo6U2NoZW1hJykgfSBAcm93cyApIHsKICAgICAgICAkZXZlbnQtPmNyZWF0ZV9yZWxhdGVk
KCAncmF3X2NoYW5nZV9kYXRhJywgJF8gKSBmb3JlYWNoIAooQHskc2VsZi0+eydwb3NzaWJsZV9y
YXdfY2hhbmdlcyd9IHx8IFtdfSk7CiAgICAgIH0KICAgIH0gKTsKCiAgJHNlbGY7Cn0KCnN1YiB3
aGF0aXMgewogICAgbXkgJHYgPSBzaGlmdDsKICAgIGlmIChkZWZpbmVkKCR2KSkgewogICAgICAg
IGlmICgkdiBlcSAnJykgewogICAgICAgICAgICByZXR1cm4gJ2VtcHR5c3RyaW5nJwogICAgICAg
IH0KICAgICAgICByZXR1cm4gJHY7CiAgICB9CiAgICByZXR1cm4gJ3VuZGVmaW5lZCcKfQoKc3Vi
IGF1ZGl0X2NvbHVtbl9jaGFuZ2UgewogICAgbXkgJHNlbGYgPSBzaGlmdDsKCiAgICBteSAkY29s
dW1uID0gc2hpZnQ7CgogICAgcmV0dXJuIGlmICRzZWxmLT57J2F1ZGl0ZWQnfXskY29sdW1ufSAr
KzsKCiAgICBteSAkbmV3ID0gc2hpZnQ7CiAgICByZXR1cm4gaWYgKHJlZiAkbmV3KTsKICAgIHVu
ZGVmICRuZXcgaWYgKCRuZXcgZXEgJycpOwogICAgIyBEbyBzdHVmZiB3aXRoICRzZWxmLCBsaWtl
IHNldCBkZWZhdWx0IHZhbHVlcy4KICAgIG15ICRvbGQgPSAkc2VsZi0+Z2V0X2NvbHVtbigkY29s
dW1uKTsKCiAgICBpZiAoJGNvbHVtbiBuZSAnaWQnICYmIChkZWZpbmVkKCRvbGQpIF4gZGVmaW5l
ZCgkbmV3KSB8fCAkb2xkIG5lIAokbmV3KSkgewoKICAgICAgICBpZiAoU2FtcDo6aW5zdGFuY2Uo
KSkgewogICAgICAgICAgICB1bmxlc3MgKFNhbXA6Omluc3RhbmNlKCktPkFVVEhFRF9VU0VSKSB7
CiAgICAgICAgICAgICAgICBjYXJwICJObyBhdXRoZW50aWNhdGVkIHVzZXIgYXZhaWxhYmxlLiAg
Tm90IGF1ZGl0aW5nIApjb2x1bW4gY2hhbmdlIjsKICAgICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNhcnAgIk5vIFNhbXAgaW5z
dGFuY2UgYXZhaWxhYmxlLiAgTm90IGF1ZGl0aW5nIGNvbHVtbiBjaGFuZ2UiOwogICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgfQoKCiAgICAgICAgU2FtcDo6ZGVidWcoMzIsIHJlZigkc2VsZikg
LiAiIEF1ZGl0OiBDT0xVTU4gJGNvbHVtbiwgY2hhbmdlZCAKZnJvbSAiIC4gd2hhdGlzKCRvbGQp
IC4gIiB0byAiIC4gd2hhdGlzKCRuZXcpIC4gIlxuIik7CgogICAgICAgIHB1c2ggQHskc2VsZi0+
eydwb3NzaWJsZV9yYXdfY2hhbmdlcyd9fSwKICAgICAgICAgICAgLCAgIHsgICBzYW1wX3VzZXIg
ICAgID0+IFNhbXA6Omluc3RhbmNlKCktPkFVVEhFRF9VU0VSCiAgICAgICAgICAgICAgICAsICAg
Y2hhbmdlX3RhYmxlICA9PiAkc2VsZi0+dGFibGUoKQogICAgICAgICAgICAgICAgLCAgIGNoYW5n
ZV9jb2x1bW4gPT4gJGNvbHVtbgogICAgICAgICAgICAgICAgLCAgIGRhdGFfb2xkICAgICAgPT4g
JG9sZAogICAgICAgICAgICAgICAgLCAgIGRhdGFfbmV3ICAgICAgPT4gJG5ldwogICAgICAgICAg
ICAgICAgfQogICAgfQoKfQoKc3ViIGRvbm9yX2V2ZW50X3Jvd3MgewogICAgbXkgJHNlbGYgPSBz
aGlmdDsKICAgIHJldHVybiBAeyRzZWxmLT57J2N1cnJlbnRfZG9ub3JfZXZlbnQnfSB8fCBbXX0g
aWYgCigkc2VsZi0+eydjdXJyZW50X2Rvbm9yX2V2ZW50J30pOwogICAgdW5sZXNzIChTYW1wOjpp
bnN0YW5jZSgpKSB7CiAgICAgICAgY2FycCAiTm8gU2FtcCBpbnN0YW5jZSBhdmFpbGFibGUuICBU
aGVyZSBjYW5ub3QgYmUgYSBkb25vciBldmVudCAKcm93LiI7CiAgICAgICAgcmV0dXJuICgpOwog
ICAgICAgIHJldHVybiBTYW1wOjpOb3RoaW5nOjpEb25vci0+bmV3KCJObyBzYW1wIGluc3RhbmNl
Iik7CiAgICB9CgogICAgdW5sZXNzIChTYW1wOjppbnN0YW5jZSgpLT5BVVRIRURfVVNFUikgewog
ICAgICAgIGNhcnAgIk5vIGF1dGhlbnRpY2F0ZWQgdXNlciBhdmFpbGFibGUuICBOb3QgYXVkaXRp
bmcgY29sdW1uIGNoYW5nZSI7CiAgICAgICAgcmV0dXJuICgpOwogICAgICAgIHJldHVybiBTYW1w
OjpOb3RoaW5nOjpEb25vci0+bmV3KCJObyBBdXRoZW50aWNhdGVkIFVzZXIiKTsKICAgIH0KCiAg
ICBteSBAZG9ub3JzID0gJHNlbGYtPmRvbm9yX2V2ZW50X2Rvbm9yczsKCiAgICBmb3JlYWNoIG15
ICRkb25vciAoQGRvbm9ycykgewogICAgICBteSAkcmVsYXRlZCA9IFNhbXA6Ok5vdGhpbmc6OkRv
bm9yLT5uZXcoIk5vIERvbm9yIElEIik7CgogICAgICB1bmxlc3MgKCRkb25vci0+aWQpIHsKICAg
ICAgICBjYXJwICJObyBkb25vciBpbmZvIGF2YWlsYWJsZS4gIE5vdCBhdWRpdGluZyBjb2x1bW4g
Y2hhbmdlIAoodGFibGUgIiAuICRzZWxmLT50YWJsZSAuICIpIjsKICAgICAgfSBlbHNlIHsKICAg
ICAgICAkcmVsYXRlZCA9ICRkb25vci0+Y3JlYXRlX3JlbGF0ZWQKICAgICAgICAgICggJ2Rvbm9y
X2V2ZW50JwogICAgICAgICAgLCB7IHNhbXBfdXNlciA9PiBTYW1wOjppbnN0YW5jZSgpLT5BVVRI
RURfVVNFUgogICAgICAgICAgICAsIGV2ZW50X2NsYXNzID0+ICRzZWxmLT5kb25vcl9ldmVudF9u
YW1lKCkKICAgICAgICAgICAgLCBldmVudF90aW1lID0+ICRzZWxmLT5kb25vcl9ldmVudF90aW1l
CiAgICAgICAgICAgIH0KICAgICAgICAgICk7CiAgICAgIH0KICAgICAgcHVzaCBAeyRzZWxmLT57
J2N1cnJlbnRfZG9ub3JfZXZlbnQnfX0sICRyZWxhdGVkOwogICAgfQogICAgQHskc2VsZi0+eydj
dXJyZW50X2Rvbm9yX2V2ZW50J30gfHwgW119Owp9CgpzdWIgZG9ub3JfZXZlbnRfZG9ub3JzIHsK
ICBteSAkc2VsZiA9IHNoaWZ0OwogIG15ICRkb25vciA9ICRzZWxmLT5jYW4oJ2Rvbm9yJykgJiYg
JHNlbGYtPmRvbm9yOwogICRkb25vciB8fD0gJHNlbGYtPnRhYmxlIGVxICdkb25vcicgJiYgJHNl
bGY7CiAgJGRvbm9yIHx8PSBTYW1wOjppbnN0YW5jZSgpLT5SRVFVRVNURURfRE9OT1I7Cn0KCnN1
YiBkb25vcl9ldmVudF9uYW1lIHsKICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICBjb25mZXNzICJ1
bmtub3duIGRvbm9yIGV2ZW50IG5hbWUgaW4gY2xhc3MgJHNlbGYgLSBkZWZpbmUgbWV0aG9kIAon
ZG9ub3JfZXZlbnRfbmFtZSciOwp9CgpzdWIgZGVsZXRlIHsKICAgIG15ICRzZWxmID0gc2hpZnQ7
CiAgICBjb25mZXNzICJBdHRlbXB0IHRvIGRlbGV0ZSBhIGRvbm9yIGV2ZW50IG1vbml0b3JlZCBy
ZWNvcmQgd2hlbiBub3QgCmFsbG93ZWQhXG4iIHVubGVzcyAoJHNlbGYtPmFsbG93X2RlbGV0ZSk7
CiAgICByZXR1cm4gJHNlbGYtPm5leHQ6Om1ldGhvZCggQF8gKTsKfQoKc3ViIGFsbG93X2RlbGV0
ZSB7CiAgcmV0dXJuIFNhbXA6Omluc3RhbmNlKCktPkFVVEhFRF9VU0VSLT5pc19ub3JjaGVtOwp9
CgoxOwoKCklzIG1vcmUgY29tcGxldGVuZXNzIG5lZWRlZD8KCkRhdmlkCgoKLS0tLS0tLS0tLS0t
LS0gbmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tCkFuIEhUTUwgYXR0YWNobWVudCB3YXMgc2NydWJi
ZWQuLi4KVVJMOiBodHRwOi8vbGlzdHMuc2NzeXMuY28udWsvcGlwZXJtYWlsL2RiaXgtY2xhc3Mv
YXR0YWNobWVudHMvMjAwOTA0MjIvODM2MDM3MzQvYXR0YWNobWVudC0wMDAxLmh0bQo=


More information about the DBIx-Class mailing list