This is a cryptographically signed message in MIME format.
--------------ms090404050901070205030703 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable
Unfortunately, I don't see any other solution. I browsed everything I=20 could in ODBC doc, in order to be able to query link status, but there's =
no way.
And the other solution to redo the whole statement in case of failure=20 would be even more complex and would require too many code rewrites due=20 to a complete logic change. So, it seems to me to be the intermediate=20 solution.
The overhead being limited on "decent" connection.
Regards,
On 07/07/2013 14:33, Michael Str=F6der wrote:
pierre@reactos.org wrote:
With this patch, before preparing any req on the given connection=20 handle, the backend will first try to check whether the connection is active by=20 issue a dummy query. In case it's not, it will close the previous connection=20 and open a new one. And then, will prepare the req on the connection link.
I made this choice of developement because, preparing statement,=20 executing it and then, only looking whether it fails to re-submit would have been=20 more complex, since it would have required to start over the whole process =
for the query (statement preparation and such) while preparation & execution=20 aren't not in the same function.
Hmm, so there's an extra dummy query for each real query. If the SQL=20 DB is connected over network this means a synchronous extra round trip =
for each query.
Ciao, Michael.
--=20 Pierre Schweitzer<pierre at reactos.org> System Administrator ReactOS Foundation
--------------ms090404050901070205030703 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIMuTCC BjQwggQcoAMCAQICASAwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoT DVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNp Z25pbmcxKTAnBgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3 MTAyNDIxMDI1NVoXDTE3MTAyNDIxMDI1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1T dGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWdu aW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENs aWVudCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMsohUWcASz7GfKrpTOM KqANy9BV7V0igWdGxA8IU77L3aTxErQ+fcxtDYZ36Z6GH0YFn7fq5RADteP0AYzrCA+EQTfi 8q1+kA3m0nwtwXG94M5sIqsvs7lRP1aycBke/s5g9hJHryZ2acScnzczjBCAo7X1v5G3yw8M DP2m2RCye0KfgZ4nODerZJVzhAlOD9YejvAXZqHksw56HzElVIoYSZ3q4+RJuPXXfIoyby+Y 2m1E+YzX5iCZXBx05gk6MKAW1vaw4/v2OOLy6FZH3XHHtOkzUreG//CsFnB9+uaYSlR65cdG zTsmoIK8WH1ygoXhRBm98SD7Hf/r3FELNvUCAwEAAaOCAa0wggGpMA8GA1UdEwEB/wQFMAMB Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSuVYNv7DHKufcd+q9rMfPIHeOsuzAfBgNV HSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRaMFgwJwYIKwYBBQUH MAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYhaHR0cDovL3d3 dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20v c2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBADqp Jw3I07QWke9plNBpxUxcffc7nUrIQpJHDci91DFG7fVhHRkMZ1J+BKg5UNUxIFJ2Z9B90Mic c/NXcs7kPBRdn6XGO/vPc87Y6R+cWS9Nc9+fp3Enmsm94OxOwI9wn8qnr/6o3mD4noP9Jphw UPTXwHovjavRnhUQHLfo/i2NG0XXgTHXS2Xm0kVUozXqpYpAdumMiB/vezj1QHQJDmUdPYMc p+reg9901zkyT3fDW/ivJVv6pWtkh6Pw2ytZT7mvg7YhX3V50Nv860cV11mocUVcqBLv0gcT +HBDYtbuvexNftwNQKD5193A7zN4vG7CTYkXxytSjKuXrpEatEiFPxWgb84nVj25SU5q/r1X hwby6mLhkbaXslkVtwEWT3Van49rKjlK4XrUKYYWtnfzq6aSak5u0Vpxd1rY79tWhD3EdCvO hNz/QplNa+VkIsrcp7+8ZhP1l1b2U6MaxIVteuVMD3X0vziIwr7jxYae9FZjbxlpUemqXjcC 0QaFfN7qI0JsQMALL7iGRBg7K0CoOBzECdD3fuZil5kU/LP9cr1BK31U0Uy651bFnAMMMkqh AChIbn0ei72VnbpSsrrSdF0BAGYQ8vyHae5aCg+H75dVCV33K6FuxZrf09yTz+Vx/PkdRUYk XmZz/OTfyJXsUOUXrym6KvI2rYpccSk5MIIGfTCCBWWgAwIBAgICKTswDQYJKoZIhvcNAQEF BQAwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJT ZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD bGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTAeFw0xMjExMjEyMDMyNTZa Fw0xNDExMjMwNzI4NTRaMIGZMRkwFwYDVQQNExBBTUdwaXREYlFMMTNWNzBhMQswCQYDVQQG EwJGUjEYMBYGA1UECBMPSGF1dGUtTm9ybWFuZGllMRYwFAYDVQQHEw1Nb250aXZpbGxpZXJz MRowGAYDVQQDExFQaWVycmUgU2Nod2VpdHplcjEhMB8GCSqGSIb3DQEJARYScGllcnJlQHJl YWN0b3Mub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs6df8jj7p6qV61Nt KQTvsBSsxDKWF1artqGRgk4xj5wxuPcBn7Couffu1uoO/HE8gU6JIcac+Yy9gHnZmVak91qR 6BMXdMZmS4Pw42J1v9jUIps0uLCUL+ERIgC6Czrnr+RVGyL49ybXsUjq0SMGpM65K7W3hc6l 52R94XIDDZX5tSC8ykvnnsgDv8A4YubKhJYTO3G285Dw2gcIxf/Zg1AE7fBCAx+Eahqly7DP MEP1tH66Xs9jUXwWH/LuuHh1qCEOMeVf2QiiFVa1DqY5bWaRJFmOHsSJ/UVA+o/fF3MWpDZy xLnf2Ia4cUW4D0xP6po0BJLxg3J7Zz83K3dH1QIDAQABo4IC2DCCAtQwCQYDVR0TBAIwADAL BgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQWBBSj smXI/ofbH9TM2n4vCg+ffljF9jAfBgNVHSMEGDAWgBSuVYNv7DHKufcd+q9rMfPIHeOsuzAd BgNVHREEFjAUgRJwaWVycmVAcmVhY3Rvcy5vcmcwggFMBgNVHSAEggFDMIIBPzCCATsGCysG AQQBgbU3AQIDMIIBKjAuBggrBgEFBQcCARYiaHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9s aWN5LnBkZjCB9wYIKwYBBQUHAgIwgeowJxYgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwAwIBARqBvlRoaXMgY2VydGlmaWNhdGUgd2FzIGlzc3VlZCBhY2NvcmRpbmcgdG8g dGhlIENsYXNzIDIgVmFsaWRhdGlvbiByZXF1aXJlbWVudHMgb2YgdGhlIFN0YXJ0Q29tIENB IHBvbGljeSwgcmVsaWFuY2Ugb25seSBmb3IgdGhlIGludGVuZGVkIHB1cnBvc2UgaW4gY29t cGxpYW5jZSBvZiB0aGUgcmVseWluZyBwYXJ0eSBvYmxpZ2F0aW9ucy4wNgYDVR0fBC8wLTAr oCmgJ4YlaHR0cDovL2NybC5zdGFydHNzbC5jb20vY3J0dTItY3JsLmNybDCBjgYIKwYBBQUH AQEEgYEwfzA5BggrBgEFBQcwAYYtaHR0cDovL29jc3Auc3RhcnRzc2wuY29tL3N1Yi9jbGFz czIvY2xpZW50L2NhMEIGCCsGAQUFBzAChjZodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0 cy9zdWIuY2xhc3MyLmNsaWVudC5jYS5jcnQwIwYDVR0SBBwwGoYYaHR0cDovL3d3dy5zdGFy dHNzbC5jb20vMA0GCSqGSIb3DQEBBQUAA4IBAQCFeXbRYRXSXj+qOhO84ZVGZXb6YQ9NEp2A 3nFDOJke+FH2id3lkuWYze89znDRekvta51EhuLtgpwK2AmWQqnN6NoCuAjJNRBZ+/NourxM S8nn+pyFFTXBbErFAHIO6iOZw0voScHJXfodxPfwc5aP5HTWasbszXzG1Q4uwtj6ZcTU5r0a 21Gt5bBb58II39yk8/mWuxI+gTUgbAt67cMvdJGH0aEZc9XTSKSYRp3kXtBeQ23LMJnxAjIo q/Q8vaCMb6EHJ6Kkz0Fdmxjxpqg+Dop1YtgaaDspSY0f2qkrxhwqGpSXfk+Du8YDXqD2nMCi qoQTrGpdI6q2d5i0PM2sMYICiTCCAoUCAQEwgZMwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQK Ew1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT aWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAyIFByaW1hcnkgSW50ZXJtZWRpYXRl IENsaWVudCBDQQICKTswCQYFKw4DAhoFAKCByzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB MBwGCSqGSIb3DQEJBTEPFw0xMzA3MDgxNzI5NDJaMCMGCSqGSIb3DQEJBDEWBBSp4weucVM5 IASlCKMvHRpm39/eKzBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgBZQME AQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIH MA0GCCqGSIb3DQMCAgEoMA0GCSqGSIb3DQEBAQUABIIBAHaoWj/CjXJf1TfekN650kEwojD+ 0HYA3EV5/s6SYHeaOi8ZM1bd6ykJGEd6ehajWoW12jBXq+ibH5QcO6hv49nxMNGpZ5m1dF1w 7yTs3X1ZaZx0A5UfmYMS8Hk2nxgiO/IG0K07CEJiMfggEBP5JdeMdlhmdMJv5TmV+lnIiIeI jH06JJXDVq33qFRdFt0CbaOISDlddXp9/OEtHHp818TiD9Vh12v/jqzD8BxHQr0+zDFoPZPY 2f30Donz/mj/cWWBBmuVCrULgW8fL59BM02MaX6O9BdAb1paBVvAVXy/TkuwzlRPu4yo8rew H2iLVVcdyL+DGqCGqoZiLYAym4kAAAAAAAA= --------------ms090404050901070205030703--