Re: [CDBI] add_column - bug or feature?

[prev] [thread] [next] [Date index for 2006/01/09]

From: Peter Speltz
Subject: Re: [CDBI] add_column - bug or feature?
Date: 18:42 on 09 Jan 2006
------=_Part_1804_32940439.1136832175164
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On 1/9/06, Kate Yoak <kate@xxxxxxxxx.xxx> wrote:
>

> $class->__grouper->add_group(TEMP =3D> $accessor);
> I swiped this from Relationship::IsA whose code hasn't change as far as I
> can tell - and it probably fails too.
>

I thought this was  strange too. Not sure whether this is a bug of
feature. I think is is preparation for the future versions where
column objects will be powerful tools (if I understand the direction
CDBI is heading correctly)  I have just  taken over IsA and have a
patched version  I have been using on CDBI 3.12.  I am about to take
all the debugging statements out or  make them optional is probably
more like it because I'm sure i will need them sometime.  Attached is
the patched version and let me know if it does not work for 3.13 .
Also email me if you want an IsA version without the debugging
statements. It may be a week before I have it on an SVN server .


> Cheers,
> Kate
> _______________________________________________
> ClassDBI mailing list
> ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx
> http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi
>
>
>


--
pjs

------=_Part_1804_32940439.1136832175164
Content-Type: application/x-perl; name="IsA.pm"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="IsA.pm"

