[Dbix-class] Patch for DBIx::Class::Schema::Loader to qualify relations if db_schema was passed

Dan Dascalescu ddascalescu+dbic at gmail.com
Tue Jul 1 04:12:02 BST 2008


UGxlYXNlIGZpbmQgYXQgaHR0cDovL2RhbmRhc2NhbGVzY3UuY29tL2J1Z3MvY2F0YWx5c3QvREJJ
eC1DbGFzcy1TY2hlbWEtTG9hZGVyX3BhdGNoLXF1YWxpZnlfd2l0aF9kYl9zY2hlbWEudHh0CmEg
cGF0Y2ggdGhhdCBxdWFsaWZpZXMgdGFibGUgbmFtZXMsIGluZGV4ZXMgYW5kIHNlcXVlbmNlIG5h
bWVzIHdpdGgKdGhlIHNjaGVtYSBuYW1lIGlmIGRiX3NjaGVtYSB3YXMgc3BlY2lmaWVkLiBGb3IK
c2VxdWVuY2VzLCBJIG9ubHkgaGFuZGxlZCB0aGUgUG9zdGdyZVNRTCBzeW50YXgsCm5leHR2YWwo
J3RhYmxlX2lkX3NlcSc6OnJlZ2NsYXNzKS4gY2FzdGF3YXkgYW5kIG1zdCBhbHNvIHByb2RkZWQg
bWUgdG8KYWRkIGEgQ29udHJpYnV0b3JzIHNlY3Rpb24uCgpIb3BlIHRoaXMgcGF0Y2ggZ2V0cyB1
cyBvbmUgc3RlcCBjbG9zZXIgdG8gbXVsdGktc2NoZW1hIHN1cHBvcnQsCkRhbgotLS0tLS0tLS0t
LS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0KSW5kZXg6IGxpYi9EQkl4L0NsYXNzL1NjaGVt
YS9Mb2FkZXIucG0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBsaWIvREJJeC9DbGFzcy9TY2hlbWEvTG9hZGVy
LnBtCShyZXZpc2lvbiA0NTA3KQ0KKysrIGxpYi9EQkl4L0NsYXNzL1NjaGVtYS9Mb2FkZXIucG0J
KHdvcmtpbmcgY29weSkNCkBAIC0zOCw3ICszOCw3IEBADQogICAjIC1vci0KICAgbXkgJHNjaGVt
YTEgPSAiTXk6OlNjaGVtYSI7ICRzY2hlbWExLT5jb25uZWN0aW9uKGFzIGFib3ZlKTsKIAotPWhl
YWQxIERFU0NSSVBUSU9OIAorPWhlYWQxIERFU0NSSVBUSU9OCiAKIERCSXg6OkNsYXNzOjpTY2hl
bWE6OkxvYWRlciBhdXRvbWF0ZXMgdGhlIGRlZmluaXRpb24gb2YgYQogTDxEQkl4OjpDbGFzczo6
U2NoZW1hPiBieSBzY2FubmluZyBkYXRhYmFzZSB0YWJsZSBkZWZpbml0aW9ucyBhbmQKQEAgLTg2
LDcgKzg2LDcgQEANCiAKIHN1YiBsb2FkZXJfb3B0aW9ucyB7CiAgICAgbXkgJHNlbGYgPSBzaGlm
dDsKLSAgICAKKwogICAgIG15ICVhcmdzID0gKHJlZiAkX1swXSBlcSAnSEFTSCcpID8gJXskX1sw
XX0gOiBAXzsKICAgICAkc2VsZi0+X2xvYWRlcl9hcmdzKFwlYXJncyk7CiAKQEAgLTM0MiwxMSAr
MzQyLDE4IEBADQogCiBCYXNlZCB1cG9uIHRoZSB3b3JrIG9mIElLRUJFIFRvbW9oaXJvCiAKLT1o
ZWFkMSBUSEFOSyBZT1UKKz1oZWFkMSBDT05UUklCVVRPUlMKIAotTWF0dCBTIFRyb3V0LCBhbGwg
b2YgdGhlICNkYml4LWNsYXNzIGZvbGtzLCBhbmQgZXZlcnlvbmUgd2hvJ3MgZXZlciBzZW50Ci1p
biBhIGJ1ZyByZXBvcnQgb3Igc3VnZ2VzdGlvbi4KK01hdHQgUyBUcm91dAogCitKZXNzIFJvYmlu
c29uCisKK0RhbiBEYXNjYWxlc2N1CisKK0FsbCBvZiB0aGUgI2RiaXgtY2xhc3MgZm9sa3MKKwor
RXZlcnlvbmUgd2hvJ3MgZXZlciBzZW50IGluIGEgYnVnIHJlcG9ydCBvciBzdWdnZXN0aW9uCisK
ID1oZWFkMSBMSUNFTlNFCiAKIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCkluZGV4OiBsaWIvREJJeC9D
bGFzcy9TY2hlbWEvTG9hZGVyL0Jhc2UucG0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBsaWIvREJJeC9DbGFz
cy9TY2hlbWEvTG9hZGVyL0Jhc2UucG0JKHJldmlzaW9uIDQ1MDcpDQorKysgbGliL0RCSXgvQ2xh
c3MvU2NoZW1hL0xvYWRlci9CYXNlLnBtCSh3b3JraW5nIGNvcHkpDQpAQCAtNjQyLDcgKzY0Miwx
MSBAQA0KICAgICBteSAkdGFibGVfY2xhc3MgPSAkc2VsZi0+Y2xhc3Nlcy0+eyR0YWJsZX07CiAg
ICAgbXkgJHRhYmxlX21vbmlrZXIgPSAkc2VsZi0+bW9uaWtlcnMtPnskdGFibGV9OwogCi0gICAg
JHNlbGYtPl9kYmljX3N0bXQoJHRhYmxlX2NsYXNzLCd0YWJsZScsJHRhYmxlKTsKKyAgICBpZiAo
JHNlbGYtPntkYl9zY2hlbWF9IGFuZCAkdGFibGUgIX4gL1wuLykgeworICAgICAgICAkc2VsZi0+
X2RiaWNfc3RtdCgkdGFibGVfY2xhc3MsICd0YWJsZScsICRzZWxmLT57ZGJfc2NoZW1hfS4kc2Vs
Zi0+e19uYW1lc2VwfS4kdGFibGUpCisgICAgfSBlbHNlIHsKKyAgICAgICAgJHNlbGYtPl9kYmlj
X3N0bXQoJHRhYmxlX2NsYXNzLCAndGFibGUnLCAkdGFibGUpOworICAgIH0KIAogICAgIG15ICRj
b2xzID0gJHNlbGYtPl90YWJsZV9jb2x1bW5zKCR0YWJsZSk7CiAgICAgbXkgJGNvbF9pbmZvOwpJ
bmRleDogbGliL0RCSXgvQ2xhc3MvU2NoZW1hL0xvYWRlci9EQkkucG0NCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBsaWIvREJJeC9DbGFzcy9TY2hlbWEvTG9hZGVyL0RCSS5wbQkocmV2aXNpb24gNDUwNykNCisr
KyBsaWIvREJJeC9DbGFzcy9TY2hlbWEvTG9hZGVyL0RCSS5wbQkod29ya2luZyBjb3B5KQ0KQEAg
LTcyLDcgKzcyLDcgQEANCiBzdWIgX3NldHVwIHsgfQogCiAjIFJldHVybnMgYW4gYXJyYXkgb2Yg
dGFibGUgbmFtZXMKLXN1YiBfdGFibGVzX2xpc3QgeyAKK3N1YiBfdGFibGVzX2xpc3QgewogICAg
IG15ICRzZWxmID0gc2hpZnQ7CiAKICAgICBteSAkZGJoID0gJHNlbGYtPnNjaGVtYS0+c3RvcmFn
ZS0+ZGJoOwpAQCAtMTE2LDcgKzExNiw3IEBADQogfQogCiAjIFJldHVybnMgYXJyYXlyZWYgb2Yg
cGsgY29sIG5hbWVzCi1zdWIgX3RhYmxlX3BrX2luZm8geyAKK3N1YiBfdGFibGVfcGtfaW5mbyB7
CiAgICAgbXkgKCRzZWxmLCAkdGFibGUpID0gQF87CiAKICAgICBteSAkZGJoID0gJHNlbGYtPnNj
aGVtYS0+c3RvcmFnZS0+ZGJoOwpAQCAtMTU1LDYgKzE1NSw5IEBADQogICAgIG15IEByZXR2YWw7
CiAgICAgZm9yZWFjaCBteSAkaW5kZXhfbmFtZSAoa2V5cyAlaW5kaWNlcykgewogICAgICAgICBt
eSAkaW5kZXggPSAkaW5kaWNlc3skaW5kZXhfbmFtZX07CisgICAgICAgICMgcHJlZml4IGluZGV4
IHdpdGggc2NoZW1hIG5hbWUgaWYgc3VwcGxpZWQsIHVubGVzcyBpbmRleCBpcyBhbHJlYWR5IHF1
YWxpZmllZCB3aXRoIGEgc2NoZW1hIG5hbWUKKyAgICAgICAgJGluZGV4X25hbWUgPSAkc2VsZi0+
e2RiX3NjaGVtYX0uJHNlbGYtPntfbmFtZXNlcH0uJGluZGV4X25hbWUKKyAgICAgICAgICAgIGlm
ICRzZWxmLT57ZGJfc2NoZW1hfSBhbmQgJGluZGV4X25hbWUgIX4gL1wuLzsKICAgICAgICAgcHVz
aChAcmV0dmFsLCBbICRpbmRleF9uYW1lID0+IFsKICAgICAgICAgICAgIG1hcCB7ICRpbmRleC0+
eyRffSB9CiAgICAgICAgICAgICAgICAgc29ydCBrZXlzICUkaW5kZXgKQEAgLTIxNyw3ICsyMjAs
MTcgQEANCiAgICAgICAgICAgICAgICAgJGNvbHVtbl9pbmZve2RhdGFfdHlwZX0gICA9ICRpbmZv
LT57VFlQRV9OQU1FfTsKICAgICAgICAgICAgICAgICAkY29sdW1uX2luZm97c2l6ZX0gICAgICA9
ICRpbmZvLT57Q09MVU1OX1NJWkV9OwogICAgICAgICAgICAgICAgICRjb2x1bW5faW5mb3tpc19u
dWxsYWJsZX0gICA9ICRpbmZvLT57TlVMTEFCTEV9ID8gMSA6IDA7CisKICAgICAgICAgICAgICAg
ICAkY29sdW1uX2luZm97ZGVmYXVsdF92YWx1ZX0gPSAkaW5mby0+e0NPTFVNTl9ERUZ9OworICAg
ICAgICAgICAgICAgICMgcHJlZml4IHNlcXVlbmNlcyB3aXRoIHNjaGVtYSBuYW1lIGlmIHN1cHBs
aWVkIHZpYSBkYl9zY2hlbWEKKyAgICAgICAgICAgICAgICAjIHRoaXMgb25seSBhdHRlbXB0cyB0
byBoYW5kbGUgdGhlIHNhbmUgY2FzZXMsIGUuZy4gIm5leHR2YWwoJ2FjY2Vzc2xvZ19pZF9zZXEn
OjpyZWdjbGFzcykiCisgICAgICAgICAgICAgICAgIyBpZiB0aGUgZGVmYXVsdCB2YWx1ZSBpcyBz
b21ldGhpbmcgd2Fja28gbGlrZSBuZXh0dmFsKCd0YWJsZTFfaWRfc2VxJzo6cmVnY2xhc3MpICsg
bmV4dHZhbCgndGFibGUyX2lkX3NlcSc6OnJlZ2NsYXNzKSwgdG91Z2ggbHVjaworICAgICAgICAg
ICAgICAgIGlmICgkc2VsZi0+e2RiX3NjaGVtYX0gYW5kIGRlZmluZWQgJGNvbHVtbl9pbmZve2Rl
ZmF1bHRfdmFsdWV9KSB7CisgICAgICAgICAgICAgICAgICAgICRjb2x1bW5faW5mb3tkZWZhdWx0
X3ZhbHVlfSA9fiBze15uZXh0dmFsXCgoWyciXSkoW14nIi5dKylcMX17CisgICAgICAgICAgICAg
ICAgICAgICAgICAnbmV4dHZhbCgnIC4gJDEgLiAkc2VsZi0+e2RiX3NjaGVtYX0gLiAkc2VsZi0+
e19uYW1lc2VwfSAuICQyIC4gJDEKKyAgICAgICAgICAgICAgICAgICAgfXhlaTsKKyAgICAgICAg
ICAgICAgICB9CisKICAgICAgICAgICAgICAgICBteSAkY29sX25hbWUgPSAkaW5mby0+e0NPTFVN
Tl9OQU1FfTsKICAgICAgICAgICAgICAgICAkY29sX25hbWUgPX4gcy9eXCIoLiopXCIkLyQxLzsK
IApJbmRleDogQ2hhbmdlcw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIENoYW5nZXMJKHJldmlzaW9uIDQ1MDcp
DQorKysgQ2hhbmdlcwkod29ya2luZyBjb3B5KQ0KQEAgLTIsNiArMiw4IEBADQogCiAwLjA0MDA2
IE5vdCBZZXQgUmVsZWFzZWQKICAgICAgICAgLSBGaXggT3JhY2xlIGNvbnN0cmFpbnQgZGV0ZWN0
aW9uIGZvciBub24tb3duZWQgc2NoZW1hcyAoUlQgIzM1NzMyKQorICAgICAgICAtIHF1YWxpZmll
ZCB0YWJsZXMsIHNlcXVlbmNlcyBhbmQgdW5pcXVlIGNvbnN0cmFpbnRzCisgICAgICAgICAgd2l0
aCBzY2hlbWEgbmFtZSBpZiBzdXBwbGllZCB2aWEgZGJfc2NoZW1hIChEYW4gRGFzY2FsZXNjdSkK
IAogMC4wNDAwNSBTYXQgQXByIDA1LCAyMDA4CiAgICAgICAgIC0gRml4IERCMiBzdXBwb3J0CkBA
IC03Myw3ICs3NSw3IEBADQogICAgICAgICAtIFdvcmthcm91bmQgZm9yIG5ldyBpbmNvbXBhdGli
bGUgY2hhbmdlcyBpbiBEQkQ6Om15c3FsJ3MgInRhYmxlcyIKICAgICAgICAgICBtZXRob2QsIHdo
aWNoIHdhcyBjYXVzaW5nIHVzIHRvIGZpbmQgbm8gdGFibGVzIHcvIERCRDo6bXlzcWwKICAgICAg
ICAgICA0LjAwMisKLSAgICAgICAgLSBGaXhlZCBxdW90aW5nIHByb2JsZW0gaW4gX3RhYmxlX2Nv
bHVtbnMgKGNvdWxkIGNhdXNlIGNyYXNoIHdoZW4gCisgICAgICAgIC0gRml4ZWQgcXVvdGluZyBw
cm9ibGVtIGluIF90YWJsZV9jb2x1bW5zIChjb3VsZCBjYXVzZSBjcmFzaCB3aGVuCiAgICAgICAg
ICAgZHVtcGluZy9kb2luZyBhIHN0YXRpYyBjcmVhdGUpIChmcm9tIGFzaCkKIAogMC4wMzAwOSBX
ZWQgTm92IDE1IDE0OjAzOjM3IFVUQyAyMDA2Cg==


More information about the DBIx-Class mailing list