Hi, In first query you have no lock. In second you have lock on selected records. First query can be run by different users without any lock. After select from second query user acuire lock on selected records
Regards, Karol Bieniaszewski ----- Reply message ----- Od: "Łukasz Bączek" <[email protected]> Do: <[email protected]> Temat: [firebird-support] The difference in queries Data: niedz., mar 9, 2014 21:33 Hi, Inquiries made at isolation level SERIALIZABLE are automatically blocked So, for example, by performing a SQL query : "SELECT * FROM (SELECT sesje.id_sesje , sesje.numer , sesje.data , sesje.rozpatrzona , osoby.imie | | ' ' | | osoby.nazwisko chairman AS FROM LEFT JOIN sessions sesje_eksperci ON sesje.id_sesje = sesje_eksperci.id_sesje AND sesje_eksperci.przewodniczacy = 1 LEFT JOIN person ON osoby.id_osoby = sesje_eksperci.id_osoby sesje.data ORDER BY ASC) WHERE sessions id_sesje = 12 " I have done automatically blockade record , right? So what will be different query: "SELECT * FROM (SELECT sesje.id_sesje , sesje.numer , sesje.data , sesje.rozpatrzona , osoby.imie | | ' ' | | osoby.nazwisko chairman AS FROM LEFT JOIN sessions sesje_eksperci ON sesje.id_sesje = sesje_eksperci.id_sesje AND sesje_eksperci.przewodniczacy = 1 LEFT JOIN person ON osoby.id_osoby = sesje_eksperci.id_osoby sesje.data ORDER BY ASC) WHERE sessions id_sesje = 12 FOR UPDATE WITH LOCK " because both query blocks record . Regards