cGFja2FnZSBDbGFzczo6REJJOjpSZWxhdGlvbnNoaXA6OklzQTsKCnByaW50ICJcblVzaW5nICpQ
YXRjaGVkKiAgIENsYXNzOjpEQkk6OlJlbGF0aW9uc2hpcDo6SXNBIC4gSXQgaXMgcHJvYmFibHkg
aW4gL3Vzci9saWIvcGVybDUvb3VyX3BlcmxcbiI7CgoKPWhlYWQxIE5BTUUKCkNsYXNzOjpEQkk6
OlJlbGF0aW9uc2hpcDo6SXNBIC0gQSBDbGFzczo6REJJIG1vZHVsZSBmb3IgJ0lzIEEnIHJlbGF0
aW9uc2hpcHMKCj1oZWFkMSBERVNDUklQVElPTgoKQ2xhc3M6OkRCSTo6UmVsYXRpb25zaGlwOjpJ
c0EgUHJvdmlkZXMgYW4gSXMgQSByZWxhdGlvbnNoaXAgYmV0d2VlbiBDbGFzczo6REJJIGNsYXNz
ZXMvdGFibGVzLgoKQnkgdXNpbmcgdGhpcyBtb2R1bGUgeW91IGNhbiBlbXVsYXRlIHNvbWUgZmVh
dHVyZXMgb2YgaW5oZXJpdGFuY2UgYm90aCB3aXRoaW4geW91ciBkYXRhYmFzZSBhbmQgY2xhc3Nl
cyB0aHJvdWdoIHRoZSBDbGFzczo6REJJIEFQSS4KCk5PVEU6IFRoaXMgbW9kdWxlIGlzIHN0aWxs
IGV4cGVyaW1lbnRhbCwgc2V2ZXJhbCB2ZXJ5IG5hc3R5IGJ1Z3MgaGF2ZSBiZWVuIGZvdW5kIChh
bmQgZml4ZWQpIG90aGVycyBtYXkgc3RpbGwgYmUgbHVya2luZyAtIHNlZSBDQVZFQVRTIEFORCBC
VUdTIGJlbG93LgoKV2FybmluZyBXaWxsIFJvYmluc29uIQoKPWhlYWQxIFNZTk9QU0lTCgpJbiB5
b3VyIGRhdGFiYXNlIChhc3N1bWluZyBteXNxbCk6CgogY3JlYXRlIHRhYmxlIHBlcnNvbiAoCiAg
IHBlcnNvbmlkIGludCBwcmltYXJ5IGtleSBhdXRvX2luY3JlbWVudCwKICAgZmlyc3RuYW1lIHZh
cmNoYXIoMzIpLAogICBpbml0aWFscyB2YXJjaGFyKDE2KSwKICAgc3VybmFtZSB2YXJjaGFyKDY0
KSwKICAgZGF0ZV9vZl9iaXJ0aCBkYXRldGltZQogKTsKCiBjcmVhdGUgdGFibGUgYXJ0aXN0ICgK
ICAgYXJ0aXN0aWQgaW50IHByaW1hcnkga2V5IGF1dG9faW5jcmVtZW50LAogICBhbGlhcyB2YXJj
aGFyKDEyOCksCiAgIHBlcnNvbiBpbnQKICk7CgoKSW4geW91ciBjbGFzc2VzOgoKIHBhY2thZ2Ug
TXVzaWM6OkRCSTsKIHVzZSBiYXNlICdDbGFzczo6REJJJzsKCiBNdXNpYzo6REJJLT5jb25uZWN0
aW9uKCdkYmk6bXlzcWw6ZGJuYW1lJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJyk7CiBfX1BBQ0tB
R0VfXy0+YWRkX3JlbGF0aW9uc2hpcF90eXBlKGlzX2EgPT4gJ0NsYXNzOjpEQkk6OlJlbGF0aW9u
c2hpcDo6SXNBJyk7CgpTdXBlcmNsYXNzOgoKIHBhY2thZ2UgTXVzaWM6OlBlcnNvbjsKIHVzZSBi
YXNlICdNdXNpYzo6REJJJzsKCiBNdXNpYzo6UGVyc29uLT50YWJsZSgncGVyc29uJyk7CiBNdXNp
Yzo6UGVyc29uLT5jb2x1bW5zKEFsbCA9PiBxdy9wZXJzb25pZCBmaXJzdG5hbWUgaW5pdGlhbHMg
c3VybmFtZSBkYXRlX29mX2JpcnRoLyk7CiBNdXNpYzo6UGVyc29uLT5jb2x1bW5zKFByaW1hcnkg
PT4gcXcvcGVyc29uaWQvKTsgIyBHb29kIHByYWN0aWNlLCBsZXNzIGxpa2VseSB0byBicmVhayBJ
c0EKCkNoaWxkIGNsYXNzOgoKIHBhY2thZ2UgTXVzaWM6OkFydGlzdDsKIHVzZSBiYXNlICdNdXNp
Yzo6REJJJzsKIHVzZSBNdXNpYzo6UGVyc29uOyAjIHJlcXVpcmVkIGZvciBhY2Nlc3MgdG8gTXVz
aWM6OlBlcnNvbiBtZXRob2RzCgogTXVzaWM6OkFydGlzdC0+dGFibGUoJ2FydGlzdCcpOwogTXVz
aWM6OkFydGlzdC0+Y29sdW1ucyhBbGwgPT4gcXcvYXJ0aXN0aWQgYWxpYXMvKTsKIE11c2ljOjpQ
ZXJzb24tPmNvbHVtbnMoUHJpbWFyeSA9PiBxdy9wZXJzb25pZC8pOyAjIEdvb2QgcHJhY3RpY2Us
IGxlc3MgbGlrZWx5IHRvIGJyZWFrIElzQQogTXVzaWM6OkFydGlzdC0+aGFzX21hbnkoY2RzID0+
ICdNdXNpYzo6Q0QnKTsKIE11c2ljOjpBcnRpc3QtPmlzX2EocGVyc29uID0+ICdQZXJzb24nKTsg
IyBNdXNpYzo6QXJ0aXN0IGluaGVyaXRzIGFjY2Vzc29ycyBmcm9tIE11c2ljOjpQZXJzb24KCi4u
LiBlbHNld2hlcmUgLi4uCgogdXNlIE11c2ljOjpBcnRpc3Q7CiBteSAkYXJ0aXN0ID0gTXVzaWM6
OkFydGlzdC0+Y3JlYXRlKCB7Zmlyc3RuYW1lPT4nU2FyYWgnLCBzdXJuYW1lPT4nR2VsbGVyJywg
YWxpYXM9PidCdWZmeSd9KTsKICRhcnRpc3QtPmluaXRpYWxzKCdNJyk7CiAkYXJ0aXN0LT51cGRh
dGUoKTsKCj1jdXQKCnVzZSBzdHJpY3Q7Cm91ciAkVkVSU0lPTiA9ICcwLjA1JzsKCnVzZSB3YXJu
aW5nczsKdXNlIGJhc2UgcXcoIENsYXNzOjpEQkk6OlJlbGF0aW9uc2hpcCApOwp1c2UgQ2xhc3M6
OkRCSTo6QWJzdHJhY3RTZWFyY2g7Cgp1c2UgRGF0YTo6RHVtcGVyOwoKc3ViIHJlbWFwX2FyZ3Vt
ZW50cyB7CiAgICBteSAkcHJvdG8gPSBzaGlmdDsKICAgIG15ICRjbGFzcyA9IHNoaWZ0OwogICAg
JGNsYXNzLT5faW52YWxpZF9vYmplY3RfbWV0aG9kKCdpc19hKCknKSBpZiByZWYgJGNsYXNzOwog
ICAgbXkgJGNvbHVtbiA9ICRjbGFzcy0+ZmluZF9jb2x1bW4oc2hpZnQpCglvciByZXR1cm4gJGNs
YXNzLT5fY3JvYWsoImlzX2EgbmVlZHMgYSB2YWxpZCBjb2x1bW4iKTsKICAgIG15ICRmX2NsYXNz
ID0gc2hpZnQKCW9yICRjbGFzcy0+X2Nyb2FrKCIkY2xhc3MgJGNvbHVtbiBuZWVkcyBhbiBhc3Nv
Y2lhdGVkIGNsYXNzIik7CiAgICBteSAlbWV0aHMgPSBAXzsKICAgIG15IEBmX2NvbHM7CiAgICBm
b3JlYWNoIG15ICRmX2NvbCAoJGZfY2xhc3MtPmFsbF9jb2x1bW5zKSB7CglwdXNoIEBmX2NvbHMs
ICRmX2NvbAoJICAgIHVubGVzcyAkZl9jb2wgZXEgJGZfY2xhc3MtPnByaW1hcnlfY29sdW1uOwog
ICAgfQogICAgJGNsYXNzLT5fX2dyb3VwZXItPmFkZF9ncm91cChURU1QID0+IG1hcCB7ICRfIH0g
QGZfY29scyk7CiAgICAkY2xhc3MtPl9fZ3JvdXBlci0+YWRkX2dyb3VwKF9fSU5IRVJJVEVEID0+
IG1hcCB7ICRfIH0gQGZfY29scyk7CiAgICAkY2xhc3MtPm1rX2NsYXNzZGF0YSgnX19pc2FfcmVs
cycpOwogICAgJGNsYXNzLT5fX2lzYV9yZWxzKHsgfSk7CiAgICByZXR1cm4gKCRjbGFzcywgJGNv
bHVtbiwgJGZfY2xhc3MsIFwlbWV0aHMpOwp9CgpzdWIgdHJpZ2dlcnMgewogICAgbXkgJHNlbGYg
PSBzaGlmdDsKICAgICRzZWxmLT5jbGFzcy0+X3JlcXVpcmVfY2xhc3MoJHNlbGYtPmZvcmVpZ25f
Y2xhc3MpOwogICAgbXkgJGNvbHVtbiA9ICRzZWxmLT5hY2Nlc3NvcjsKICAgIHJldHVybiAoCgkg
ICAgc2VsZWN0ICAgICAgICA9PiAkc2VsZi0+X2luZmxhdG9yLAoJICAgIGJlZm9yZV9jcmVhdGUg
PT4gJHNlbGYtPl9jcmVhdG9yLAogICAgICAgICAgICBiZWZvcmVfdXBkYXRlID0+IHN1YiB7CiAg
ICAgICAgICAgICAgICBpZiAobXkgJGZfb2JqID0gJF9bMF0tPiRjb2x1bW4oKSkgeyAkZl9vYmot
PnVwZGF0ZSB9CiAgICAgICAgICAgIH0sCgogICAgKTsKfQoKc3ViIG1ldGhvZHMgewogICAgbXkg
JHNlbGYgPSBzaGlmdDsKICAgICRzZWxmLT5jbGFzcy0+X3JlcXVpcmVfY2xhc3MoJHNlbGYtPmZv
cmVpZ25fY2xhc3MpOwoKICAgIG15ICRmb3JlaWduX2NsYXNzID0gJHNlbGYtPmZvcmVpZ25fY2xh
c3M7CiAgICBteSAkY2xhc3MgPSAkc2VsZi0+Y2xhc3M7CiAgICB3YXJuICJmb3JlaWduIGNsYXNz
IDogJGZvcmVpZ25fY2xhc3NcbiI7CgogICAgd2FybiAiZ2V0dGluZyByZWxhdGlvbnNoaXBzLi5c
biI7CgoKICAgIG15ICRwYXJlbnRfcmVsYXRpb25fZmllbGRzID0gJHNlbGYtPl9pbmplY3RfaW5o
ZXJpdGVkX3JlbGF0aW9uc2hpcHMoY2xhc3M9PiRjbGFzcywgZm9yZWlnbj0+JGZvcmVpZ25fY2xh
c3MpOwoKICAgIG15ICRmb3JiaWRkZW5fZmllbGRzID0gIihpZHwke2NsYXNzfV8/dT9pZCI7CiAg
ICAkZm9yYmlkZGVuX2ZpZWxkcyAuPSAoJGZvcmVpZ25fY2xhc3MtPmNvbHVtbnMoJ1ByaW1hcnkn
KSkgPyAnfCcgLiAkZm9yZWlnbl9jbGFzcy0+Y29sdW1ucygnUHJpbWFyeScpIC4nKScgOiAnKScg
OwogICAgd2FybiAiZm9yYmlkZGVuX2ZpZWxkcyA6ICRmb3JiaWRkZW5fZmllbGRzXG4iOwoKICAg
IG15ICVtZXRob2RzOwogICAgbXkgJGFjY19uYW1lID0gJHNlbGYtPmFjY2Vzc29yLT5uYW1lOwog
ICAgZm9yZWFjaCBteSAkZl9jb2wgKCRzZWxmLT5mb3JlaWduX2NsYXNzLT5hbGxfY29sdW1ucykg
ewogICAgICAgIHdhcm4gImZfY29sIDogJGZfY29sLCBhY2NfbmFtZSA6ICRhY2NfbmFtZVxuIjsK
ICAgICAgICBuZXh0IGlmICgkZl9jb2wgZXEgJGFjY19uYW1lIG9yICRmX2NvbCA9fiAvJGZvcmJp
ZGRlbl9maWVsZHMvaSBvciAkcGFyZW50X3JlbGF0aW9uX2ZpZWxkcy0+eyRmX2NvbH0pOwoJaWYg
KCRjbGFzcy0+Y2FuKCdwdXJlX2FjY2Vzc29yX25hbWUnKSkgewoJICAgICMgcHJvdmlkZSBzZXBl
cmF0ZSByZWFkL3dyaXRlIGFjY2Vzc29yLCByZWFkIG9ubHkgYWNjZXNzb3IgYW5kIHdyaXRlIG9u
bHkgbXV0YXRvcgoJICAgICRtZXRob2Rze3VjZmlyc3QoJGNsYXNzLT5wdXJlX2FjY2Vzc29yX25h
bWUoJGZfY29sKSl9CgkJPSAkbWV0aG9kc3skY2xhc3MtPnB1cmVfYWNjZXNzb3JfbmFtZSgkZl9j
b2wpfSA9ICRzZWxmLT5fZ2V0X21ldGhvZHMoJGFjY19uYW1lLCAkZl9jb2wsJ3JvJyk7CgkgICAg
JG1ldGhvZHN7dWNmaXJzdCgkY2xhc3MtPm11dGF0b3JfbmFtZV9mb3IoJGZfY29sKSl9CgkJPSAk
bWV0aG9kc3skY2xhc3MtPm11dGF0b3JfbmFtZV9mb3IoJGZfY29sKX0gPSAkc2VsZi0+X2dldF9t
ZXRob2RzKCRhY2NfbmFtZSwgJGZfY29sLCd3bycpOwoJICAgICRtZXRob2Rze3VjZmlyc3QoJGNs
YXNzLT5hY2Nlc3Nvcl9uYW1lX2ZvcigkZl9jb2wpKX0KCQk9ICRtZXRob2RzeyRjbGFzcy0+YWNj
ZXNzb3JfbmFtZV9mb3IoJGZfY29sKX0gPSAkc2VsZi0+X2dldF9tZXRob2RzKCRhY2NfbmFtZSwg
JGZfY29sLCdydycpOwoJfSBlbHNlIHsKCSAgICBpZiAoICRjbGFzcy0+bXV0YXRvcl9uYW1lX2Zv
cigkZl9jb2wpIGVxICRjbGFzcy0+YWNjZXNzb3JfbmFtZV9mb3IoJGZfY29sKSApIHsKCQkjIHBy
b3ZpZGUgcmVhZC93cml0ZSBhY2Nlc3NvcgoJCSRtZXRob2Rze3VjZmlyc3QoJGNsYXNzLT5hY2Nl
c3Nvcl9uYW1lX2ZvcigkZl9jb2wpKX0KCQkgICAgPSAkbWV0aG9kc3skY2xhc3MtPmFjY2Vzc29y
X25hbWVfZm9yKCRmX2NvbCl9ID0gJHNlbGYtPl9nZXRfbWV0aG9kcygkYWNjX25hbWUsICRmX2Nv
bCwncncnKTsKCSAgICB9IGVsc2UgewoJCSMgcHJvdmlkZSBzZXBlcmF0ZSByZWFkIG9ubHkgYWNj
ZXNzb3IgYW5kIHdyaXRlIG9ubHkgbXV0YXRvcgoJCSRtZXRob2Rze3VjZmlyc3QoJGNsYXNzLT5h
Y2Nlc3Nvcl9uYW1lX2ZvcigkZl9jb2wpKX0KCQkgICAgPSAkbWV0aG9kc3skY2xhc3MtPmFjY2Vz
c29yX25hbWVfZm9yKCRmX2NvbCl9ID0gJHNlbGYtPl9nZXRfbWV0aG9kcygkYWNjX25hbWUsICRm
X2NvbCwncm8nKTsKCQkkbWV0aG9kc3t1Y2ZpcnN0KCRjbGFzcy0+bXV0YXRvcl9uYW1lX2Zvcigk
Zl9jb2wpKX0KCQkgICAgPSAkbWV0aG9kc3skY2xhc3MtPm11dGF0b3JfbmFtZV9mb3IoJGZfY29s
KX0gPSAkc2VsZi0+X2dldF9tZXRob2RzKCRhY2NfbmFtZSwgJGZfY29sLCd3bycpOwoJICAgIH0K
CX0KICAgIH0KCiAgICAkbWV0aG9kc3tzZWFyY2hfd2hlcmV9ID0gJHNlbGYtPnNlYXJjaF93aGVy
ZSBpZiAkc2VsZi0+Y2xhc3MtPmNhbignc2VhcmNoX3doZXJlJyk7CgogICAgcmV0dXJuKAoJICAg
JW1ldGhvZHMsCgkgICBzZWFyY2ggICAgICA9PiAkc2VsZi0+c2VhcmNoLAoJICAgc2VhcmNoX2xp
a2UgPT4gJHNlbGYtPnNlYXJjaF9saWtlLAoJICAgYWxsX2NvbHVtbnMgPT4gJHNlbGYtPmFsbF9j
b2x1bW5zLAoJICApOwp9CgpzdWIgc2VhcmNoIHsKICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICBt
eSAkU1VQRVIgPSAkc2VsZi0+Zm9yZWlnbl9jbGFzczsKICAgIG15ICRjb2wgPSAkc2VsZi0+YWNj
ZXNzb3I7CiAgICB7CglubyBzdHJpY3QgInJlZnMiOwoJKnskc2VsZi0+Y2xhc3MuIjo6b3JpZ19z
ZWFyY2gifSA9IFwmeyJDbGFzczo6REJJOjpzZWFyY2gifTsKICAgIH0KICAgIHJldHVybiBzdWIg
ewogICAgICAgIG15ICgkc2VsZiwgJWFyZ3MpID0gKEBfKTsKICAgICAgICBteSAoJWNoaWxkLCAl
cGFyZW50KTsKICAgICAgICBmb3JlYWNoIG15ICRrZXkgKGtleXMgJWFyZ3MpIHsKICAgICAgICAg
ICAgJGNoaWxkeyRrZXl9ID0gJGFyZ3N7JGtleX0gaWYgJHNlbGYtPmhhc19yZWFsX2NvbHVtbigk
a2V5KTsKICAgICAgICAgICAgJHBhcmVudHska2V5fSA9ICRhcmdzeyRrZXl9IGlmICRTVVBFUi0+
aGFzX3JlYWxfY29sdW1uKCRrZXkpOwogICAgICAgIH0KICAgICAgICBpZiglcGFyZW50KSB7CgkJ
CSMgcGpzIFRPRE8gLS0gam9pbiBhbmQgY29uc3RydWN0IG1heWJlID8gCiAgICAgICAgICAgIHJl
dHVybiBtYXAgeyAkc2VsZi0+b3JpZ19zZWFyY2goJGNvbCA9PiAkXy0+aWQsICVjaGlsZCkKCQkJ
IH0gJFNVUEVSLT5zZWFyY2goJXBhcmVudCk7Cgl9IGVsc2UgewoJICAgIHJldHVybiAkc2VsZi0+
b3JpZ19zZWFyY2goJWNoaWxkKTsKCX0KICAgIH07Cn0KCnN1YiBzZWFyY2hfbGlrZSB7CiAgICBt
eSAkc2VsZiA9IHNoaWZ0OwogICAgbXkgJFNVUEVSID0gJHNlbGYtPmZvcmVpZ25fY2xhc3M7CiAg
ICBteSAkY29sID0gJHNlbGYtPmFjY2Vzc29yOwogICAgewoJbm8gc3RyaWN0ICJyZWZzIjsKCSp7
JHNlbGYtPmNsYXNzLiI6Om9yaWdfc2VhcmNoX2xpa2UifSA9IFwmeyJDbGFzczo6REJJOjpzZWFy
Y2hfbGlrZSJ9OwogICAgfQogICAgcmV0dXJuIHN1YiB7CiAgICAgICAgbXkgKCRzZWxmLCAlYXJn
cykgPSAoQF8pOwogICAgICAgIG15ICglY2hpbGQsICVwYXJlbnQpOwogICAgICAgIGZvcmVhY2gg
bXkgJGtleSAoa2V5cyAlYXJncykgewogICAgICAgICAgICAkY2hpbGR7JGtleX0gPSAkYXJnc3sk
a2V5fSBpZiAkc2VsZi0+aGFzX3JlYWxfY29sdW1uKCRrZXkpOwogICAgICAgICAgICAkcGFyZW50
eyRrZXl9ID0gJGFyZ3N7JGtleX0gaWYgJFNVUEVSLT5oYXNfcmVhbF9jb2x1bW4oJGtleSk7CiAg
ICAgICAgfQogICAgICAgIGlmKCVwYXJlbnQpIHsKICAgICAgICAgICAgcmV0dXJuIG1hcCB7ICRz
ZWxmLT5vcmlnX3NlYXJjaF9saWtlKCRjb2wgPT4gJF8tPmlkLCAlY2hpbGQpCiAgICAgICAgICAg
ICAgICAgICAgICAgfSAkU1VQRVItPnNlYXJjaF9saWtlKCVwYXJlbnQpOwogICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgIHJldHVybiAkc2VsZi0+b3JpZ19zZWFyY2hfbGlrZSglY2hpbGQpOwog
ICAgICAgIH0KICAgIH07Cn0KCnN1YiBzZWFyY2hfd2hlcmUgewogICAgbXkgJHNlbGYgPSBzaGlm
dDsKICAgIG15ICRTVVBFUiA9ICRzZWxmLT5mb3JlaWduX2NsYXNzOwogICAgbXkgJGNvbCA9ICRz
ZWxmLT5hY2Nlc3NvcjsKICAgIHsKICAgICAgICBubyBzdHJpY3QgInJlZnMiOwogICAgICAgICp7
JHNlbGYtPmNsYXNzLiI6Om9yaWdfc2VhcmNoX3doZXJlIn0gPSBcJnsiQ2xhc3M6OkRCSTo6QWJz
dHJhY3RTZWFyY2g6OnNlYXJjaF93aGVyZSJ9OwogICAgfQoKICAgIHJldHVybiBzdWIgewogICAg
ICAgIG15ICgkc2VsZiwgJWFyZ3MpID0gKEBfKTsKICAgICAgICBteSAoJWNoaWxkLCAlcGFyZW50
KTsKICAgICAgICBmb3JlYWNoIG15ICRrZXkgKGtleXMgJWFyZ3MpIHsKICAgICAgICAgICAgJGNo
aWxkeyRrZXl9ID0gJGFyZ3N7JGtleX0gaWYgJHNlbGYtPmhhc19yZWFsX2NvbHVtbigka2V5KTsK
ICAgICAgICAgICAgJHBhcmVudHska2V5fSA9ICRhcmdzeyRrZXl9IGlmICRTVVBFUi0+aGFzX3Jl
YWxfY29sdW1uKCRrZXkpOwogICAgICAgIH0KICAgICAgICBpZiglcGFyZW50KSB7CiAgICAgICAg
ICAgIHJldHVybiBtYXAgeyAkc2VsZi0+b3JpZ19zZWFyY2hfd2hlcmUoJGNvbC0+bmFtZSA9PiAk
Xy0+aWQsICVjaGlsZCkKCQkJIH0gJFNVUEVSLT5zZWFyY2hfd2hlcmUoJXBhcmVudCk7CiAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICRzZWxmLT5vcmlnX3NlYXJjaF93aGVyZSgl
Y2hpbGQpOwogICAgICAgIH0KICAgIH07Cn0KCnN1YiBhbGxfY29sdW1ucyB7CiAgICBteSAkc2Vs
ZiA9IHNoaWZ0OwogICAgbXkgJFNVUEVSID0gJHNlbGYtPmZvcmVpZ25fY2xhc3M7CiAgICBteSAk
Y29sID0gJHNlbGYtPmFjY2Vzc29yOwogICAgewoJbm8gc3RyaWN0ICJyZWZzIjsKCSp7JHNlbGYt
PmNsYXNzLiI6Om9yaWdfYWxsX2NvbHVtbnMifSA9IFwmeyJDbGFzczo6REJJOjphbGxfY29sdW1u
cyJ9OwogICAgfQogICAgcmV0dXJuIHN1YiB7CglteSAkc2VsZiA9IHNoaWZ0OwoJcmV0dXJuICgk
c2VsZi0+b3JpZ19hbGxfY29sdW1ucywgJHNlbGYtPmNvbHVtbnMoJ1RFTVAnKSk7CiAgICB9Owp9
CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnN1YiBfaW5qZWN0X2luaGVyaXRlZF9yZWxhdGlv
bnNoaXBzIHsKICBteSAoJHNlbGYsJXBhcmFtcykgPSBAXzsKICBteSAkY2xhc3MgPSAkcGFyYW1z
e2NsYXNzfTsKICBteSAkZm9yZWlnbl9jbGFzcyA9ICRwYXJhbXN7Zm9yZWlnbn07CiAgbXkgJGZp
ZWxkcyA9IHt9OwoKICBteSAlY3VycmVudF9yZWxhdGlvbnNoaXBzID0gKCk7CgogIGlmICgkY2xh
c3MtPmNhbignbWV0YV9pbmZvJykpIHsKICAgIHdhcm4gImNsYXNzIGhhcyBtZXRhX2luZm8gIjsK
ICAgICMgd2FybiBEdW1wZXIoJGNsYXNzLT5tZXRhX2luZm8pOwogICAgbXkgJG1ldGFfaW5mbyA9
ICRjbGFzcy0+bWV0YV9pbmZvOwogICAgZm9yZWFjaCBteSAkcmVsYXRpb25fdHlwZSAoIGtleXMg
JSRtZXRhX2luZm8gKSB7CiAgICAgIG5leHQgaWYgKCRyZWxhdGlvbl90eXBlIGVxICdpc19hJyk7
CiAgICAgIGZvcmVhY2ggbXkgJHJlbG5hbWUgKGtleXMgJXskbWV0YV9pbmZvLT57JHJlbGF0aW9u
X3R5cGV9fSkgewoJJGN1cnJlbnRfcmVsYXRpb25zaGlwc3skcmVsbmFtZX0gPSAxOwogICAgICB9
CiAgICB9CiAgfQoKICBpZiAoJGZvcmVpZ25fY2xhc3MtPmNhbignbWV0YV9pbmZvJykpIHsKICAg
IHdhcm4gImZvcmVpZ24gY2xhc3MgaGFzIG1ldGFfaW5mbyAiOwogICAgIyB3YXJuIER1bXBlcigk
Y2xhc3MtPm1ldGFfaW5mbyk7CiAgICBteSAkbWV0YV9pbmZvID0gJGZvcmVpZ25fY2xhc3MtPm1l
dGFfaW5mbzsKICAgIGZvcmVhY2ggbXkgJHJlbGF0aW9uX3R5cGUgKCBrZXlzICUkbWV0YV9pbmZv
ICkgewogICAgICBuZXh0IGlmICgkcmVsYXRpb25fdHlwZSBlcSAnaXNfYScpOwogICAgICBmb3Jl
YWNoIG15ICRyZWxuYW1lIChrZXlzICV7JG1ldGFfaW5mby0+eyRyZWxhdGlvbl90eXBlfX0pIHsK
CXdhcm4gImFkZGluZyBuZXcgcmVsYXRpb25zaGlwIDogJHJlbG5hbWUgXG4iOwoJJGZpZWxkcy0+
eyRyZWxuYW1lfSA9IDE7Cgkkc2VsZi0+X2luamVjdF9pbmhlcml0ZWRfbWV0aG9kKCRjbGFzcywg
JHJlbG5hbWUpOwogICAgICB9CiAgICB9CiAgfQogIHJldHVybiAkZmllbGRzOwp9CgpzdWIgX2lu
amVjdF9pbmhlcml0ZWRfbWV0aG9kIHsKICBteSAoJHNlbGYsJGNsYXNzLCRhY2Nlc3Nvcl9uYW1l
KSA9IEBfOwogIG15ICRwYXJlbnRfYWNjZXNzb3IgPSAkc2VsZi0+YWNjZXNzb3I7CiAgbXkgJG1l
dGhvZCA9IHN1YiB7CiAgICB3YXJuICJpbmplY3RlZCBtZXRob2QgJGFjY2Vzc29yX25hbWUgLCBj
YWxsaW5nICRhY2Nlc3Nvcl9uYW1lIG9uIHBhcmVudCB2aWEgJHBhcmVudF9hY2Nlc3NvciBcbiI7
CiAgICB3YXJuICIuLmNhbGxlZCB3aXRoIGFyZ3MgIiwgam9pbignLCAnLEBfKSwgIlxuIjsKICAg
IG15ICgkc2VsZiwgQGFyZ3MpID0gQF87CiAgICAkc2VsZi0+JHBhcmVudF9hY2Nlc3Nvci0+JGFj
Y2Vzc29yX25hbWUoQGFyZ3MpOwogIH07CiAgewogICAgbm8gc3RyaWN0ICJyZWZzIjsKICAgICp7
IiR7Y2xhc3N9Ojoke2FjY2Vzc29yX25hbWV9In0gPSAkbWV0aG9kOwogIH0KfQoKc3ViIF9jcmVh
dG9yIHsKICAgIG15ICRwcm90byA9IHNoaWZ0OwogICAgbXkgJGNvbCA9ICRwcm90by0+YWNjZXNz
b3I7CgogICAgcmV0dXJuIHN1YiB7CglteSAkc2VsZiA9IHNoaWZ0OwoJbXkgJG1ldGEgPSAkc2Vs
Zi0+bWV0YV9pbmZvKGlzX2EgPT4gJGNvbCk7CglteSAkZl9jbGFzcyA9ICRtZXRhLT5mb3JlaWdu
X2NsYXNzOwoKCW15ICRoYXNoID0geyB9OwoKCWZvcmVhY2ggKCRzZWxmLT5fX2dyb3VwZXItPmdy
b3VwX2NvbHMoJ1RFTVAnKSkgewoJICAgIG5leHQgdW5sZXNzIGRlZmluZWQoJHNlbGYtPl9hdHRy
cygkXykpOwoJICAgICRoYXNoLT57JF99ID0gJHNlbGYtPl9hdHRycygkXyk7Cgl9CglteSAkZl9w
ayA9ICRmX2NsYXNzLT5wcmltYXJ5X2NvbHVtbjsKCWlmICgkc2VsZi0+X2F0dHJzKCRmX3BrKSkg
ewoJICAkaGFzaC0+eyRmX3BrfSA9ICRzZWxmLT5fYXR0cnMoJGZfcGspOwoJfQoKCW15ICRmX29i
aiA9ICRmX2NsYXNzLT5jcmVhdGUoJGhhc2gpOwoJJHByb3RvLT5faW1wb3J0X2NvbHVtbl92YWx1
ZXMoJHNlbGYsICRmX2NsYXNzLCAkZl9vYmopOwoJIyBwanMgLS0gd2FudCBwa3Mgc2FtZSBmb3Ig
aXNhICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkkc2VsZi0+X2F0dHJpYnV0ZV9zdG9y
ZSgkc2VsZi0+cHJpbWFyeV9jb2x1bW4gPT4gJGZfb2JqLT5pZCk7CgkjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCXJldHVybiAkc2Vs
Zi0+X2F0dHJpYnV0ZV9zdG9yZSgkY29sID0+ICRmX29iai0+aWQpOwogICAgfTsKfQoKCnN1YiBf
aW5mbGF0b3IgewogICAgbXkgJHByb3RvID0gc2hpZnQ7CiAgICBteSAkY29sID0gJHByb3RvLT5h
Y2Nlc3NvcjsKCiAgICByZXR1cm4gc3ViIHsKCW15ICRzZWxmID0gc2hpZnQ7CglteSAkdmFsdWUg
PSAkc2VsZi0+JGNvbDsKCW15ICRtZXRhID0gJHNlbGYtPm1ldGFfaW5mbyhpc19hID0+ICRjb2wp
OwoJbXkgJGZfY2xhc3MgPSAkbWV0YS0+Zm9yZWlnbl9jbGFzczsKCglyZXR1cm4gaWYgcmVmKCR2
YWx1ZSkgYW5kICR2YWx1ZS0+aXNhKCRmX2NsYXNzKTsKCgkkdmFsdWUgPSAkZl9jbGFzcy0+X3Np
bXBsZV9ibGVzcygkdmFsdWUpOwoJJHByb3RvLT5faW1wb3J0X2NvbHVtbl92YWx1ZXMoJHNlbGYs
ICRmX2NsYXNzLCAkdmFsdWUpOwoKCXJldHVybiAkc2VsZi0+X2F0dHJpYnV0ZV9zdG9yZSgkY29s
ID0+ICR2YWx1ZSk7CiAgICB9Owp9CgpzdWIgX2ltcG9ydF9jb2x1bW5fdmFsdWVzIHsKICAgIG15
ICgkc2VsZiwgJGNsYXNzLCAkZl9jbGFzcywgJGZfb2JqKSA9IChAXyk7CiAgICBmb3JlYWNoICgk
Zl9jbGFzcy0+YWxsX2NvbHVtbnMpIHsKCSRjbGFzcy0+X2F0dHJpYnV0ZV9zdG9yZSgkXywgJGZf
b2JqLT4kXykKCSAgICB1bmxlc3MgJF8tPm5hbWUgZXEgJGNsYXNzLT5wcmltYXJ5X2NvbHVtbi0+
bmFtZTsKICAgIH0KfQoKc3ViIF9zZXRfdXBfY2xhc3NfZGF0YSB7CiAgICAgICAgbXkgJHNlbGYg
PSBzaGlmdDsKICAgICAgICAkc2VsZi0+Y2xhc3MtPl9leHRlbmRfY2xhc3NfZGF0YShfX2lzYV9y
ZWxzID0+ICRzZWxmLT5hY2Nlc3NvciA9PgogICAgICAgICAgICAgICAgICAgICAgICBbICRzZWxm
LT5mb3JlaWduX2NsYXNzLCAleyAkc2VsZi0+YXJncyB9IF0pOwogICAgICAgICRzZWxmLT5TVVBF
Ujo6X3NldF91cF9jbGFzc19kYXRhOwp9CgoKc3ViIF9nZXRfbWV0aG9kcyB7CiAgICBteSAoJHNl
bGYsICRhY2NfbmFtZSwgJGZfY29sLCAkbW9kZSkgPSBAXzsKICAgIHdhcm4gIl9nZXRfbWV0aG9k
cyAkYWNjX25hbWUsICRmX2NvbCwgJG1vZGUgXG4iOwogICAgd2FybiBqb2luKCcsICcsY2FsbGVy
KCkpOwogICAgbXkgJG1ldGhvZDsKIE1PREU6IHsKCWlmICgkbW9kZSBlcSAncncnKSB7CgkgICAg
JG1ldGhvZCA9IHN1YiB7CgkgICAgICB3YXJuICJhcnRpZmljaWFsIG1ldGhvZCAkYWNjX25hbWUv
JGZfY29sIGNhbGxlZCB3aXRoIGFyZ3MgIiwgam9pbignLCAnLEBfKSwgIlxuIjsKCQlteSAoJHNl
bGYsIEBhcmdzKSA9IEBfOwoJCWlmKEBhcmdzKSB7CgkJICAkc2VsZi0+JGFjY19uYW1lLT4kZl9j
b2woQGFyZ3MpOwoJCSAgcmV0dXJuOwoJCX0gZWxzZSB7CgkJICByZXR1cm4gJHNlbGYtPiRhY2Nf
bmFtZS0+JGZfY29sOwoJCX0KCSAgICB9OwoJICAgIGxhc3QgTU9ERTsKCX0KCWlmICgkbW9kZSBl
cSAncm8nKSB7CgkgICAgJG1ldGhvZCA9IHN1YiB7CgkJbXkgJHNlbGYgPSBzaGlmdDsKCQlyZXR1
cm4gJHNlbGYtPiRhY2NfbmFtZS0+JGZfY29sOwoJICAgIH07CgkgICAgbGFzdCBNT0RFOwoJfQoJ
aWYgKCRtb2RlIGVxICd3bycpIHsKCSAgICAkbWV0aG9kID0gIHN1YiB7CgkJbXkgJHNlbGYgPSBz
aGlmdDsKCQkkc2VsZi0+JGFjY19uYW1lLT4kZl9jb2woQF8pOwoJCXJldHVybjsKCSAgICB9OwoJ
ICAgIGxhc3QgTU9ERTsKCX0KCgllbHNlIHsKCSAgICBkaWUgImNhbid0IGdldCBtZXRob2QgZm9y
IG1vZGUgOiRtb2RlXG4iOwoJfQogICAgfSAjIGVuZCBvZiBNT0RFCiAgICByZXR1cm4gJG1ldGhv
ZDsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCj1oZWFkMSBCVUdTIEFORCBDQVZFQVRTCgoq
IE11bHRpcGxlIGluaGVyaXRhbmNlIGlzIG5vdCBzdXBwb3J0ZWQsIHRoaXMgaXMgdW5saWtlbHkg
dG8gY2hhbmdlIGZvciB0aGUgZm9yc2VhYmxlIGZ1dHVyZQoKKiBpc19hIG11c3QgYmUgY2FsbGVk
IGFmdGVyIGFsbCBvdGhlciBjZGJpIHJlbGF0aW9uc2hpcCBtZXRob2RzIG90aGVyd2lzZSBpbmhl
cml0ZWQgbWV0aG9kcyBhbmQgCmFjY2Vzc29ycyBtYXkgYmUgb3Zlci1yaWRkZW4gb3IgY2xhc2gg
dW5leHBlY3RlZGx5CgoqIG5vbiBDbGFzczo6REJJIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMgYXJl
IG5vdCBpbmhlcml0ZWQgdmlhIHRoaXMgbW9kdWxlCgoqIFRoZSB1cGRhdGUgbWV0aG9kIGlzIGNh
bGxlZCBvbiB0aGUgaW5oZXJpdGVkIG9iamVjdCB3aGVuIHRoZSBpbmhlcnRpdGluZyBvYmplY3Qg
aGFzIHVwZGF0ZSBjYWxsZWQKCiogQWx3YXlzIHNwZWNpZnkgdGhlIHByaW1hcnkga2V5IHVzaW5n
IGNvbHVtbnMoUHJpbWFyeSA9PiBxdy8uLi8pIGlmIHlvdSBkb24ndCBiYWQgdGhpbmdzIGNvdWxk
IGhhcHBlbiwgdGhpbmsgb2YgdGhlIG1vdmllcyAnVHJlbW9ycycsICdQb2x0ZXJnZWlzdCcgYW5k
ICdFdmlsIERlYWQnIGFsbCByb2xsZWQgaW50byBvbmUgYnV0IHdpdGhvdXQgYW55IGhlcm9zLgoK
KiBWZXJ5IEJhZCBUaGluZ3MgY2FuIGFuZCBtYXkgb2NjdXIgd2hlbiB1c2luZyB0aGlzIG1vZHVs
ZSBldmVuIGlmIHlvdSB1c2UgZ29vZCBwcmFjdGljZSBhbmQgYXJlIGNhdXRpb3VzIC0tIHRoaXMg
aW5jbHVkZXMgYnV0IGlzIG5vdCBsaW1pdGVkIHRvIGluZmluaXRlIGxvb3BzLCBtZW1vcnkgbGVh
a3MgYW5kIGRhdGEgY29ycnVwdGlvbi4KCj1oZWFkMSBERVBFTkRBTkNJRVMKCkw8Q2xhc3M6OkRC
STo6QWJzdHJhY3RTZWFyY2g+Cgo9aGVhZDEgU0VFIEFMU08KCkw8cGVybD4KCkw8Q2xhc3M6OkRC
ST4KCkw8Q2xhc3M6OkRCSTo6UmVsYXRpb25zaGlwPgoKPWhlYWQxIEFVVEhPUgoKUmljaGFyZCBI
dW5kdCwgRTxsdD5yaWNoYXJkQHdlYnRrLm9yZy51a0U8Z3Q+Cgo9aGVhZDEgTUFJTlRBSU5FUgoK
QWFyb24gVHJldmVuYSBFPGx0PmFhcm9uLnRyZXZlbmFAZHJvb2dzLm9yZ0U8Z3Q+Cgo9aGVhZDEg
Q09QWVJJR0hUCgpMaWNlbnNlZCBmb3IgdXNlLCBtb2RpZmljYXRpb24gYW5kIGRpc3RyaWJ1dGlv
biB1bmRlciB0aGUgQXJ0aXN0aWMKYW5kIEdOVSBHUEwgbGljZW5zZXMuCgpDb3B5cmlnaHQgKEMp
IDIwMDQgYnkgUmljaGFyZCBIdW5kdCBhbmQgQWFyb24gVHJldmVuYQoKVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQg
dW5kZXIgdGhlIHNhbWUgdGVybXMgYXMgUGVybCBpdHNlbGYsIGVpdGhlciBQZXJsIHZlcnNpb24g
NS44LjEgb3IsCmF0IHlvdXIgb3B0aW9uLCBhbnkgbGF0ZXIgdmVyc2lvbiBvZiBQZXJsIDUgeW91
IG1heSBoYXZlIGF2YWlsYWJsZS4KCj1jdXQKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwoKMTsKCg==
------=_Part_1804_32940439.1136832175164
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ClassDBI mailing list
ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx
http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi

------=_Part_1804_32940439.1136832175164--

[CDBI] add_column - bug or feature?
Kate Yoak 09:15 on 09 Jan 2006

Re: [CDBI] add_column - bug or feature?
Peter Speltz 18:42 on 09 Jan 2006

Re: [CDBI] add_column - bug or feature?
Peter Speltz 20:08 on 09 Jan 2006

Re: [CDBI] add_column - bug or feature?
Peter Speltz 20:12 on 09 Jan 2006

Generated at 09:31 on 23 Jan 2006 by mariachi v0.52