Hello Gerd,
Thank you for the detailed explanation, I never saw the "+" sign but wondered about the reconnection dialog in the source.
If I understand it correctly the status should be a live status because transaction level is changed after connection has been established.
But it shows the initial value: TRANSACTION_READ_COMMITTED
I used the session script plugin but it's not rerun during reconnect.
Then I tried this method in the connection string and failed too.
Is there a workaround in case of a bug in the driver?
Maybe Keep alive (the cause of reconnect): "SELECT 1 FROM [little table]where 1 = 0;"
So this means it's a driver bug returning the incorrect transaction level.
Plan B would be to implement an option for reconnect not to restore the current properties, simple skip the part reading and re-setting dynamic properties. (to get rid of poor drivers like this one which takes readonly but ignores it, no cancel, ...)
//Stefan
https://community.progress.com/s/article/P22446
-----Original Message-----
From: Gerd Wagner <ger...@t-...>
Sent: Samstag, 11. März 2023 03:03
To: Marquardt Stefan <Ste...@ha...>; squ...@li...
Subject: Re: [Squirrel-sql-develop] Reconnect ignores URL settings (4.5.1)
Am 08.03.23 um 07:33 schrieb Ste...@ha...:
> After running a lot of tests I can confirm that the reconnect function
> does NOT create a 100% identical session The Initialization String is not used anymore, need to check the code what reconnect is doing because defaultSchema is still the same after reconnect.
> This is confusing that only a part of the URL seems to be used.
>
> jdbc:datadirect:openedge://localhost:12001;databaseName=test;truncateT
> ooLarge=off;defaultSchema=pub;setQueryTimeout=60;InitializationString=
> (SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED);
>
Could you please check the following:
- Open a new Session
- Click the topmost node in the Object tree
- Select tab "Status" on the right
- What transactionisolationLevel is displayed there?
I suspect it is not "TRANSACTION_READ_UNCOMMITTED". If so please contact your JDBC driver vendor and ask him to return the correct isolation level when java.sql.Connection.getTransactionIsolation() is called.
Some background information:
As long as you don't edit the connection data in the reconnect dialog (see "+"-button) SQuirreL uses exactly the data given in your alias.
But there are some properties that SQuirreL restores in a reconnected connection. Those are
- Isolation level, which is your concern
- Auto commit
- Catalog, when applicable
all these properties are read using standard JDBC API functions as for example java.sql.Connection.getTransactionIsolation().
Gerd
==================================
Hannover Rück SE, Handelsregister (Commercial Register) Hannover HRB 6778 / E+S Rückversicherung AG, Handelsregister (Commercial Register) Hannover HRB 6117; für beide Gesellschaften gilt (applicable to both companies): Karl-Wiechert-Allee 50, 30625 Hannover, Germany; Sitz (registered office) der Gesellschaften: Hannover; Aufsichtsrat (Supervisory Board) Hannover Rück SE: Torsten Leue (Vorsitzender/Chairman). Vorstand (Executive Board) Hannover Rück SE: Jean-Jacques Henchoz (Vorsitzender/Chairman), Sven Althoff, Claude Chèvre, Clemens Jungsthöfel, Dr. Klaus Miller, Sharon Ooi,Dr. Michael Pickel, Silke Sehm; Aufsichtsrat (Supervisory Board) E+S Rückversicherung AG: Torsten Leue; Vorstand (Executive Board) E+S Rückversicherung AG: Dr. Michael Pickel (Vorsitzender/Chairman), Clemens Jungsthöfel, Dr. Klaus Miller
Data privacy notice: We process personal data for our business purposes (e.g. providing reinsurance, reviewing and managing claims, advising insurers). Where the purpose of processing is to deal with other inquiries, the legal basis for processing is Art. 6 (1) f) GDPR (legitimate interest). As the responsible controller under data protection law, we provide information in accordance with the respective legal provisions governing data protection (e.g. further processing purposes, storage period, rights of data subjects):
For Hannover Rück SE: https://www.hannover-re.com/privacy | For E+S Rückversicherung AG: https://www.es-rueck.de/datenschutz-es
Hinweis zum Datenschutz: Wir verarbeiten personenbezogene Daten für unsere Geschäftszwecke (z.B. Angebot von Rückversicherung, Schadenprüfung und -regulierung, Beratung von Versicherungsunternehmen). Erfolgt die Verarbeitung zur Bearbeitung sonstiger Anfragen, ist die Rechtsgrundlage der Verarbeitung Art. 6 Abs. 1 f) DSGVO (berechtigtes Interesse). Als datenschutzrechtlich Verantwortliche informieren wir jeweils gemäß den gesetzlichen Bestimmungen zum Datenschutz (z.B. weitere Verarbeitungszwecke, Speicherdauer, Betroffenenrechte):
Für die Hannover Rück SE: https://www.hannover-rueck.de/datenschutz | Für die E+S Rückversicherung AG: https://www.es-rueck.de/datenschutz-es
|