ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ²Π»ΡΡΡΡΡ:
* ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΄Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ
POST_EVENT;
* Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ - Π°Π΄ΡΠ΅ΡΠ°Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² POST_EVENT - ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π΅ΠΉ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΡ;
* ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ "ΠΏΠΎΠ»ΠΈΡΠ΅ΠΉΡΠΊΠΈΠΉ- ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ" Π΄Π»Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ.
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠΌΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π½ΡΠΆΠ½ΠΎ:
* ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π² ΡΠΎΠ±ΡΡΠΈΡΡ ;
* Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ DML, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ° ΠΏΠΎΡΡΠΎΠ², ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΎΡ ΠΏΠΎΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΡ 3050). Π‘Π΅ΡΠ²Π΅Ρ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΏΠ°ΡΡ ΠΏΠΎΡΡΠΎΠ² Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°ΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΠ±ΡΡΠΈΡ. ΠΡΠΎ ΠΊΠΎΠ΄ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π΄Π»Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ , ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΠ»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ gpre Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ (ΡΠΌ. ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·Π΄Π΅Π»), ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ESQL, ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ - ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΊ ΠΈ Π΄Π΅Π»Π°ΡΡ - ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ (ΡΠΌ. ΡΠ°Π·Π΄. "ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ" ΠΈ "ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅"). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠΈΠΊΠΎΠΌ (Asynchronous Trap, AST).
! ! !
Π‘ΠΠΠΠ’. ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΌΠ΅ΠΆΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ, Firebird Π²Π΅ΡΡΠΈΠΈ 1.5 ΠΈ Π²ΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ RemoteAuxPort Π firebird.conf.
. ! .
Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅
ΠΠ° ΡΠΈΡ. 32.3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΡΠ·ΡΠΊΠ΅ ESQL Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² EVENT INIT ΠΈ EVENT WAIT. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ SQL Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² SQL. ΠΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ SQL ΡΠ° ΠΆΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² API Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ isc_wait _for_event().
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ESQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ EVENT INIT Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΎΠ½ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΈ EVENT WAIT, ΡΡΠΎ ΠΎΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³Π»Π°Π²Π½ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΊΠ°Π½Π°Π»Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ EVENT WAIT, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡΠΈΠ΄Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠ±ΡΡΠΈΠΈ.
Π ΠΈΡ. 32.3. Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»ΠΈΠ΅Π½Ρ Π² ΡΠ΅ΡΠΈ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ MYTABLE. ΠΠ³ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·Ρ AFTER UPDATE ΡΡΠΈΠ³Π³Π΅Ρ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ big_event Π΄Π»Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ.
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ. Π ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΎ, ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ. Π ΡΠ²ΠΎΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡΠΈΡ ΠΎΠ½ ΠΎΡΡΡΠΊΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ x, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΡΠΎΡΠ΅ΡΡ x Π±ΡΠ΄Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ±ΡΡΠΈΠΉ big_event.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ COMMIT ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎΡΡΠ»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ x ΠΈ Π²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ big_event, ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ big_event ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΎΡΠΏΡΠ°Π²Π»ΡΠ»Π° big event, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π» ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π² big_event, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΎΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ POST_EVENT. ΠΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π²ΡΠ΄Π°Π²ΡΠΈΠ΅ EVENT_WAIT Π΄Π»Ρ big_event, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π» ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π² big_event, Π½ΠΎ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡ Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΏΡΠΎΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ± ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ, Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΎΡΠΌΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ. ΠΡΠ»ΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΡΠΎΠ±ΡΡΠΈΠ΅ big_event Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 15 ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ EVENT INIT. ΠΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ EVENT INIT, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° EVENT INIT Π ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½Π° ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±ΡΠ»ΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΈ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅. Π ΠΈΡ. 32.4 ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΠΈΡΠΆΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ STOCKS Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠΎΠΊΠ΅ΡΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ΅Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π°ΠΊΡΠΈΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Buy (ΠΊΡΠΏΠΈΡΡ) ΠΈΠ»ΠΈ sell (ΠΏΡΠΎΠ΄Π°ΡΡ) ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ DSQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΠ·ΠΎΠ²Ρ API Π΄Π»Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ°ΠΊ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ . Π DSQL Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ Π½ΠΈΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠ², Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π² ΡΠΎΠ±ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΡΡΠ΅ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ (Events Parameter Buffer, EPB), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ isc_event_block(). ΠΠ΄ΠΈΠ½ EPB ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 15 ΡΠΎΠ±ΡΡΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ EPB ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ (Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°) ΡΠΎΠ±ΡΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 15 ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² isc_event_block().
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· API ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΠΎ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ
ΡΡΠ½ΠΊΡΠΈΡ isc_wait_for_event() Π²ΠΌΠ΅ΡΡΠΎ isc_que_event(). ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ Π² ESQL, EVENT WAIT, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΡ isc_wait_for_event() ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°.
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ API isc_que_evento, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ·ΡΠ²Π°Π» Π±Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΡΡΠ»ΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ. ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ Π²Π°Ρ, ΠΈΠ»ΠΈ AST.
Π€ΡΠ½ΠΊΡΠΈΡ AST ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΌΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΠ»Π°Π³ΠΎΠ² Π΄Π»Ρ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊ Π½Π΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Π±ΡΡΠ΅ΡΠ°Ρ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ. Π€ΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
* ΠΊΠΎΠΏΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ;
* Π΄Π»ΠΈΠ½Ρ Π±ΡΡΠ΅ΡΠ° events_list;
* ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Π±ΡΡΠ΅Ρ events_iist.
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ InterBase API Guide[128] ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ AST.
Π€ΡΠ½ΠΊΡΠΈΡ isc_event_biock() ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ isc caiiback ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ AST ΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ event_function_arg- ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ AST. ΠΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ isc_que_events ΠΎ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° AST. ΠΠ΄ΠΈΠ½ Π²ΡΠ·ΠΎΠ² isc_que_events() ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΠΎ 15 ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ isc_event_counts() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ.
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² isc que eventso ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ isc_cancel_events().
! ! !
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· isc_event_wait() ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅. Π‘ΠΎΠ±ΡΡΠΈΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅ isc_que_events(). Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ AST.
. ! .
Π ΡΡΠ°ΡΡΡΡ, ΠΏΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠ· Π½Π°Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΊΠ»Π°ΡΡΠ°Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Firebird. Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ AST, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ API isc_event* Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°ΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅, ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ (event alerter). ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ Π² ΡΠΎΡΡΠΌΠ°Ρ ΠΈ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΈΠ³Π³Π΅ΡΡ ΠΈ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅ POST_EVENT, ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.