ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Firebird ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΎ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π³ΡΡΠΏΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π° ΠΏΠΎΠ΄ ΠΊΠΎΠ½Π΅Ρ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π° ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Π°, Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠΈΠ»ΠΎΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ MGA
MGA (Multi-Generational Architecture, ΠΌΠ½ΠΎΠ³ΠΎΠ²Π΅ΡΡΠΈΠΎΠ½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°) ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Firebird.
Π ΠΌΠΎΠ΄Π΅Π»ΠΈ MGA ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ°, ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΠ°Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π΅Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»Π°. ΠΡΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΠ΅ΡΠ²Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½Π° Π΄ΠΈΡΠΊ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ Π½ΠΎΠ²ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π· ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π² ΡΡΡΠ»ΠΊΡ (Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π΄Π΅Π»ΡΡΠΎΠΉ) Π½Π° ΡΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° "ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ" ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠΎΠΊΠΈ.
ΠΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ COMMIT
Π’Π΅ΡΠΌΠΈΠ½ "ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ°" (post), Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ» Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ Ρ ΡΡΠ°ΡΡΡ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π½Π°Π»ΠΎΠ³Π° ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΠΌΡΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ² Π² Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΡΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π’Π°ΠΊΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°) ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ. ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ. ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ Π² Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ .
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ΅, ΡΠ΅ΡΠ²Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π΅Π³ΠΎ ΡΠΈΠΏΠΎΠΌ. ΠΠ»Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΎΡΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ΅Π³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅Π½Π° Π²ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΠΊ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ Π΅Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ.
! ! !
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΡΠ·ΠΎΠ²Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ COMMIT ΠΈΠ»ΠΈ ROLLBACK ΡΠ²Π»ΡΡΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΎΡΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
. ! .
ΠΡΠΊΠ°Ρ
ΠΡΠΊΠ°Ρ (rollback) Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠ½ ΠΎΡΠΌΠ΅Π½ΠΈΡ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠ΅Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, - ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΡΠΌΠΈ ΠΈ Π½Π΅ Π²ΡΠ·Π²Π°Π»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΡΡΡΠΎΠΊ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΌΠ΅Π½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΡΠ΅Π·Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ, ΠΈ ΠΎΠ±ΡΠ°Π·Ρ ΡΡΡΠΎΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ , Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ½ΠΈΡΡΠΎΠΆΠ°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΡΠΌΠ΅Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ, ΠΎΠ±ΡΠ°Π·Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΌΠ΅Π½Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π·Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅, - ΡΡΠΎ ΠΊΡΠ°Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π½ΠΎ ΡΡΠ΅Π±ΡΡΡ "Π½Π΅ ΠΎΡΠΌΠ΅Π½ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ"[89].
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΡΠΎΠΊΠΈ
Π MGA Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΡΡΠΎΠΊΠΈ. ΠΡΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ - ΡΡΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ "Π²Π»Π°Π΄Π΅Π΅Ρ" Π½ΠΎΠ²ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΡΠ°ΠΌΠ°Ρ Π½ΠΎΠ²Π°Ρ ΠΈΠ· ΡΡΠΈΡ Π²Π»Π°Π΄Π΅ΡΡΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΡΠ»Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π°, ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π΅Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ (ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ).
ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ°ΠΌΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π΅Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ (ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠ°), Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π΅ΠΉ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π΅ΡΠ»ΠΈ Π±ΡΠ»ΠΎ Π·Π°Π΄Π°Π½ΠΎ NOWAIT, ΡΠ΅ΡΠ²Π΅Ρ Π²Π΅ΡΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠ°ΠΌΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π° ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ SNAPSHOT (Ρ. Π΅. ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ), ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ³Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ READ COMMITTED Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ RECORD_VERSION, ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
! ! !
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ READ COMMITTED. ΠΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π»Π°Π΄Π΅Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠΌΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ ΡΠΌ. Π² Π³Π»Π°Π²Π΅ 26, Π³Π΄Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
. ! .
Firebird Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊΠΈ (ΡΠ°ΠΊΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ) - ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΡΠ΅ΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΡΡ.
* ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ. ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π· ΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°.
* ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΡΠΎ "ΠΎΡΡΠ°ΡΠΎΠΊ Π·Π°ΠΏΠΈΡΠΈ" Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΡΡ Π·Π°ΠΏΠΈΡΡ. Π§ΠΈΡΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΡΡΠΊΠ΅ ΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ° ΡΠΌ. Π² ΡΠ°Π·Π΄. "ΠΠΈΠ³ΠΈΠ΅Π½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ " Π³Π»Π°Π²Ρ 15. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΈΡΡΠΊΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π³Π»Π°Π²Π΅ 39.
Π ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ :
* Π»ΡΠ±Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡ Π»ΡΠ±ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π° Π΄ΠΎ ΡΡΠ°ΡΡΠ° ΡΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ;
* Π»ΡΠ±Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ;
* ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° (post) ΠΎΠ±ΡΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ Π΄ΡΡΠ³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°Π»Π° ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ READ COMMITTED ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ;
* Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΡΡΠΏΠ΅ΡΠ½Π°, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ "Π·Π°ΠΌΠΎΠΊ" Π½Π° ΡΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡΡ
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² DSQL: ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² SNAPSHOT TABLE STABILITY (ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΠΌ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, repeatable read) ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½ΡΠΆΠ½Ρ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ½ΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡΡΡ Π΄Π»Ρ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Firebird.
ΠΠ΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡΡ (Firebird 1.5 ΠΈ Π²ΡΡΠ΅) - ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π° Π²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ:
SELECT * FROM ATABLE
FOR UPDATE WITH LOCK;
Π‘ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π»Π°Π΄Π΅Π΅Ρ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ, Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΌΠΈ Ρ ΡΡΠΎΠΉ ΡΠ²Π½ΠΎΠΉ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ. ΠΠΎΠΏΡΠΎΡΡ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π² Π³Π»Π°Π²Π΅ 27.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ "Π΄Π΅Π»ΡΡ" ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π½Π°ΡΡΡΠ°Π΅Ρ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΎΡΡΠΈ.
"Π‘ΡΠ°ΡΠ΅Π½ΠΈΠ΅" ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ
ΠΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (Transaction Inventory Page, TIP).
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈ Π²ΠΎΠ·ΡΠ°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ 32-Π±ΠΈΡΠΎΠ²ΡΠΌ ΡΠ΅Π»ΡΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ ΠΏΡΠΈΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ²Π°Ρ ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π‘Π΅ΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ. ΠΠΎΠ·ΡΠ°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π΅Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ: ΡΠ°ΠΌΠ°Ρ ΡΡΠ°ΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.