[prev] [thread] [next] [Date index for 2004/10/19]
------=_20041019115619_54266 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Attached is a patch (and full file) for allowing auto-generation of values for IDENTITY columns in Sybase. It relies on the fact that sp_help returns the right info regarding IDENTITY columns (works in sybase 12.5.2). Comments? Suggestions? Bugs?? --mike ------=_20041019115619_54266 Content-Type: application/octet-stream; name="ClassDBISybase.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ClassDBISybase.patch" LS0tIC9tcy9kaXN0L3Blcmw1L1BST0ovQ2xhc3MtREJJLVN5YmFzZS8wLjEvbGliL3Blcmw1L0Ns YXNzL0RCSS9TeWJhc2UucG0JV2VkIFNlcCAgMyAyMToyMToxMSAyMDAzCisrKyBTeWJhc2UucG0J VHVlIE9jdCAxOSAxMjoyMDozNSAyMDA0CkBAIC0yMSw2ICsyMSw3IEBACiBUaGlzIGlzIGFuIGV4 dGVuc2lvbiB0byBDbGFzczo6REJJIHRoYXQgY3VycmVudGx5IGltcGxlbWVudHM6CiAKIAkqIEF1 dG9tYXRpYyBjb2x1bW4gbmFtZSBkaXNjb3ZlcnkuCisJKiBXb3JrcyB3aXRoIElERU5USVRZIGNv bHVtbnMgdG8gYXV0by1nZW5lcmF0ZSBwcmltYXJ5IGtleXMuCiAJCiBJbnN0ZWFkIG9mIHNldHRp bmcgQ2xhc3M6OkRCSSBhcyB5b3VyIGJhc2UgY2xhc3MsIHVzZSB0aGlzLgogCkBAIC0yOSwxMCAr MzAsMTIgQEAKIERCRDo6U3liYXNlIGN1cnJlbnRseSBoYXMgYSBidWcgd2hlcmUgYSBzdGF0ZW1l bnQgaGFuZGxlIGNhbiBiZSBtYXJrZWQgYXMKIGFjdGl2ZSwgZXZlbiB0aG91Z2ggaXQncyBub3Qu IFdlIG92ZXJyaWRlIHN0aF90b19vYmplY3RzIHRvIGNhbGwgZmluaXNoKCkgb24gdGhlIGhhbmRs ZS4KIAotPWhlYWQxIEFVVEhPUgorPWhlYWQxIEFVVEhPUlMKIAogRGFuIFN1bGx5IEU8bHQ+ZGFu aWVsQGNwYW4ub3JnRTxndD4KIAorTWljaGFlbCBXb2pjaWtld2ljeiBFPGx0Pm1pa2VAcGVybHBp bXBzLmNvbUU8Z3Q+CisKID1oZWFkMSBTRUUgQUxTTwogCiBMPENsYXNzOjpEQkk+LCBMPERCRDo6 U3liYXNlPgpAQCAtNDMsNyArNDYsNyBAQAogdXNlIGJhc2UgJ0NsYXNzOjpEQkknOwogCiB1c2Ug dmFycyBxdygkVkVSU0lPTik7Ci0kVkVSU0lPTiA9ICcwLjEnOworJFZFUlNJT04gPSAnMC4yJzsK IAogc3ViIF9kaWUgeyByZXF1aXJlIENhcnA7IENhcnA6OmNyb2FrKEBfKTsgfSAKIApAQCAtNjQs NiArNjcsMTYgQEAKIAogCSRjbGFzcy0+Y29sdW1ucyhBbGwgPT4gbWFwIHskXy0+WzNdfSBAJGNv bCk7CiAJJGNsYXNzLT5jb2x1bW5zKFByaW1hcnkgPT4gJGNvbC0+WzBdWzNdKTsKKworCSMgYWRk ZWQgYnkgTVBXOiBub3cgZmluZCB0aGUgSURFTlRJVFkgY29sdW1uCisJJHN0aCA9ICRkYmgtPnBy ZXBhcmUoInNwX2hlbHAgJHRhYmxlIik7CisJJHN0aCAtPiBleGVjdXRlKCk7CisJIyB0aGUgZmly c3QgdHdvIHJlc3VsdHNldHMgY29udGFpbiBubyBpbmZvIGFib3V0IGZpbmRpbmcgdGhlIGlkZW50 aXR5IGNvbHVtbgorCSRzdGggLT4gZmV0Y2hhbGxfYXJyYXlyZWYoKSBmb3IgMSAuLiAyOyAKKwkk Y29sID0gJHN0aCAtPiBmZXRjaGFsbF9hcnJheXJlZigpOyAKKworCW15ICgkaWRlbnRpdHkpID0g Z3JlcCggJF8gLT4gWzldID09IDEsIEAkY29sICk7ICMgdGhlIDEwdGggY29sdW1uIGNvbnRhaW5z IGEgYm9vbGVhbiBkZW5vdGluZyB3aGV0aGVyIGl0J3MgYW4gSURFTlRJVFkKKwkkY2xhc3MgLT4g Y29sdW1ucyhJREVOVElUWSA9PiAkaWRlbnRpdHkgLT4gWzBdKSBpZiAkaWRlbnRpdHk7ICMgc3Rv cmUgdGhlIElERU5USVRZIGNvbHVtbgkKIH0KIAogIyBGaXhlcyBhIERCRDo6U3liYXNlIHByb2Js ZW0gd2hlcmUgdGhlIGhhbmRsZSBpcyBzdGlsbCBhY3RpdmUuCkBAIC04Miw2ICs5NSw1OSBAQAog CXJldHVybiAkY2xhc3MtPlNVUEVSOjpzdGhfdG9fb2JqZWN0cygkc3RoLCAkYXJncyk7CiB9CiAK K3N1YiBfaW5zZXJ0X3JvdyB7CisgICAgbXkgJHNlbGYgPSBzaGlmdDsKKyAgICBteSAkZGF0YSA9 IHNoaWZ0OworCW15IEBwcmltYXJ5X2NvbHVtbnMgPSAkc2VsZi0+cHJpbWFyeV9jb2x1bW5zKCk7 CisJbXkgQGlkZW50aXR5X2NvbHVtbnMgPSAkc2VsZiAtPiBjb2x1bW5zKCdJREVOVElUWScpOwor CisgICAgZXZhbCB7CisJCW15IEBjb2x1bW5zOworCQlteSBAdmFsdWVzOworCisJCSMgQURERUQg QlkgTVBXOiBPbWl0IHRoZSBJREVOVElUWSBjb2x1bW4gdG8gbGV0IGl0IGJlIEF1dG8gR2VuZXJh dGVkCisJCWZvciBteSAkY29sdW1uIChrZXlzICUkZGF0YSkgeworCQkJdW5sZXNzICggJGNvbHVt biBlcSAkaWRlbnRpdHlfY29sdW1uc1swXSApIHsKKwkJCQlwdXNoIEBjb2x1bW5zLCAkY29sdW1u OworCQkJCXB1c2ggQHZhbHVlcywgJGRhdGEgLT4geyRjb2x1bW59OworCQkJfQorCQl9CisgICAg ICAgIG15ICRzdGggPSAkc2VsZi0+c3FsX01ha2VOZXdPYmooCisgICAgICAgICAgICBqb2luKCcs ICcsIEBjb2x1bW5zKSwKKyAgICAgICAgICAgIGpvaW4oJywgJywgbWFwICRzZWxmLT5fY29sdW1u X3BsYWNlaG9sZGVyKCRfKSwgQGNvbHVtbnMpLAorCQkJCQkJCQkJCQkpOworICAgICAgICAkc2Vs Zi0+X2JpbmRfcGFyYW0oJHN0aCwgXEBjb2x1bW5zKTsKKyAgICAgICAgJHN0aC0+ZXhlY3V0ZShA dmFsdWVzKTsKKworICAgICAgICAkZGF0YS0+eyAkcHJpbWFyeV9jb2x1bW5zWzBdIH0gPSAkc2Vs Zi0+X2F1dG9faW5jcmVtZW50X3ZhbHVlKCkKKyAgICAgICAgICAgIGlmIEBwcmltYXJ5X2NvbHVt bnMgPT0gMQorICAgICAgICAgICAgJiYgIWRlZmluZWQgJGRhdGEtPnsgJHByaW1hcnlfY29sdW1u c1swXSB9OworICAgIH07CisgICAgaWYgKCRAKSB7CisgICAgICAgIG15ICRjbGFzcyA9IHJlZiAk c2VsZjsKKyAgICAgICAgcmV0dXJuICRzZWxmLT5fY3JvYWsoCisgICAgICAgICAgICAiQ2FuJ3Qg aW5zZXJ0IG5ldyAkY2xhc3M6ICRAIiwKKyAgICAgICAgICAgIGVyciAgICA9PiAkQCwKKyAgICAg ICAgICAgIG1ldGhvZCA9PiAnY3JlYXRlJworCQkJCQkJCSApOworICAgIH0KKyAgICByZXR1cm4g MTsKK30KKworc3ViIF9hdXRvX2luY3JlbWVudF92YWx1ZSAKK3sKKyAgICBteSAkc2VsZiA9IHNo aWZ0OworICAgIG15ICRkYmggID0gJHNlbGYtPmRiX01haW4oKTsKKwlteSAkc3RoID0gJGRiaCAt PiBwcmVwYXJlKCdTRUxFQ1QgQEBJREVOVElUWScpOworCisJJHN0aCAtPiBleGVjdXRlKCk7CisJ bXkgJGlkID0gJHN0aCAtPiBmZXRjaCgpOworCSRzdGggLT4gZmluaXNoKCkgaWYgJHN0aCAtPiB7 QWN0aXZlfTsKKyAgICAkc2VsZi0+X2Nyb2FrKCJDYW4ndCBnZXQgbGFzdCBpbnNlcnQgaWQiKSB1 bmxlc3MgZGVmaW5lZCAkaWQ7CisKKyAgICByZXR1cm4gJGlkOworfQorCiAxOwogCiBfX0VORF9f Cg== ------=_20041019115619_54266 Content-Type: application/octet-stream; name="Sybase.pm" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Sybase.pm" cGFja2FnZSBDbGFzczo6REJJOjpTeWJhc2U7Cgo9aGVhZDEgTkFNRQoKQ2xhc3M6OkRCSTo6U3li YXNlIC0gRXh0ZW5zaW9ucyB0byBDbGFzczo6REJJIGZvciBTeWJhc2UKCj1oZWFkMSBTWU5PUFNJ UwoKICBwYWNrYWdlIE11c2ljOjpEQkk7CiAgdXNlIGJhc2UgJ0NsYXNzOjpEQkk6OlN5YmFzZSc7 CiAgTXVzaWM6OkRCSS0+c2V0X2RiKCdNYWluJywgJ2RiaTpTeWJhc2U6c2VydmVyPSRzZXJ2ZXIn LCAndXNlcm5hbWUnLCAncGFzc3dvcmQnKTsKCiAgcGFja2FnZSBBcnRpc3Q7CiAgdXNlIGJhc2Ug J011c2ljOjpEQkknOwogIF9fUEFDS0FHRV9fLT5zZXRfdXBfdGFibGUoJ0FydGlzdCcpOwogIAog ICMgLi4uIHNlZSB0aGUgQ2xhc3M6OkRCSSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzIG9uIENs YXNzOjpEQkkgdXNhZ2UKCj1oZWFkMSBERVNDUklQVElPTgoKVGhpcyBpcyBhbiBleHRlbnNpb24g dG8gQ2xhc3M6OkRCSSB0aGF0IGN1cnJlbnRseSBpbXBsZW1lbnRzOgoKCSogQXV0b21hdGljIGNv bHVtbiBuYW1lIGRpc2NvdmVyeS4KCSogV29ya3Mgd2l0aCBJREVOVElUWSBjb2x1bW5zIHRvIGF1 dG8tZ2VuZXJhdGUgcHJpbWFyeSBrZXlzLgoJCkluc3RlYWQgb2Ygc2V0dGluZyBDbGFzczo6REJJ IGFzIHlvdXIgYmFzZSBjbGFzcywgdXNlIHRoaXMuCgo9aGVhZDEgQlVHUwoKREJEOjpTeWJhc2Ug Y3VycmVudGx5IGhhcyBhIGJ1ZyB3aGVyZSBhIHN0YXRlbWVudCBoYW5kbGUgY2FuIGJlIG1hcmtl ZCBhcwphY3RpdmUsIGV2ZW4gdGhvdWdoIGl0J3Mgbm90LiBXZSBvdmVycmlkZSBzdGhfdG9fb2Jq ZWN0cyB0byBjYWxsIGZpbmlzaCgpIG9uIHRoZSBoYW5kbGUuCgo9aGVhZDEgQVVUSE9SUwoKRGFu IFN1bGx5IEU8bHQ+ZGFuaWVsQGNwYW4ub3JnRTxndD4KCk1pY2hhZWwgV29qY2lrZXdpY3ogRTxs dD5taWtlQHBlcmxwaW1wcy5jb21FPGd0PgoKPWhlYWQxIFNFRSBBTFNPCgpMPENsYXNzOjpEQkk+ LCBMPERCRDo6U3liYXNlPgoKPWN1dAoKdXNlIHN0cmljdDsKdXNlIGJhc2UgJ0NsYXNzOjpEQkkn OwoKdXNlIHZhcnMgcXcoJFZFUlNJT04pOwokVkVSU0lPTiA9ICcwLjInOwoKc3ViIF9kaWUgeyBy ZXF1aXJlIENhcnA7IENhcnA6OmNyb2FrKEBfKTsgfSAKCnN1YiBzZXRfdXBfdGFibGUgewoJbXko JGNsYXNzLCAkdGFibGUpID0gQF87CglteSAkZGJoID0gJGNsYXNzLT5kYl9NYWluKCk7CgoJJGNs YXNzLT50YWJsZSgkdGFibGUpOwoKCSMgZmluZCB0aGUgcHJpbWFyeSBrZXkgYW5kIGNvbHVtbiBu YW1lcy4KCW15ICRzdGggPSAkZGJoLT5wcmVwYXJlKCJzcF9jb2x1bW5zICR0YWJsZSIpOwoJICAg JHN0aC0+ZXhlY3V0ZSgpOwoKCW15ICRjb2wgPSAkc3RoLT5mZXRjaGFsbF9hcnJheXJlZjsKCSAg ICRzdGgtPmZpbmlzaCgpOwoKCV9kaWUoJ1RoZSAiJy4gJGNsYXNzLT50YWJsZSgpIC4gJyIgdGFi bGUgaGFzIG5vIHByaW1hcnkga2V5JykgdW5sZXNzICRjb2wtPlswXVszXTsKCgkkY2xhc3MtPmNv bHVtbnMoQWxsID0+IG1hcCB7JF8tPlszXX0gQCRjb2wpOwoJJGNsYXNzLT5jb2x1bW5zKFByaW1h cnkgPT4gJGNvbC0+WzBdWzNdKTsKCgkjIGFkZGVkIGJ5IE1QVzogbm93IGZpbmQgdGhlIElERU5U SVRZIGNvbHVtbgoJJHN0aCA9ICRkYmgtPnByZXBhcmUoInNwX2hlbHAgJHRhYmxlIik7Cgkkc3Ro IC0+IGV4ZWN1dGUoKTsKCSMgdGhlIGZpcnN0IHR3byByZXN1bHRzZXRzIGNvbnRhaW4gbm8gaW5m byBhYm91dCBmaW5kaW5nIHRoZSBpZGVudGl0eSBjb2x1bW4KCSRzdGggLT4gZmV0Y2hhbGxfYXJy YXlyZWYoKSBmb3IgMSAuLiAyOyAKCSRjb2wgPSAkc3RoIC0+IGZldGNoYWxsX2FycmF5cmVmKCk7 IAoKCW15ICgkaWRlbnRpdHkpID0gZ3JlcCggJF8gLT4gWzldID09IDEsIEAkY29sICk7ICMgdGhl IDEwdGggY29sdW1uIGNvbnRhaW5zIGEgYm9vbGVhbiBkZW5vdGluZyB3aGV0aGVyIGl0J3MgYW4g SURFTlRJVFkKCSRjbGFzcyAtPiBjb2x1bW5zKElERU5USVRZID0+ICRpZGVudGl0eSAtPiBbMF0p IGlmICRpZGVudGl0eTsgIyBzdG9yZSB0aGUgSURFTlRJVFkgY29sdW1uCQp9CgojIEZpeGVzIGEg REJEOjpTeWJhc2UgcHJvYmxlbSB3aGVyZSB0aGUgaGFuZGxlIGlzIHN0aWxsIGFjdGl2ZS4Kc3Vi IHN0aF90b19vYmplY3RzIHsKCW15ICgkY2xhc3MsICRzdGgsICRhcmdzKSA9IEBfOwoKCSRjbGFz cy0+X2Nyb2FrKCJzdGhfdG9fb2JqZWN0cyBuZWVkcyBhIHN0YXRlbWVudCBoYW5kbGUiKSB1bmxl c3MgJHN0aDsKCgl1bmxlc3MgKFVOSVZFUlNBTDo6aXNhKCRzdGggPT4gIkRCSTo6c3QiKSkgewoJ CW15ICRtZXRoID0gInNxbF8kc3RoIjsKCQkkc3RoID0gJGNsYXNzLT4kbWV0aCgpOwoJfQoKCSRz dGgtPmZpbmlzaCgpIGlmICRzdGgtPntBY3RpdmV9OwoKCXJldHVybiAkY2xhc3MtPlNVUEVSOjpz dGhfdG9fb2JqZWN0cygkc3RoLCAkYXJncyk7Cn0KCnN1YiBfaW5zZXJ0X3JvdyB7CiAgICBteSAk c2VsZiA9IHNoaWZ0OwogICAgbXkgJGRhdGEgPSBzaGlmdDsKCW15IEBwcmltYXJ5X2NvbHVtbnMg PSAkc2VsZi0+cHJpbWFyeV9jb2x1bW5zKCk7CglteSBAaWRlbnRpdHlfY29sdW1ucyA9ICRzZWxm IC0+IGNvbHVtbnMoJ0lERU5USVRZJyk7CgogICAgZXZhbCB7CgkJbXkgQGNvbHVtbnM7CgkJbXkg QHZhbHVlczsKCgkJIyBBRERFRCBCWSBNUFc6IE9taXQgdGhlIElERU5USVRZIGNvbHVtbiB0byBs ZXQgaXQgYmUgQXV0byBHZW5lcmF0ZWQKCQlmb3IgbXkgJGNvbHVtbiAoa2V5cyAlJGRhdGEpIHsK CQkJdW5sZXNzICggJGNvbHVtbiBlcSAkaWRlbnRpdHlfY29sdW1uc1swXSApIHsKCQkJCXB1c2gg QGNvbHVtbnMsICRjb2x1bW47CgkJCQlwdXNoIEB2YWx1ZXMsICRkYXRhIC0+IHskY29sdW1ufTsK CQkJfQoJCX0KICAgICAgICBteSAkc3RoID0gJHNlbGYtPnNxbF9NYWtlTmV3T2JqKAogICAgICAg ICAgICBqb2luKCcsICcsIEBjb2x1bW5zKSwKICAgICAgICAgICAgam9pbignLCAnLCBtYXAgJHNl bGYtPl9jb2x1bW5fcGxhY2Vob2xkZXIoJF8pLCBAY29sdW1ucyksCgkJCQkJCQkJCQkJKTsKICAg ICAgICAkc2VsZi0+X2JpbmRfcGFyYW0oJHN0aCwgXEBjb2x1bW5zKTsKICAgICAgICAkc3RoLT5l eGVjdXRlKEB2YWx1ZXMpOwoKICAgICAgICAkZGF0YS0+eyAkcHJpbWFyeV9jb2x1bW5zWzBdIH0g PSAkc2VsZi0+X2F1dG9faW5jcmVtZW50X3ZhbHVlKCkKICAgICAgICAgICAgaWYgQHByaW1hcnlf Y29sdW1ucyA9PSAxCiAgICAgICAgICAgICYmICFkZWZpbmVkICRkYXRhLT57ICRwcmltYXJ5X2Nv bHVtbnNbMF0gfTsKICAgIH07CiAgICBpZiAoJEApIHsKICAgICAgICBteSAkY2xhc3MgPSByZWYg JHNlbGY7CiAgICAgICAgcmV0dXJuICRzZWxmLT5fY3JvYWsoCiAgICAgICAgICAgICJDYW4ndCBp bnNlcnQgbmV3ICRjbGFzczogJEAiLAogICAgICAgICAgICBlcnIgICAgPT4gJEAsCiAgICAgICAg ICAgIG1ldGhvZCA9PiAnY3JlYXRlJwoJCQkJCQkJICk7CiAgICB9CiAgICByZXR1cm4gMTsKfQoK c3ViIF9hdXRvX2luY3JlbWVudF92YWx1ZSAKewogICAgbXkgJHNlbGYgPSBzaGlmdDsKICAgIG15 ICRkYmggID0gJHNlbGYtPmRiX01haW4oKTsKCW15ICRzdGggPSAkZGJoIC0+IHByZXBhcmUoJ1NF TEVDVCBAQElERU5USVRZJyk7CgoJJHN0aCAtPiBleGVjdXRlKCk7CglteSAkaWQgPSAkc3RoIC0+ IGZldGNoKCk7Cgkkc3RoIC0+IGZpbmlzaCgpIGlmICRzdGggLT4ge0FjdGl2ZX07CiAgICAkc2Vs Zi0+X2Nyb2FrKCJDYW4ndCBnZXQgbGFzdCBpbnNlcnQgaWQiKSB1bmxlc3MgZGVmaW5lZCAkaWQ7 CgogICAgcmV0dXJuICRpZDsKfQoKMTsKCl9fRU5EX18K ------=_20041019115619_54266--
Class::DBI::Sybase patch (for IDENTITY columns)
|
Re: Class::DBI::Sybase patch (for IDENTITY columns)
|
Re: Class::DBI::Sybase patch (for IDENTITY columns)
|
another Class::DBI::Sybase patch (0.3)
|
Generated at 11:34 on 01 Dec 2004 by mariachi v0.52