Received: from ooc.ooc.com (ooc.ooc.com [207.60.240.130]) by hub.org (8.9.3/8.9.3) with ESMTP id MAA01345 for ; Tue, 1 Jun 1999 12:08:13 -0400 (EDT) (envelope-from benoit@ooc.com) Received: from ooc.com (kirk.ooc.com [207.60.240.142]) by ooc.ooc.com (8.8.7/8.8.7) with ESMTP id MAA20367 for ; Tue, 1 Jun 1999 12:04:10 -0400 Message-ID: <3754057B.1EE00F02@ooc.com> Date: Tue, 01 Jun 1999 12:08:47 -0400 From: Benoit Foucher Reply-To: benoit@ooc.com Organization: Object Oriented Concepts X-Mailer: Mozilla 4.6 (Macintosh; I; PPC) MIME-Version: 1.0 To: Postgres Interfaces Subject: Isolation level support with JDBC Content-Type: multipart/mixed; boundary="------------4C061056410FA1762C42AEB7" This is a multi-part message in MIME format. --------------4C061056410FA1762C42AEB7 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, Since two different transaction isolation levels are supported with Postgres 6.5 (READ_COMMITED and SERIALIZABLE), I've added support for setting and getting isolation level with the two methods java.sql.Connection.setTransactionIsolation and java.sql.Connection.getTransactionIsolation. I'd like to know if my modifications are correct (I've never developped such stuff before) and if it could be added to the jdbc driver sources. I've attached the patch to this mail. Thank you! Regards Benoit. -- Benoit Foucher mailto:benoit@ooc.com --------------4C061056410FA1762C42AEB7 Content-Type: application/octet-stream; x-mac-type="42494E41"; x-mac-creator="68446D70"; name="jdbc.patch" Content-Transfer-Encoding: base64 Content-Description: Document Content-Disposition: attachment; filename="jdbc.patch" SW5kZXg6IENvbm5lY3Rpb24uamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdXNyL2xv Y2FsL2N2c3Jvb3QvcGdzcWwvc3JjL2ludGVyZmFjZXMvamRiYy9wb3N0Z3Jlc3FsL0Nvbm5l Y3Rpb24uamF2YSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNwpkaWZmIC11IC1yMS4xNyBD b25uZWN0aW9uLmphdmEKLS0tIENvbm5lY3Rpb24uamF2YQkxOTk5LzA1LzE4IDIzOjE3OjE1 CTEuMTcKKysrIENvbm5lY3Rpb24uamF2YQkxOTk5LzA2LzAxIDE2OjAzOjI4CkBAIC0zNiw2 ICszNiw3IEBACiAgIAogICBwdWJsaWMgYm9vbGVhbiBhdXRvQ29tbWl0ID0gdHJ1ZTsKICAg cHVibGljIGJvb2xlYW4gcmVhZE9ubHkgPSBmYWxzZTsKKyAgcHVibGljIGludCAgICAgaXNv bGF0aW9uTGV2ZWwgPSBqYXZhLnNxbC5Db25uZWN0aW9uLlRSQU5TQUNUSU9OX1JFQURfQ09N TUlUVEVEOwogICAKICAgcHVibGljIERyaXZlciB0aGlzX2RyaXZlcjsKICAgcHJpdmF0ZSBT dHJpbmcgdGhpc191cmw7CkBAIC0yNjIsNiArMjYzLDEzIEBACiAJLy9pZihtc2cuc3RhcnRz V2l0aChkYXRlU3R5bGVzW2ldKSkKIAkvL2N1cnJlbnREYXRlU3R5bGU9aSsxOyAvLyB0aGlz IGlzIHRoZSBpbmRleCBvZiB0aGUgZm9ybWF0CiAJLy99CisKKwlpZihtc2cuc3RhcnRzV2l0 aCgiTk9USUNFOiIpICYmIG1zZy5pbmRleE9mKCJUUkFOU0FDVElPTiBJU09MQVRJT04gTEVW RUwiKT4wKSB7CisJICAgIG1zZyA9IG1zZy5zdWJzdHJpbmcobXNnLmluZGV4T2YoIlRSQU5T QUNUSU9OIElTT0xBVElPTiBMRVZFTCBpcyAiKSszMSk7CisJICAgIGlmKG1zZy5lcXVhbHMo IlNFUklBTElaQUJMRSIpKQorCQlpc29sYXRpb25MZXZlbCA9IGphdmEuc3FsLkNvbm5lY3Rp b24uVFJBTlNBQ1RJT05fU0VSSUFMSVpBQkxFOworCSAgICBlbHNlIGlzb2xhdGlvbkxldmVs ID0gamF2YS5zcWwuQ29ubmVjdGlvbi5UUkFOU0FDVElPTl9SRUFEX0NPTU1JVFRFRDsKKwl9 CiAgICAgfQogICAgIAogICAgIC8qKgpJbmRleDogamRiYzEvQ29ubmVjdGlvbi5qYXZhCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwvY3Zzcm9vdC9wZ3NxbC9zcmMvaW50 ZXJmYWNlcy9qZGJjL3Bvc3RncmVzcWwvamRiYzEvQ29ubmVjdGlvbi5qYXZhLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtcjEuMiBDb25uZWN0aW9uLmphdmEKLS0tIGpk YmMxL0Nvbm5lY3Rpb24uamF2YQkxOTk5LzA1LzE4IDIzOjE3OjIxCTEuMgorKysgamRiYzEv Q29ubmVjdGlvbi5qYXZhCTE5OTkvMDYvMDEgMTY6MDM6MjkKQEAgLTMxMSw3ICszMTEsMTEg QEAKICAgICovCiAgIHB1YmxpYyB2b2lkIHNldFRyYW5zYWN0aW9uSXNvbGF0aW9uKGludCBs ZXZlbCkgdGhyb3dzIFNRTEV4Y2VwdGlvbgogICB7Ci0gICAgdGhyb3cgcG9zdGdyZXNxbC5E cml2ZXIubm90SW1wbGVtZW50ZWQoKTsKKyAgICAgIGlmKGxldmVsID09IGphdmEuc3FsLkNv bm5lY3Rpb24uVFJBTlNBQ1RJT05fUkVBRF9DT01NSVRURUQpCisJICBFeGVjU1FMKCJzZXQg dHJhbnNhY3Rpb24gaXNvbGF0aW9uIGxldmVsIHJlYWQgY29tbWl0ZWQiKTsKKyAgICAgIGVs c2UgaWYobGV2ZWwgPT0gamF2YS5zcWwuQ29ubmVjdGlvbi5UUkFOU0FDVElPTl9TRVJJQUxJ WkFCTEUpCisJICBFeGVjU1FMKCJzZXQgdHJhbnNhY3Rpb24gaXNvbGF0aW9uIGxldmVsIHNl cmlhbGl6YWJsZSIpOworICAgICAgZWxzZSB0aHJvdyBwb3N0Z3Jlc3FsLkRyaXZlci5ub3RJ bXBsZW1lbnRlZCgpOwogICB9CiAgIAogICAvKioKQEAgLTMyMiw3ICszMjYsOSBAQAogICAg Ki8KICAgcHVibGljIGludCBnZXRUcmFuc2FjdGlvbklzb2xhdGlvbigpIHRocm93cyBTUUxF eGNlcHRpb24KICAgewotICAgIHJldHVybiBqYXZhLnNxbC5Db25uZWN0aW9uLlRSQU5TQUNU SU9OX1NFUklBTElaQUJMRTsKKyAgICAgIEV4ZWNTUUwoInNob3cgdHJhbnNhY3Rpb24gaXNv bGF0aW9uIGxldmVsIik7CisgICAgICAKKyAgICAgIHJldHVybiBpc29sYXRpb25MZXZlbDsK ICAgfQogICAKICAgLyoqCkluZGV4OiBqZGJjMS9EYXRhYmFzZU1ldGFEYXRhLmphdmEKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9jdnNyb290L3Bnc3FsL3NyYy9pbnRl cmZhY2VzL2pkYmMvcG9zdGdyZXNxbC9qZGJjMS9EYXRhYmFzZU1ldGFEYXRhLmphdmEsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC11IC1yMS4xIERhdGFiYXNlTWV0YURhdGEu amF2YQotLS0gamRiYzEvRGF0YWJhc2VNZXRhRGF0YS5qYXZhCTE5OTkvMDEvMTcgMDQ6NTE6 NTQJMS4xCisrKyBqZGJjMS9EYXRhYmFzZU1ldGFEYXRhLmphdmEJMTk5OS8wNi8wMSAxNjow Mzo0MQpAQCAtMTM1MCw3ICsxMzUwLDcgQEAKICAgICovCiAgIHB1YmxpYyBpbnQgZ2V0RGVm YXVsdFRyYW5zYWN0aW9uSXNvbGF0aW9uKCkgdGhyb3dzIFNRTEV4Y2VwdGlvbgogICB7Ci0g ICAgcmV0dXJuIENvbm5lY3Rpb24uVFJBTlNBQ1RJT05fU0VSSUFMSVpBQkxFOworICAgIHJl dHVybiBDb25uZWN0aW9uLlRSQU5TQUNUSU9OX1JFQURfQ09NTUlUVEVEOwogICB9CiAgIAog ICAvKioKQEAgLTEzNzksOCArMTM3OSw5IEBACiAgIHsKICAgICBpZiAobGV2ZWwgPT0gQ29u bmVjdGlvbi5UUkFOU0FDVElPTl9TRVJJQUxJWkFCTEUpCiAgICAgICByZXR1cm4gdHJ1ZTsK LSAgICBlbHNlCi0gICAgICByZXR1cm4gZmFsc2U7CisgICAgZWxzZSBpZihsZXZlbCA9PSBD b25uZWN0aW9uLlRSQU5TQUNUSU9OX1JFQURfQ09NTUlUVEVEKQorICAgICAgcmV0dXJuIHRy dWU7CisgICAgZWxzZSByZXR1cm4gZmFsc2U7CiAgIH0KICAgCiAgIC8qKgpJbmRleDogamRi YzIvQ29ubmVjdGlvbi5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwv Y3Zzcm9vdC9wZ3NxbC9zcmMvaW50ZXJmYWNlcy9qZGJjL3Bvc3RncmVzcWwvamRiYzIvQ29u bmVjdGlvbi5qYXZhLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtcjEuMiBD b25uZWN0aW9uLmphdmEKLS0tIGpkYmMyL0Nvbm5lY3Rpb24uamF2YQkxOTk5LzA1LzE4IDIz OjE3OjI2CTEuMgorKysgamRiYzIvQ29ubmVjdGlvbi5qYXZhCTE5OTkvMDYvMDEgMTY6MDM6 NTIKQEAgLTMxMSw3ICszMTEsMTEgQEAKICAgICovCiAgIHB1YmxpYyB2b2lkIHNldFRyYW5z YWN0aW9uSXNvbGF0aW9uKGludCBsZXZlbCkgdGhyb3dzIFNRTEV4Y2VwdGlvbgogICB7Ci0g ICAgICB0aHJvdyBwb3N0Z3Jlc3FsLkRyaXZlci5ub3RJbXBsZW1lbnRlZCgpOworICAgICAg aWYobGV2ZWwgPT0gamF2YS5zcWwuQ29ubmVjdGlvbi5UUkFOU0FDVElPTl9SRUFEX0NPTU1J VFRFRCkKKwkgIEV4ZWNTUUwoInNldCB0cmFuc2FjdGlvbiBpc29sYXRpb24gbGV2ZWwgcmVh ZCBjb21taXRlZCIpOworICAgICAgZWxzZSBpZihsZXZlbCA9PSBqYXZhLnNxbC5Db25uZWN0 aW9uLlRSQU5TQUNUSU9OX1NFUklBTElaQUJMRSkKKwkgIEV4ZWNTUUwoInNldCB0cmFuc2Fj dGlvbiBpc29sYXRpb24gbGV2ZWwgc2VyaWFsaXphYmxlIik7CisgICAgICBlbHNlIHRocm93 IHBvc3RncmVzcWwuRHJpdmVyLm5vdEltcGxlbWVudGVkKCk7ICAgICAKICAgfQogICAKICAg LyoqCkBAIC0zMjIsNyArMzI2LDkgQEAKICAgICovCiAgIHB1YmxpYyBpbnQgZ2V0VHJhbnNh Y3Rpb25Jc29sYXRpb24oKSB0aHJvd3MgU1FMRXhjZXB0aW9uCiAgIHsKLSAgICByZXR1cm4g amF2YS5zcWwuQ29ubmVjdGlvbi5UUkFOU0FDVElPTl9TRVJJQUxJWkFCTEU7CisgICAgICBF eGVjU1FMKCJzaG93IHRyYW5zYWN0aW9uIGlzb2xhdGlvbiBsZXZlbCIpOworICAgICAgCisg ICAgICByZXR1cm4gaXNvbGF0aW9uTGV2ZWw7CiAgIH0KICAgCiAgIC8qKgpJbmRleDogamRi YzIvRGF0YWJhc2VNZXRhRGF0YS5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3Iv bG9jYWwvY3Zzcm9vdC9wZ3NxbC9zcmMvaW50ZXJmYWNlcy9qZGJjL3Bvc3RncmVzcWwvamRi YzIvRGF0YWJhc2VNZXRhRGF0YS5qYXZhLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlm ZiAtdSAtcjEuMSBEYXRhYmFzZU1ldGFEYXRhLmphdmEKLS0tIGpkYmMyL0RhdGFiYXNlTWV0 YURhdGEuamF2YQkxOTk5LzAxLzE3IDA0OjUxOjU2CTEuMQorKysgamRiYzIvRGF0YWJhc2VN ZXRhRGF0YS5qYXZhCTE5OTkvMDYvMDEgMTY6MDQ6MDEKQEAgLTEzNTAsNyArMTM1MCw3IEBA CiAgICAqLwogICBwdWJsaWMgaW50IGdldERlZmF1bHRUcmFuc2FjdGlvbklzb2xhdGlvbigp IHRocm93cyBTUUxFeGNlcHRpb24KICAgewotICAgIHJldHVybiBDb25uZWN0aW9uLlRSQU5T QUNUSU9OX1NFUklBTElaQUJMRTsKKyAgICByZXR1cm4gQ29ubmVjdGlvbi5UUkFOU0FDVElP Tl9SRUFEX0NPTU1JVFRFRDsKICAgfQogICAKICAgLyoqCkBAIC0xMzc4LDYgKzEzNzgsOCBA QAogICBwdWJsaWMgYm9vbGVhbiBzdXBwb3J0c1RyYW5zYWN0aW9uSXNvbGF0aW9uTGV2ZWwo aW50IGxldmVsKSB0aHJvd3MgU1FMRXhjZXB0aW9uCiAgIHsKICAgICBpZiAobGV2ZWwgPT0g Q29ubmVjdGlvbi5UUkFOU0FDVElPTl9TRVJJQUxJWkFCTEUpCisgICAgICByZXR1cm4gdHJ1 ZTsKKyAgICBlbHNlIGlmIChsZXZlbCA9PSBDb25uZWN0aW9uLlRSQU5TQUNUSU9OX1JFQURf Q09NTUlUVEVEKQogICAgICAgcmV0dXJuIHRydWU7CiAgICAgZWxzZQogICAgICAgcmV0dXJu IGZhbHNlOwo= --------------4C061056410FA1762C42AEB7--