[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#7638) Handle connection loss in SQL backend



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--